diff options
Diffstat (limited to 'modules/protocol')
| -rw-r--r-- | modules/protocol/bahamut.cpp | 3 | ||||
| -rw-r--r-- | modules/protocol/inspircd12.cpp | 3 | ||||
| -rw-r--r-- | modules/protocol/ngircd.cpp | 3 | ||||
| -rw-r--r-- | modules/protocol/plexus.cpp | 9 | ||||
| -rw-r--r-- | modules/protocol/ratbox.cpp | 6 | ||||
| -rw-r--r-- | modules/protocol/unreal.cpp | 3 |
6 files changed, 25 insertions, 2 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index c9ad9c5fd..633b6cab3 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -178,6 +178,9 @@ class BahamutIRCdProto : public IRCDProto BotInfo *setter = BotInfo::Find(user->nick); for (size_t i = 0; i < cs.Modes().length(); ++i) c->SetMode(setter, ModeManager::FindChannelModeByChar(cs.Modes()[i]), user->GetUID(), false); + + if (uc != NULL) + uc->status = cs; } } diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index 40cb465a1..023325c02 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -261,6 +261,9 @@ class InspIRCd12Proto : public IRCDProto BotInfo *setter = BotInfo::Find(user->nick); for (size_t i = 0; i < cs.Modes().length(); ++i) c->SetMode(setter, ModeManager::FindChannelModeByChar(cs.Modes()[i]), user->GetUID(), false); + + if (uc != NULL) + uc->status = cs; } } diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp index d32d87a73..639688e70 100644 --- a/modules/protocol/ngircd.cpp +++ b/modules/protocol/ngircd.cpp @@ -98,6 +98,9 @@ class ngIRCdProto : public IRCDProto BotInfo *setter = BotInfo::Find(user->nick); for (size_t i = 0; i < cs.Modes().length(); ++i) c->SetMode(setter, ModeManager::FindChannelModeByChar(cs.Modes()[i]), user->GetUID(), false); + + if (uc != NULL) + uc->status = cs; } } diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index 37516d928..57a2f4669 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -36,7 +36,6 @@ class PlexusProto : public IRCDProto void SendGlobalNotice(BotInfo *bi, const Server *dest, const Anope::string &msg) anope_override { hybrid->SendGlobalNotice(bi, dest, msg); } void SendGlobalPrivmsg(BotInfo *bi, const Server *dest, const Anope::string &msg) anope_override { hybrid->SendGlobalPrivmsg(bi, dest, msg); } - void SendGlobopsInternal(const MessageSource &source, const Anope::string &buf) anope_override { hybrid->SendGlobopsInternal(source, buf); } void SendSQLine(User *u, const XLine *x) anope_override { hybrid->SendSQLine(u, x); } void SendSQLineDel(const XLine *x) anope_override { hybrid->SendSQLineDel(x); } void SendSGLineDel(const XLine *x) anope_override { hybrid->SendSGLineDel(x); } @@ -48,6 +47,11 @@ class PlexusProto : public IRCDProto void SendSVSHold(const Anope::string &nick, time_t t) anope_override { hybrid->SendSVSHold(nick, t); } void SendSVSHoldDel(const Anope::string &nick) anope_override { hybrid->SendSVSHoldDel(nick); } + void SendGlobopsInternal(const MessageSource &source, const Anope::string &buf) anope_override + { + UplinkSocket::Message(source) << "OPERWALL :" << buf; + } + void SendJoin(User *user, Channel *c, const ChannelStatus *status) anope_override { UplinkSocket::Message(Me) << "SJOIN " << c->creation_time << " " << c->name << " +" << c->GetModes(true, true) << " :" << user->GetUID(); @@ -65,6 +69,9 @@ class PlexusProto : public IRCDProto BotInfo *setter = BotInfo::Find(user->nick); for (size_t i = 0; i < cs.Modes().length(); ++i) c->SetMode(setter, ModeManager::FindChannelModeByChar(cs.Modes()[i]), user->GetUID(), false); + + if (uc != NULL) + uc->status = cs; } } diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index dc6cef168..7a3cc00f6 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -30,7 +30,6 @@ class RatboxProto : public IRCDProto void SendGlobalNotice(BotInfo *bi, const Server *dest, const Anope::string &msg) anope_override { hybrid->SendGlobalNotice(bi, dest, msg); } void SendGlobalPrivmsg(BotInfo *bi, const Server *dest, const Anope::string &msg) anope_override { hybrid->SendGlobalPrivmsg(bi, dest, msg); } - void SendGlobopsInternal(const MessageSource &source, const Anope::string &buf) anope_override { hybrid->SendGlobopsInternal(source, buf); } void SendSQLine(User *u, const XLine *x) anope_override { hybrid->SendSQLine(u, x); } void SendSGLine(User *u, const XLine *x) anope_override { hybrid->SendSGLine(u, x); } void SendSGLineDel(const XLine *x) anope_override { hybrid->SendSGLineDel(x); } @@ -44,6 +43,11 @@ class RatboxProto : public IRCDProto void SendTopic(const MessageSource &source, Channel *c) anope_override { hybrid->SendTopic(source, c); } bool IsIdentValid(const Anope::string &ident) anope_override { return hybrid->IsIdentValid(ident); } + void SendGlobopsInternal(const MessageSource &source, const Anope::string &buf) anope_override + { + UplinkSocket::Message(source) << "OPERWALL :" << buf; + } + void SendConnect() anope_override { UplinkSocket::Message() << "PASS " << Config->Uplinks[Anope::CurrentUplink].password << " TS 6 :" << Me->GetSID(); diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp index 8e86ad729..17dca20a6 100644 --- a/modules/protocol/unreal.cpp +++ b/modules/protocol/unreal.cpp @@ -171,6 +171,9 @@ class UnrealIRCdProto : public IRCDProto BotInfo *setter = BotInfo::Find(user->nick); for (size_t i = 0; i < cs.Modes().length(); ++i) c->SetMode(setter, ModeManager::FindChannelModeByChar(cs.Modes()[i]), user->GetUID(), false); + + if (uc != NULL) + uc->status = cs; } } |
