diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-08-21 20:56:16 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-08-21 20:56:16 +0000 |
commit | c16cda5d715241bb4bff8050bee942a8a34a72c0 (patch) | |
tree | 145095fad6904382ecf6775dedc5c981d406a61a /src/xline.cpp | |
parent | 5e3bfa266bd99ac15fd621c6e14d12787ba22f6e (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.cpp | 30 |
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() |