summaryrefslogtreecommitdiff
path: root/src/modules/m_cloaking.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_cloaking.cpp')
-rw-r--r--src/modules/m_cloaking.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp
index 221c23d64..50bb4c4b6 100644
--- a/src/modules/m_cloaking.cpp
+++ b/src/modules/m_cloaking.cpp
@@ -305,19 +305,16 @@ class ModuleCloaking : public Module
}
}
- ModResult OnCheckBan(User* user, Channel* chan)
+ ModResult OnCheckBan(User* user, Channel* chan, const std::string& mask)
{
- char mask[MAXBUF];
+ char cmask[MAXBUF];
std::string* cloak = cu->ext.get(user);
/* Check if they have a cloaked host, but are not using it */
if (cloak && *cloak != user->dhost)
{
- snprintf(mask, MAXBUF, "%s!%s@%s", user->nick.c_str(), user->ident.c_str(), cloak->c_str());
- for (BanList::iterator i = chan->bans.begin(); i != chan->bans.end(); i++)
- {
- if (InspIRCd::Match(mask,i->data))
- return MOD_RES_DENY;
- }
+ snprintf(cmask, MAXBUF, "%s!%s@%s", user->nick.c_str(), user->ident.c_str(), cloak->c_str());
+ if (InspIRCd::Match(cmask,mask))
+ return MOD_RES_DENY;
}
return MOD_RES_PASSTHRU;
}