From dcb3ff7d343f4ac2db55def9895ed459c1e3f417 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 14 Sep 2013 04:18:56 -0400 Subject: [PATCH] Dont send BURST twice on inspircd Drop matching nicks on forbid. --- modules/commands/os_forbid.cpp | 20 ++++++++++++++++++++ modules/protocol/inspircd12.cpp | 7 ++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/modules/commands/os_forbid.cpp b/modules/commands/os_forbid.cpp index 0099348b0..ec498a3ba 100644 --- a/modules/commands/os_forbid.cpp +++ b/modules/commands/os_forbid.cpp @@ -172,9 +172,29 @@ class CommandOSForbid : public Command switch (ftype) { case FT_NICK: + { + int na_matches = 0; + for (user_map::const_iterator it = UserListByNick.begin(); it != UserListByNick.end(); ++it) module->OnUserNickChange(it->second, ""); + + for (nickalias_map::const_iterator it = NickAliasList->begin(), it_end = NickAliasList->end(); it != it_end;) + { + NickAlias *na = it->second; + ++it; + + d = this->fs->FindForbid(na->nick, FT_NICK); + if (d == NULL) + continue; + + ++na_matches; + + delete na; + } + + source.Reply(_("\2%d\2 nicknames dropped."), na_matches); break; + } case FT_CHAN: { int chan_matches = 0, ci_matches = 0; diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index 5e58a7704..ab32f76a7 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -294,8 +294,6 @@ class InspIRCd12Proto : public IRCDProto SendAddLine("Q", x->mask, timeleft, x->by, x->GetReason()); } - /* Functions that use serval cmd functions */ - void SendVhost(User *u, const Anope::string &vIdent, const Anope::string &vhost) anope_override { if (!vIdent.empty()) @@ -307,9 +305,6 @@ class InspIRCd12Proto : public IRCDProto void SendConnect() anope_override { SendServer(Me); - UplinkSocket::Message(Me) << "BURST"; - Module *enc = ModuleManager::FindFirstOf(ENCRYPTION); - UplinkSocket::Message(Me) << "VERSION :Anope-" << Anope::Version() << " " << Me->GetName() << " :" << IRCD->GetProtocolName() << " - (" << (enc ? enc->name : "none") << ") -- " << Anope::VersionBuildString(); } /* SVSHOLD - set */ @@ -363,6 +358,8 @@ class InspIRCd12Proto : public IRCDProto void SendBOB() anope_override { UplinkSocket::Message(Me) << "BURST " << Anope::CurTime; + Module *enc = ModuleManager::FindFirstOf(ENCRYPTION); + UplinkSocket::Message(Me) << "VERSION :Anope-" << Anope::Version() << " " << Me->GetName() << " :" << IRCD->GetProtocolName() << " - (" << (enc ? enc->name : "none") << ") -- " << Anope::VersionBuildString(); } void SendEOB() anope_override