summaryrefslogtreecommitdiff
path: root/modules/protocol
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
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')
-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);