diff options
Diffstat (limited to 'modules/protocol')
| -rw-r--r-- | modules/protocol/bahamut.cpp | 4 | ||||
| -rw-r--r-- | modules/protocol/inspircd12.cpp | 15 | ||||
| -rw-r--r-- | modules/protocol/unreal.cpp | 4 |
3 files changed, 17 insertions, 6 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index 633b6cab3..629cb443d 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -137,7 +137,7 @@ class BahamutIRCdProto : public IRCDProto /* ZLine if we can instead */ if (x->GetUser() == "*") { - sockaddrs a(x->GetHost()); + cidr a(x->GetHost()); if (a.valid()) { IRCD->SendSZLineDel(x); @@ -212,7 +212,7 @@ class BahamutIRCdProto : public IRCDProto /* ZLine if we can instead */ if (x->GetUser() == "*") { - sockaddrs a(x->GetHost()); + cidr a(x->GetHost()); if (a.valid()) { IRCD->SendSZLine(u, x); 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); diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp index 17dca20a6..67462432d 100644 --- a/modules/protocol/unreal.cpp +++ b/modules/protocol/unreal.cpp @@ -47,7 +47,7 @@ class UnrealIRCdProto : public IRCDProto /* ZLine if we can instead */ if (x->GetUser() == "*") { - sockaddrs a(x->GetHost()); + cidr a(x->GetHost()); if (a.valid()) { IRCD->SendSZLineDel(x); @@ -111,7 +111,7 @@ class UnrealIRCdProto : public IRCDProto /* ZLine if we can instead */ if (x->GetUser() == "*") { - sockaddrs a(x->GetHost()); + cidr a(x->GetHost()); if (a.valid()) { IRCD->SendSZLine(u, x); |
