summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-02-16 03:59:28 -0500
committerAdam <Adam@anope.org>2013-02-16 03:59:28 -0500
commit3ab6706993a50b7c65b9007ead7d13a9ce3010e6 (patch)
tree3da63bde81eaf6cffe44ce09b6752773635e051f
parentc40e9c3996bb8cdbb1d5ee4829ae40157d57c855 (diff)
InsIRCd only sends QUIT on KILL for users 1 hop from us, so always internally kill users that we kill. Bug #1481
-rw-r--r--modules/protocol/inspircd12.cpp6
-rw-r--r--modules/protocol/inspircd20.cpp1
2 files changed, 7 insertions, 0 deletions
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp
index 55ab40cd8..f42b97696 100644
--- a/modules/protocol/inspircd12.cpp
+++ b/modules/protocol/inspircd12.cpp
@@ -35,6 +35,12 @@ class ChannelModeFlood : public ChannelModeParam
class InspIRCd12Proto : public IRCDProto
{
private:
+ void SendSVSKillInternal(const BotInfo *source, User *user, const Anope::string &buf) anope_override
+ {
+ IRCDProto::SendSVSKillInternal(source, user, buf);
+ user->KillInternal(source ? source->nick : Me->GetName(), buf);
+ }
+
void SendChgIdentInternal(const Anope::string &nick, const Anope::string &vIdent)
{
if (!Servers::Capab.count("CHGIDENT"))
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 9815438fa..32e1a76c1 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -43,6 +43,7 @@ class InspIRCd20Proto : public IRCDProto
insp12->SendConnect();
}
+ void SendSVSKillInternal(const BotInfo *source, User *user, const Anope::string &buf) anope_override { insp12->SendSVSKillInternal(source, user, buf); }
void SendGlobalNotice(const BotInfo *bi, const Server *dest, const Anope::string &msg) anope_override { insp12->SendGlobalNotice(bi, dest, msg); }
void SendGlobalPrivmsg(const BotInfo *bi, const Server *dest, const Anope::string &msg) anope_override { insp12->SendGlobalPrivmsg(bi, dest, msg); }
void SendAkillDel(const XLine *x) anope_override { insp12->SendAkillDel(x); }