]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/xline.cpp
Fix bug discovered by Ankit, m_rline loaded without regex provider causes segfault...
[user/henk/code/inspircd.git] / src / xline.cpp
index 0878ec286e5c412bde4d87bd66d4d74ab5b8c0d8..0c6965fe31b03b7f8aaac6b1a30c5be035ae180f 100644 (file)
  * ---------------------------------------------------
  */
 
-/* $Core: libIRCDxline */
+/* $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))
        {
-               if ((match(u->host, this->hostmask, true)) || (match(u->GetIPString(), this->hostmask, true)))
+               if (InspIRCd::MatchCIDR(u->host, this->hostmask) ||
+                   InspIRCd::MatchCIDR(u->GetIPString(), this->hostmask))
                {
                        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))
        {
-               if ((match(u->host, this->hostmask, true)) || (match(u->GetIPString(), this->hostmask, true)))
+               if (InspIRCd::MatchCIDR(u->host, this->hostmask) ||
+                   InspIRCd::MatchCIDR(u->GetIPString(), this->hostmask))
                {
                        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))
        {
-               if ((match(u->host, this->hostmask, true)) || (match(u->GetIPString(), this->hostmask, true)))
+               if (InspIRCd::MatchCIDR(u->host, this->hostmask) ||
+                   InspIRCd::MatchCIDR(u->GetIPString(), this->hostmask))
                {
                        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))
                return true;
        else
                return false;
@@ -530,10 +532,7 @@ void ZLine::Apply(User* u)
 
 bool QLine::Matches(User *u)
 {
-       if (u->exempt)
-               return false;
-
-       if (match(u->nick, this->nick))
+       if (InspIRCd::Match(u->nick, this->nick))
                return true;
 
        return false;
@@ -548,7 +547,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))
                return true;
        else
                return false;
@@ -556,7 +555,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))
                return true;
 
        return false;
@@ -564,17 +563,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));
 }
 
 bool KLine::Matches(const std::string &str)
 {
-       return ((match(str.c_str(), matchtext, true)));
+       return (InspIRCd::MatchCIDR(str.c_str(), matchtext));
 }
 
 bool GLine::Matches(const std::string &str)
 {
-       return ((match(str, matchtext, true)));
+       return (InspIRCd::MatchCIDR(str, matchtext));
 }
 
 void ELine::OnAdd()