summaryrefslogtreecommitdiff
path: root/modules/protocol/inspircd12.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-09-08 21:53:06 -0400
committerAdam <Adam@anope.org>2013-09-08 21:53:06 -0400
commit339f41aebcad011d53da63b0d681a8353226a868 (patch)
treeb4abd90375d05bc77322640236c149ec380b1866 /modules/protocol/inspircd12.cpp
parent55e4ef9d3a5dc7e3b616e1369aac01ea1c76780d (diff)
Fix allowing duplicate entries on the snline list
Have proto mods recognize cidr ranges as zlineable IPs Remove operserv/global from global.conf because its dumb Fix example config ~botserv/set example to work as expected
Diffstat (limited to 'modules/protocol/inspircd12.cpp')
-rw-r--r--modules/protocol/inspircd12.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp
index 023325c02..5e58a7704 100644
--- a/modules/protocol/inspircd12.cpp
+++ b/modules/protocol/inspircd12.cpp
@@ -118,7 +118,18 @@ class InspIRCd12Proto : public IRCDProto
else if (x->IsRegex() || x->HasNickOrReal())
return;
- SendDelLine("G", x->mask);
+ /* ZLine if we can instead */
+ if (x->GetUser() == "*")
+ {
+ cidr addr(x->GetHost());
+ if (addr.valid())
+ {
+ IRCD->SendSZLineDel(x);
+ return;
+ }
+ }
+
+ SendDelLine("G", x->GetUser() + "@" + x->GetHost());
}
void SendTopic(const MessageSource &source, Channel *c) anope_override
@@ -192,7 +203,7 @@ class InspIRCd12Proto : public IRCDProto
/* ZLine if we can instead */
if (x->GetUser() == "*")
{
- sockaddrs addr(x->GetHost());
+ cidr addr(x->GetHost());
if (addr.valid())
{
IRCD->SendSZLine(u, x);