* ---------------------------------------------------
*/
-/* $Core: libIRCDxline */
+/* $Core */
#include "inspircd.h"
-#include "wildcard.h"
#include "xline.h"
#include "bancache.h"
return &(n->second);
}
+void XLineManager::DelAll(const std::string &type)
+{
+ ContainerIter n = lookup_lines.find(type);
+
+ if (n == lookup_lines.end())
+ return;
+
+ LookupIter x;
+
+ /* Delete all of a given type (this should probably use DelLine, but oh well) */
+ while ((x = n->second.begin()) != n->second.end())
+ {
+ ExpireLine(n, x);
+ }
+}
+
std::vector<std::string> XLineManager::GetAllTypes()
{
std::vector<std::string> items;
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;
}
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;
}
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;
}
if (u->exempt)
return false;
- if (match(u->GetIPString(), this->ipaddr, true))
+ if (InspIRCd::MatchCIDR(u->GetIPString(), this->ipaddr))
return true;
else
return false;
if (u->exempt)
return false;
- if (match(u->nick, this->nick))
+ if (InspIRCd::Match(u->nick, this->nick))
return true;
return false;
bool ZLine::Matches(const std::string &str)
{
- if (match(str, this->ipaddr, true))
+ if (InspIRCd::MatchCIDR(str, this->ipaddr))
return true;
else
return false;
bool QLine::Matches(const std::string &str)
{
- if (match(str, this->nick))
+ if (InspIRCd::Match(str, this->nick))
return true;
return false;
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()