summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_services_account.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp
index 08986d53c..ac5338332 100644
--- a/src/modules/m_services_account.cpp
+++ b/src/modules/m_services_account.cpp
@@ -209,6 +209,10 @@ class ModuleServicesAccount : public Module
ModResult OnCheckBan(User* user, Channel* chan, const std::string& mask)
{
+ static bool checking = false;
+ if (checking)
+ return MOD_RES_PASSTHRU;
+
if (mask[1] == ':')
{
if (mask[0] == 'R')
@@ -226,7 +230,11 @@ class ModuleServicesAccount : public Module
/* If we made it this far we know the user isn't registered
so just deny if it matches */
- if (chan->GetExtBanStatus(user, 'U') == MOD_RES_DENY)
+ checking = true;
+ bool result = chan->CheckBan(user, mask.substr(2));
+ checking = false;
+
+ if (result)
return MOD_RES_DENY;
}
}