summaryrefslogtreecommitdiff
path: root/modules/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol')
-rw-r--r--modules/protocol/bahamut.cpp4
-rw-r--r--modules/protocol/inspircd12.cpp15
-rw-r--r--modules/protocol/unreal.cpp4
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);