summaryrefslogtreecommitdiff
path: root/src/xline.cpp
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-08-21 20:56:16 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-08-21 20:56:16 +0000
commitc16cda5d715241bb4bff8050bee942a8a34a72c0 (patch)
tree145095fad6904382ecf6775dedc5c981d406a61a /src/xline.cpp
parent5e3bfa266bd99ac15fd621c6e14d12787ba22f6e (diff)
match() is no longer a function+no header, now a static method of InspIRCd class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/xline.cpp')
-rw-r--r--src/xline.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/xline.cpp b/src/xline.cpp
index 8843b9989..53493b59e 100644
--- a/src/xline.cpp
+++ b/src/xline.cpp
@@ -14,7 +14,6 @@
/* $Core */
#include "inspircd.h"
-#include "wildcard.h"
#include "xline.h"
#include "bancache.h"
@@ -458,9 +457,10 @@ bool KLine::Matches(User *u)
if (u->exempt)
return false;
- if ((match(u->ident, this->identmask)))
+ if (InspIRCd::Match(u->ident, this->identmask, NULL))
{
- if ((match(u->host, this->hostmask, true)) || (match(u->GetIPString(), this->hostmask, true)))
+ if (InspIRCd::MatchCIDR(u->host, this->hostmask, NULL) ||
+ InspIRCd::MatchCIDR(u->GetIPString(), this->hostmask, NULL))
{
return true;
}
@@ -479,9 +479,10 @@ bool GLine::Matches(User *u)
if (u->exempt)
return false;
- if ((match(u->ident, this->identmask)))
+ if (InspIRCd::Match(u->ident, this->identmask, NULL))
{
- if ((match(u->host, this->hostmask, true)) || (match(u->GetIPString(), this->hostmask, true)))
+ if (InspIRCd::MatchCIDR(u->host, this->hostmask, NULL) ||
+ InspIRCd::MatchCIDR(u->GetIPString(), this->hostmask, NULL))
{
return true;
}
@@ -500,9 +501,10 @@ bool ELine::Matches(User *u)
if (u->exempt)
return false;
- if ((match(u->ident, this->identmask)))
+ if (InspIRCd::Match(u->ident, this->identmask, NULL))
{
- if ((match(u->host, this->hostmask, true)) || (match(u->GetIPString(), this->hostmask, true)))
+ if (InspIRCd::MatchCIDR(u->host, this->hostmask, NULL) ||
+ InspIRCd::MatchCIDR(u->GetIPString(), this->hostmask, NULL))
{
return true;
}
@@ -516,7 +518,7 @@ bool ZLine::Matches(User *u)
if (u->exempt)
return false;
- if (match(u->GetIPString(), this->ipaddr, true))
+ if (InspIRCd::MatchCIDR(u->GetIPString(), this->ipaddr, NULL))
return true;
else
return false;
@@ -533,7 +535,7 @@ bool QLine::Matches(User *u)
if (u->exempt)
return false;
- if (match(u->nick, this->nick))
+ if (InspIRCd::Match(u->nick, this->nick, lowermap))
return true;
return false;
@@ -548,7 +550,7 @@ void QLine::Apply(User* u)
bool ZLine::Matches(const std::string &str)
{
- if (match(str, this->ipaddr, true))
+ if (InspIRCd::MatchCIDR(str, this->ipaddr, NULL))
return true;
else
return false;
@@ -556,7 +558,7 @@ bool ZLine::Matches(const std::string &str)
bool QLine::Matches(const std::string &str)
{
- if (match(str, this->nick))
+ if (InspIRCd::Match(str, this->nick, lowermap))
return true;
return false;
@@ -564,17 +566,17 @@ bool QLine::Matches(const std::string &str)
bool ELine::Matches(const std::string &str)
{
- return ((match(str, matchtext, true)));
+ return (InspIRCd::MatchCIDR(str, matchtext, NULL));
}
bool KLine::Matches(const std::string &str)
{
- return ((match(str.c_str(), matchtext, true)));
+ return (InspIRCd::MatchCIDR(str.c_str(), matchtext, NULL));
}
bool GLine::Matches(const std::string &str)
{
- return ((match(str, matchtext, true)));
+ return (InspIRCd::MatchCIDR(str, matchtext, NULL));
}
void ELine::OnAdd()