diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-13 20:33:27 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-13 20:33:27 +0000 |
commit | 49a21413eeb84cc6605b996233a02c406a1e6f9a (patch) | |
tree | c9d9c08eea0eed455a6d4f7b315584992e01062b /src/modules/m_cloaking.cpp | |
parent | 060e401cdb05ae6f933616f1d2923a0c619c43e0 (diff) |
Fix cloaking/invite exception for new extban checks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11713 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_cloaking.cpp')
-rw-r--r-- | src/modules/m_cloaking.cpp | 13 |
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; } |