summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/actions.c2
-rw-r--r--src/channels.c6
-rw-r--r--src/chanserv.c6
-rw-r--r--src/core/bs_badwords.c2
-rw-r--r--src/core/cs_access.c2
-rw-r--r--src/core/cs_akick.c10
-rw-r--r--src/core/cs_list.c4
-rw-r--r--src/core/cs_xop.c2
-rw-r--r--src/core/hs_list.c2
-rw-r--r--src/core/ns_access.c4
-rw-r--r--src/core/ns_list.c4
-rw-r--r--src/core/os_admin.c2
-rw-r--r--src/core/os_akill.c4
-rw-r--r--src/core/os_chanlist.c2
-rw-r--r--src/core/os_noop.c2
-rw-r--r--src/core/os_oper.c2
-rw-r--r--src/core/os_session.c4
-rw-r--r--src/core/os_sgline.c4
-rw-r--r--src/core/os_sqline.c4
-rw-r--r--src/core/os_szline.c4
-rw-r--r--src/core/os_userlist.c2
-rw-r--r--src/language.c2
-rw-r--r--src/misc.c28
-rw-r--r--src/nickserv.c4
-rw-r--r--src/operserv.c40
-rw-r--r--src/process.c2
-rw-r--r--src/sessions.c6
-rw-r--r--src/users.c14
-rw-r--r--src/wildcard.cpp162
29 files changed, 152 insertions, 180 deletions
diff --git a/src/actions.c b/src/actions.c
index 6b96c66fa..f83b67160 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -95,7 +95,7 @@ void sqline(char *mask, char *reason)
for (c = chanlist[i]; c; c = next) {
next = c->next;
- if (!match_wild_nocase(mask, c->name)) {
+ if (!Anope::Match(mask, c->name, false)) {
continue;
}
for (cu = c->users; cu; cu = cunext) {
diff --git a/src/channels.c b/src/channels.c
index d7e97d62f..06eacb612 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -2154,13 +2154,13 @@ int entry_match(Entry * e, const char *nick, const char *user, const char *host,
&& (!user || stricmp(e->host, host) != 0))
return 0;
if ((e->type & ENTRYTYPE_NICK_WILD)
- && !match_wild_nocase(e->nick, nick))
+ && !Anope::Match(e->nick, nick, false))
return 0;
if ((e->type & ENTRYTYPE_USER_WILD)
- && !match_wild_nocase(e->user, user))
+ && !Anope::Match(e->user, user, false))
return 0;
if ((e->type & ENTRYTYPE_HOST_WILD)
- && !match_wild_nocase(e->host, host))
+ && !Anope::Match(e->host, host, false))
return 0;
return 1;
diff --git a/src/chanserv.c b/src/chanserv.c
index 393a5831b..26823a710 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -2202,11 +2202,11 @@ AutoKick *is_stuck(ChannelInfo * ci, const char *mask)
|| !(akick->flags & AK_STUCK))
continue;
/* Example: mask = *!*@*.org and akick->u.mask = *!*@*.anope.org */
- if (match_wild_nocase(mask, akick->u.mask))
+ if (Anope::Match(mask, akick->u.mask, false))
return akick;
if (ircd->reversekickcheck) {
/* Example: mask = *!*@irc.anope.org and akick->u.mask = *!*@*.anope.org */
- if (match_wild_nocase(akick->u.mask, mask))
+ if (Anope::Match(akick->u.mask, mask, false))
return akick;
}
}
@@ -2240,7 +2240,7 @@ void stick_mask(ChannelInfo * ci, AutoKick * akick)
if (ircd->reversekickcheck) {
/* If akick is wider than a ban already in place.
Example: c->bans[i] = *!*@irc.epona.org and akick->u.mask = *!*@*.epona.org */
- if (match_wild_nocase(akick->u.mask, ban->mask))
+ if (Anope::Match(akick->u.mask, ban->mask, false))
return;
}
}
diff --git a/src/core/bs_badwords.c b/src/core/bs_badwords.c
index 1b7007745..a342e0c09 100644
--- a/src/core/bs_badwords.c
+++ b/src/core/bs_badwords.c
@@ -44,7 +44,7 @@ class CommandBSBadwords : public Command
if (!(ci->badwords[i].in_use))
continue;
if (word && ci->badwords[i].word
- && !match_wild_nocase(word, ci->badwords[i].word))
+ && !Anope::Match(word, ci->badwords[i].word, false))
continue;
badwords_list(u, i, ci, &sent_header);
}
diff --git a/src/core/cs_access.c b/src/core/cs_access.c
index ec58b75ea..0d3bc9ea0 100644
--- a/src/core/cs_access.c
+++ b/src/core/cs_access.c
@@ -335,7 +335,7 @@ class CommandCSAccess : public Command
} else {
for (i = 0; i < ci->accesscount; i++) {
if (nick && ci->access[i].nc
- && !match_wild_nocase(nick, ci->access[i].nc->display))
+ && !Anope::Match(nick, ci->access[i].nc->display, false))
continue;
access_list(u, i, ci, &sent_header);
}
diff --git a/src/core/cs_akick.c b/src/core/cs_akick.c
index a0efdc067..0f360f009 100644
--- a/src/core/cs_akick.c
+++ b/src/core/cs_akick.c
@@ -264,7 +264,7 @@ class CommandCSAKick : public Command
if (na2->nc && ((na2->nc == ci->founder) || (get_access_nc(na2->nc, ci)
>= get_access(u, ci)))) {
snprintf(buf, BUFSIZE, "%s!%s", na2->nick, na2->last_usermask);
- if (match_wild_nocase(mask, buf)) {
+ if (Anope::Match(mask, buf, false)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
delete [] mask;
return MOD_CONT;
@@ -536,10 +536,10 @@ class CommandCSAKick : public Command
continue;
if (mask) {
if (!(akick->flags & AK_ISNICK)
- && !match_wild_nocase(mask, akick->u.mask))
+ && !Anope::Match(mask, akick->u.mask, false))
continue;
if ((akick->flags & AK_ISNICK)
- && !match_wild_nocase(mask, akick->u.nc->display))
+ && !Anope::Match(mask, akick->u.nc->display, false))
continue;
}
akick_list(u, i, ci, &sent_header);
@@ -565,10 +565,10 @@ class CommandCSAKick : public Command
continue;
if (mask) {
if (!(akick->flags & AK_ISNICK)
- && !match_wild_nocase(mask, akick->u.mask))
+ && !Anope::Match(mask, akick->u.mask, false))
continue;
if ((akick->flags & AK_ISNICK)
- && !match_wild_nocase(mask, akick->u.nc->display))
+ && !Anope::Match(mask, akick->u.nc->display, false))
continue;
}
akick_view(u, i, ci, &sent_header);
diff --git a/src/core/cs_list.c b/src/core/cs_list.c
index f4ccc843a..bb3244cc2 100644
--- a/src/core/cs_list.c
+++ b/src/core/cs_list.c
@@ -136,8 +136,8 @@ public:
if ((stricmp(pattern, ci->name) == 0)
|| (stricmp(spattern, ci->name) == 0)
- || match_wild_nocase(pattern, ci->name)
- || match_wild_nocase(spattern, ci->name))
+ || Anope::Match(pattern, ci->name, false)
+ || Anope::Match(spattern, ci->name, false))
{
if ((((count + 1 >= from) && (count + 1 <= to))
|| ((from == 0) && (to == 0)))
diff --git a/src/core/cs_xop.c b/src/core/cs_xop.c
index 569ea3cdc..2fa830bd2 100644
--- a/src/core/cs_xop.c
+++ b/src/core/cs_xop.c
@@ -354,7 +354,7 @@ class XOPBase : public Command
{
for (int i = 0; i < ci->accesscount; ++i)
{
- if (nick && ci->access[i].nc && !match_wild_nocase(nick, ci->access[i].nc->display))
+ if (nick && ci->access[i].nc && !Anope::Match(nick, ci->access[i].nc->display, false))
continue;
xop_list(u, i, ci, &sent_header, level, messages[XOP_LIST_HEADER]);
}
diff --git a/src/core/hs_list.c b/src/core/hs_list.c
index 21ca61689..3dfa52506 100644
--- a/src/core/hs_list.c
+++ b/src/core/hs_list.c
@@ -94,7 +94,7 @@ class CommandHSList : public Command
{
if (key)
{
- if ((match_wild_nocase(key, current->nick) || match_wild_nocase(key, current->vHost)) && display_counter < NSListMax)
+ if ((Anope::Match(key, current->nick, false) || Anope::Match(key, current->vHost, false)) && display_counter < NSListMax)
{
++display_counter;
tm = localtime(&current->time);
diff --git a/src/core/ns_access.c b/src/core/ns_access.c
index e8e43b298..f1a1749d1 100644
--- a/src/core/ns_access.c
+++ b/src/core/ns_access.c
@@ -49,7 +49,7 @@ class CommandNSAccess : public Command
notice_lang(s_NickServ, u, NICK_ACCESS_LIST_X, params[1].c_str());
for (access = nc->access, i = 0; i < nc->accesscount; ++access, ++i)
{
- if (mask && !match_wild(mask, *access))
+ if (mask && !Anope::Match(mask, *access, true))
continue;
u->SendMessage(s_NickServ, " %s", *access);
}
@@ -143,7 +143,7 @@ class CommandNSAccess : public Command
notice_lang(s_NickServ, u, NICK_ACCESS_LIST);
for (access = nc->access, i = 0; i < nc->accesscount; ++access, ++i)
{
- if (mask && !match_wild(mask, *access))
+ if (mask && !Anope::Match(mask, *access, true))
continue;
u->SendMessage(s_NickServ, " %s", *access);
}
diff --git a/src/core/ns_list.c b/src/core/ns_list.c
index 407d1bcd1..7ab2639de 100644
--- a/src/core/ns_list.c
+++ b/src/core/ns_list.c
@@ -143,7 +143,7 @@ class CommandNSList : public Command
* Instead we build a nice nick!user@host buffer to compare.
* The output is then generated separately. -TheShadow */
snprintf(buf, sizeof(buf), "%s!%s", na->nick, na->last_usermask && !(na->status & NS_FORBIDDEN) ? na->last_usermask : "*@*");
- if (!stricmp(pattern, na->nick) || match_wild_nocase(pattern, buf))
+ if (!stricmp(pattern, na->nick) || Anope::Match(pattern, buf, false))
{
if (((count + 1 >= from && count + 1 <= to) || (!from && !to)) && ++nnicks <= NSListMax)
{
@@ -175,7 +175,7 @@ class CommandNSList : public Command
for (nr = nrlists[i]; nr; nr = nr->next)
{
snprintf(buf, sizeof(buf), "%s!*@*", nr->nick);
- if (!stricmp(pattern, nr->nick) || match_wild_nocase(pattern, buf))
+ if (!stricmp(pattern, nr->nick) || Anope::Match(pattern, buf, false))
{
if (++nnicks <= NSListMax)
{
diff --git a/src/core/os_admin.c b/src/core/os_admin.c
index 06391e498..9dc103b99 100644
--- a/src/core/os_admin.c
+++ b/src/core/os_admin.c
@@ -180,7 +180,7 @@ class CommandOSAdmin : public Command
int i;
for (i = 0; i < servadmins.count; ++i) {
- if (!stricmp(nick, (static_cast<NickCore *>(servadmins.list[i]))->display) || match_wild_nocase(nick, (static_cast<NickCore *>(servadmins.list[i]))->display))
+ if (!stricmp(nick, (static_cast<NickCore *>(servadmins.list[i]))->display) || Anope::Match(nick, (static_cast<NickCore *>(servadmins.list[i]))->display, false))
admin_list(i + 1, static_cast<NickCore *>(servadmins.list[i]), u, &sent_header);
}
diff --git a/src/core/os_akill.c b/src/core/os_akill.c
index 7d5947db7..8f12e2ff0 100644
--- a/src/core/os_akill.c
+++ b/src/core/os_akill.c
@@ -225,7 +225,7 @@ class CommandOSAKill : public Command
for (i = 0; i < akills.count; ++i)
{
snprintf(amask, sizeof(amask), "%s@%s", (static_cast<Akill *>(akills.list[i]))->user, (static_cast<Akill *>(akills.list[i]))->host);
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
akill_list(i + 1, static_cast<Akill *>(akills.list[i]), u, &sent_header);
}
@@ -268,7 +268,7 @@ class CommandOSAKill : public Command
for (i = 0; i < akills.count; ++i)
{
snprintf(amask, sizeof(amask), "%s@%s", (static_cast<Akill *>(akills.list[i]))->user, (static_cast<Akill *>(akills.list[i]))->host);
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
akill_view(i + 1, static_cast<Akill *>(akills.list[i]), u, &sent_header);
}
diff --git a/src/core/os_chanlist.c b/src/core/os_chanlist.c
index d86beaeed..abb5deecd 100644
--- a/src/core/os_chanlist.c
+++ b/src/core/os_chanlist.c
@@ -59,7 +59,7 @@ class CommandOSChanList : public Command
{
for (c = chanlist[i]; c; c = c->next)
{
- if (pattern && !match_wild_nocase(pattern, c->name))
+ if (pattern && !Anope::Match(pattern, c->name, false))
continue;
if (modes && !(c->mode & modes))
continue;
diff --git a/src/core/os_noop.c b/src/core/os_noop.c
index cf1bdf23e..de49185f1 100644
--- a/src/core/os_noop.c
+++ b/src/core/os_noop.c
@@ -47,7 +47,7 @@ class CommandOSNOOP : public Command
for (u2 = firstuser(); u2; u2 = u3)
{
u3 = nextuser();
- if (u2 && is_oper(u2) && u2->server->name && match_wild(server, u2->server->name))
+ if (u2 && is_oper(u2) && u2->server->name && Anope::Match(server, u2->server->name, true))
kill_user(s_OperServ, u2->nick, reason);
}
}
diff --git a/src/core/os_oper.c b/src/core/os_oper.c
index 7ddceb257..ce2ab8158 100644
--- a/src/core/os_oper.c
+++ b/src/core/os_oper.c
@@ -187,7 +187,7 @@ class CommandOSOper : public Command
for (i = 0; i < servopers.count; ++i)
{
- if (!stricmp(nick, (static_cast<NickCore *>(servopers.list[i]))->display) || match_wild_nocase(nick, (static_cast<NickCore *>(servopers.list[i]))->display))
+ if (!stricmp(nick, (static_cast<NickCore *>(servopers.list[i]))->display) || Anope::Match(nick, (static_cast<NickCore *>(servopers.list[i]))->display, false))
oper_list(i + 1, static_cast<NickCore *>(servopers.list[i]), u, &sent_header);
}
diff --git a/src/core/os_session.c b/src/core/os_session.c
index a1c19113e..ac6910c36 100644
--- a/src/core/os_session.c
+++ b/src/core/os_session.c
@@ -382,7 +382,7 @@ class CommandOSException : public Command
{
for (i = 0; i < nexceptions; ++i)
{
- if (!mask || match_wild_nocase(mask, exceptions[i].mask))
+ if (!mask || Anope::Match(mask, exceptions[i].mask, false))
exception_list(u, i, &sent_header);
}
}
@@ -404,7 +404,7 @@ class CommandOSException : public Command
{
for (i = 0; i < nexceptions; ++i)
{
- if (!mask || match_wild_nocase(mask, exceptions[i].mask))
+ if (!mask || Anope::Match(mask, exceptions[i].mask, false))
exception_view(u, i, &sent_header);
}
}
diff --git a/src/core/os_sgline.c b/src/core/os_sgline.c
index 9bea10147..e75b256a4 100644
--- a/src/core/os_sgline.c
+++ b/src/core/os_sgline.c
@@ -222,7 +222,7 @@ class CommandOSSGLine : public Command
for (i = 0; i < sglines.count; ++i)
{
amask = (static_cast<SXLine *>(sglines.list[i]))->mask;
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
sgline_list(i + 1, static_cast<SXLine *>(sglines.list[i]), u, &sent_header);
}
@@ -265,7 +265,7 @@ class CommandOSSGLine : public Command
for (i = 0; i < sglines.count; ++i)
{
amask = (static_cast<SXLine *>(sglines.list[i]))->mask;
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
sgline_view(i + 1, static_cast<SXLine *>(sglines.list[i]), u, &sent_header);
}
diff --git a/src/core/os_sqline.c b/src/core/os_sqline.c
index a1603008e..1f06c3174 100644
--- a/src/core/os_sqline.c
+++ b/src/core/os_sqline.c
@@ -209,7 +209,7 @@ class CommandOSSQLine : public Command
for (i = 0; i < sqlines.count; ++i)
{
amask = (static_cast<SXLine *>(sqlines.list[i]))->mask;
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
sqline_list(i + 1, static_cast<SXLine *>(sqlines.list[i]), u, &sent_header);
}
@@ -252,7 +252,7 @@ class CommandOSSQLine : public Command
for (i = 0; i < sqlines.count; ++i)
{
amask = (static_cast<SXLine *>(sqlines.list[i]))->mask;
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
sqline_view(i + 1, static_cast<SXLine *>(sqlines.list[i]), u, &sent_header);
}
diff --git a/src/core/os_szline.c b/src/core/os_szline.c
index 406db111f..9ca16a127 100644
--- a/src/core/os_szline.c
+++ b/src/core/os_szline.c
@@ -210,7 +210,7 @@ class CommandOSSZLine : public Command
for (i = 0; i < szlines.count; ++i)
{
amask = (static_cast<SXLine *>(szlines.list[i]))->mask;
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
szline_list(i + 1, static_cast<SXLine *>(szlines.list[i]), u, &sent_header);
}
@@ -251,7 +251,7 @@ class CommandOSSZLine : public Command
for (i = 0; i < szlines.count; ++i)
{
amask = (static_cast<SXLine *>(szlines.list[i]))->mask;
- if (!stricmp(mask, amask) || match_wild_nocase(mask, amask))
+ if (!stricmp(mask, amask) || Anope::Match(mask, amask, false))
szline_view(i + 1, static_cast<SXLine *>(szlines.list[i]), u, &sent_header);
}
diff --git a/src/core/os_userlist.c b/src/core/os_userlist.c
index 7d85e641c..5d6bb2504 100644
--- a/src/core/os_userlist.c
+++ b/src/core/os_userlist.c
@@ -63,7 +63,7 @@ class CommandOSUserList : public Command
if (pattern)
{
snprintf(mask, sizeof(mask), "%s!%s@%s", u2->nick, u2->GetIdent().c_str(), u2->GetDisplayedHost().c_str());
- if (!match_wild_nocase(pattern, mask))
+ if (!Anope::Match(pattern, mask, false))
continue;
if (modes && !(u2->mode & modes))
continue;
diff --git a/src/language.c b/src/language.c
index 13df53807..85d50fa77 100644
--- a/src/language.c
+++ b/src/language.c
@@ -130,7 +130,7 @@ static void load_lang(int index, const char *filename)
} else {
langtexts[index][i] = new char[len + 1];
fseek(f, pos, SEEK_SET);
- if (fread(langtexts[index][i], 1, len, f) != len) {
+ if ((int32)fread(langtexts[index][i], 1, len, f) != len) {
alog("Failed to read string %d in language %d (%s)",
i, index, filename);
while (--i >= 0) {
diff --git a/src/misc.c b/src/misc.c
index 51c6dac3e..f5b95c4f6 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -211,34 +211,6 @@ const char *merge_args(int argc, char **argv)
/*************************************************************************/
/**
- * match_wild: Case Senstive wild card search
- * @param pattern To be matched
- * @param str String in which the pattern is to be matched
- * @return 1 if the string matches the pattern, 0 if not.
- * NOTE: Deprecated by Anope::Match().
- */
-int match_wild(const char *pattern, const char *str)
-{
- return Anope::Match(pattern, str, true);
-}
-
-/*************************************************************************/
-
-/**
- * match_wild: Case Insenstive wild card search
- * @param pattern To be matched
- * @param str String in which the pattern is to be matched
- * @return 1 if the string matches the pattern, 0 if not.
- * NOTE: Deprecated by Anope::Match().
- */
-int match_wild_nocase(const char *pattern, const char *str)
-{
- return Anope::Match(pattern, str, false);
-}
-
-/*************************************************************************/
-
-/**
* Process a string containing a number/range list in the form
* "n1[-n2][,n3[-n4]]...", calling a caller-specified routine for each
* number in the list. If the callback returns -1, stop immediately.
diff --git a/src/nickserv.c b/src/nickserv.c
index 92a91a6b3..fda5623d5 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -864,8 +864,8 @@ int is_on_access(User * u, NickCore * nc)
for (i = 0; i < nc->accesscount; i++)
{
- if (match_wild_nocase(nc->access[i], buf)
- || (ircd->vhost ? match_wild_nocase(nc->access[i], buf2) : 0))
+ if (Anope::Match(nc->access[i], buf, false)
+ || (ircd->vhost ? Anope::Match(nc->access[i], buf2, false) : 0))
{
delete [] buf;
if (ircd->vhost)
diff --git a/src/operserv.c b/src/operserv.c
index b0e0d0f0c..c43d0c9ff 100644
--- a/src/operserv.c
+++ b/src/operserv.c
@@ -542,7 +542,7 @@ int add_akill(User * u, const char *mask, const char *by, const time_t expires,
}
}
- if (match_wild_nocase(amask, mask)
+ if (Anope::Match(amask, mask,false)
&& (entry->expires >= expires || entry->expires == 0)) {
if (u)
notice_lang(s_OperServ, u, OPER_AKILL_ALREADY_COVERED,
@@ -550,7 +550,7 @@ int add_akill(User * u, const char *mask, const char *by, const time_t expires,
return -1;
}
- if (match_wild_nocase(mask, amask)
+ if (Anope::Match(mask, amask, false)
&& (entry->expires <= expires || expires == 0)) {
slist_delete(&akills, i);
deleted++;
@@ -628,16 +628,16 @@ int check_akill(const char *nick, const char *username, const char *host,
ak = static_cast<Akill *>(akills.list[i]);
if (!ak)
continue;
- if (match_wild_nocase(ak->user, username)
- && match_wild_nocase(ak->host, host)) {
+ if (Anope::Match(ak->user, username, false)
+ && Anope::Match(ak->host, host, false)) {
ircdproto->SendAkill(ak->user, ak->host, ak->by, ak->seton,
ak->expires, ak->reason);
return 1;
}
if (ircd->vhost) {
if (vhost) {
- if (match_wild_nocase(ak->user, username)
- && match_wild_nocase(ak->host, vhost)) {
+ if (Anope::Match(ak->user, username, false)
+ && Anope::Match(ak->host, vhost, false)) {
ircdproto->SendAkill(ak->user, ak->host, ak->by, ak->seton,
ak->expires, ak->reason);
return 1;
@@ -646,8 +646,8 @@ int check_akill(const char *nick, const char *username, const char *host,
}
if (ircd->nickip) {
if (ip) {
- if (match_wild_nocase(ak->user, username)
- && match_wild_nocase(ak->host, ip)) {
+ if (Anope::Match(ak->user, username, false)
+ && Anope::Match(ak->host, ip, false)) {
ircdproto->SendAkill(ak->user, ak->host, ak->by, ak->seton,
ak->expires, ak->reason);
return 1;
@@ -766,7 +766,7 @@ int add_sgline(User * u, const char *mask, const char *by, time_t expires,
}
}
- if (match_wild_nocase(entry->mask, mask)
+ if (Anope::Match(entry->mask, mask, false)
&& (entry->expires >= expires || entry->expires == 0)) {
if (u)
notice_lang(s_OperServ, u, OPER_SGLINE_ALREADY_COVERED,
@@ -774,7 +774,7 @@ int add_sgline(User * u, const char *mask, const char *by, time_t expires,
return -1;
}
- if (match_wild_nocase(mask, entry->mask)
+ if (Anope::Match(mask, entry->mask, false)
&& (entry->expires <= expires || expires == 0)) {
slist_delete(&sglines, i);
deleted++;
@@ -812,7 +812,7 @@ int add_sgline(User * u, const char *mask, const char *by, time_t expires,
while (u2) {
next = nextuser();
if (!is_oper(u2)) {
- if (match_wild_nocase(entry->mask, u2->realname)) {
+ if (Anope::Match(entry->mask, u2->realname, false)) {
kill_user(ServerName, u2->nick, buf);
}
}
@@ -837,7 +837,7 @@ int check_sgline(const char *nick, const char *realname)
if (!sx)
continue;
- if (match_wild_nocase(sx->mask, realname)) {
+ if (Anope::Match(sx->mask, realname, false)) {
ircdproto->SendSGLine(sx->mask, sx->reason);
/* We kill nick since s_sgline can't */
ircdproto->SendSVSKill(ServerName, nick, "G-Lined: %s", sx->reason);
@@ -953,7 +953,7 @@ int add_sqline(User * u, const char *mask, const char *by, time_t expires,
}
}
- if (match_wild_nocase(entry->mask, mask)
+ if (Anope::Match(entry->mask, mask, false)
&& (entry->expires >= expires || entry->expires == 0)) {
if (u)
notice_lang(s_OperServ, u, OPER_SQLINE_ALREADY_COVERED,
@@ -961,7 +961,7 @@ int add_sqline(User * u, const char *mask, const char *by, time_t expires,
return -1;
}
- if (match_wild_nocase(mask, entry->mask)
+ if (Anope::Match(mask, entry->mask, false)
&& (entry->expires <= expires || expires == 0)) {
slist_delete(&sqlines, i);
deleted++;
@@ -999,7 +999,7 @@ int add_sqline(User * u, const char *mask, const char *by, time_t expires,
while (u2) {
next = nextuser();
if (!is_oper(u2)) {
- if (match_wild_nocase(entry->mask, u2->nick)) {
+ if (Anope::Match(entry->mask, u2->nick, false)) {
kill_user(ServerName, u2->nick, buf);
}
}
@@ -1031,7 +1031,7 @@ int check_sqline(const char *nick, int nick_change)
continue;
}
- if (match_wild_nocase(sx->mask, nick)) {
+ if (Anope::Match(sx->mask, nick, false)) {
sqline(sx->mask, sx->reason);
/* We kill nick since s_sqline can't */
snprintf(reason, sizeof(reason), "Q-Lined: %s", sx->reason);
@@ -1059,7 +1059,7 @@ int check_chan_sqline(const char *chan)
if (*sx->mask != '#')
continue;
- if (match_wild_nocase(sx->mask, chan)) {
+ if (Anope::Match(sx->mask, chan, false)) {
sqline(sx->mask, sx->reason);
return 1;
}
@@ -1167,14 +1167,14 @@ int add_szline(User * u, const char *mask, const char *by, time_t expires,
}
}
- if (match_wild_nocase(entry->mask, mask)) {
+ if (Anope::Match(entry->mask, mask, false)) {
if (u)
notice_lang(s_OperServ, u, OPER_SZLINE_ALREADY_COVERED,
mask, entry->mask);
return -1;
}
- if (match_wild_nocase(mask, entry->mask)) {
+ if (Anope::Match(mask, entry->mask, false)) {
slist_delete(&szlines, i);
deleted++;
}
@@ -1227,7 +1227,7 @@ int check_szline(const char *nick, char *ip)
continue;
}
- if (match_wild_nocase(sx->mask, ip)) {
+ if (Anope::Match(sx->mask, ip, false)) {
ircdproto->SendSZLine(sx->mask, sx->reason, sx->by);
return 1;
}
diff --git a/src/process.c b/src/process.c
index 0590513e8..283f02903 100644
--- a/src/process.c
+++ b/src/process.c
@@ -135,7 +135,7 @@ IgnoreData *get_ignore(const char *nick)
} else
snprintf(tmp, sizeof(tmp), "%s!*@*", nick);
for (ign = ignore; ign; ign = ign->next)
- if (match_wild_nocase(ign->mask, tmp))
+ if (Anope::Match(ign->mask, tmp, false))
break;
}
/* Check whether the entry has timed out */
diff --git a/src/sessions.c b/src/sessions.c
index ea225d888..b743ece60 100644
--- a/src/sessions.c
+++ b/src/sessions.c
@@ -280,7 +280,7 @@ Exception *find_host_exception(const char *host)
int i;
for (i = 0; i < nexceptions; i++) {
- if ((match_wild_nocase(exceptions[i].mask, host))) {
+ if ((Anope::Match(exceptions[i].mask, host, false))) {
return &exceptions[i];
}
}
@@ -295,9 +295,9 @@ Exception *find_hostip_exception(const char *host, const char *hostip)
int i;
for (i = 0; i < nexceptions; i++) {
- if ((match_wild_nocase(exceptions[i].mask, host))
+ if ((Anope::Match(exceptions[i].mask, host, false))
|| ((ircd->nickip && hostip)
- && (match_wild_nocase(exceptions[i].mask, hostip)))) {
+ && (Anope::Match(exceptions[i].mask, hostip, false)))) {
return &exceptions[i];
}
}
diff --git a/src/users.c b/src/users.c
index 4be186909..3c66fedaf 100644
--- a/src/users.c
+++ b/src/users.c
@@ -928,14 +928,14 @@ int match_usermask(const char *mask, User * user)
}
if (nick) {
- result = match_wild_nocase(nick, user->nick)
- && match_wild_nocase(username, user->GetIdent().c_str())
- && (match_wild_nocase(host, user->host)
- || match_wild_nocase(host, user->vhost));
+ result = Anope::Match(nick, user->nick, false)
+ && Anope::Match(username, user->GetIdent().c_str(), false)
+ && (Anope::Match(host, user->host, false)
+ || Anope::Match(host, user->vhost, false));
} else {
- result = match_wild_nocase(username, user->GetIdent().c_str())
- && (match_wild_nocase(host, user->host)
- || match_wild_nocase(host, user->vhost));
+ result = Anope::Match(username, user->GetIdent().c_str(), false)
+ && (Anope::Match(host, user->host, false)
+ || Anope::Match(host, user->vhost, false));
}
delete [] mask2;
diff --git a/src/wildcard.cpp b/src/wildcard.cpp
index 65916d038..b66b8b29c 100644
--- a/src/wildcard.cpp
+++ b/src/wildcard.cpp
@@ -1,81 +1,81 @@
-#include "services.h"
-
-static bool match_internal(const unsigned char *str, const unsigned char *mask, bool case_sensitive)
-{
- unsigned char *cp = NULL, *mp = NULL;
- unsigned char* string = (unsigned char*)str;
- unsigned char* wild = (unsigned char*)mask;
-
- while ((*string) && (*wild != '*'))
- {
- if (case_sensitive)
- {
- if (*wild != *string && *wild != '?')
- return false;
- }
- else
- {
- if (tolower(*wild) != tolower(*string) && *wild != '?')
- return false;
- }
-
- wild++;
- string++;
- }
-
- while (*string)
- {
- if (*wild == '*')
- {
- if (!*++wild)
- {
- return 1;
- }
-
- mp = wild;
- cp = string+1;
- }
- else
- {
- if (case_sensitive)
- {
- if (*wild == *string || *wild == '?')
- {
- wild++;
- string++;
- }
- else
- {
- wild = mp;
- string = cp++;
- }
- }
- else
- {
- if (tolower(*wild) == tolower(*string) || *wild == '?')
- {
- wild++;
- string++;
- }
- else
- {
- wild = mp;
- string = cp++;
- }
- }
- }
-
- }
-
- while (*wild == '*')
- {
- wild++;
- }
-
- return !*wild;
-}
-
-CoreExport bool Anope::Match(const std::string &str, const std::string &mask, bool case_sensitive)
-{
- return match_internal((const unsigned char *)str.c_str(), (const unsigned char *)mask.c_str(), case_sensitive);
-}
+#include "services.h"
+
+static bool match_internal(const unsigned char *str, const unsigned char *mask, bool case_sensitive)
+{
+ unsigned char *cp = NULL, *mp = NULL;
+ unsigned char* string = (unsigned char*)str;
+ unsigned char* wild = (unsigned char*)mask;
+
+ while ((*string) && (*wild != '*'))
+ {
+ if (case_sensitive)
+ {
+ if (*wild != *string && *wild != '?')
+ return false;
+ }
+ else
+ {
+ if (tolower(*wild) != tolower(*string) && *wild != '?')
+ return false;
+ }
+
+ wild++;
+ string++;
+ }
+
+ while (*string)
+ {
+ if (*wild == '*')
+ {
+ if (!*++wild)
+ {
+ return 1;
+ }
+
+ mp = wild;
+ cp = string+1;
+ }
+ else
+ {
+ if (case_sensitive)
+ {
+ if (*wild == *string || *wild == '?')
+ {
+ wild++;
+ string++;
+ }
+ else
+ {
+ wild = mp;
+ string = cp++;
+ }
+ }
+ else
+ {
+ if (tolower(*wild) == tolower(*string) || *wild == '?')
+ {
+ wild++;
+ string++;
+ }
+ else
+ {
+ wild = mp;
+ string = cp++;
+ }
+ }
+ }
+
+ }
+
+ while (*wild == '*')
+ {
+ wild++;
+ }
+
+ return !*wild;
+}
+
+CoreExport bool Anope::Match(const std::string &str, const std::string &mask, bool case_sensitive)
+{
+ return match_internal((const unsigned char *)str.c_str(), (const unsigned char *)mask.c_str(), case_sensitive);
+}