diff options
| author | 2020-12-25 03:46:43 +0000 | |
|---|---|---|
| committer | 2020-12-25 03:46:43 +0000 | |
| commit | bf3bfec6d58f566b98eb09ba0bf83d6a46ca400f (patch) | |
| tree | 59728877109547b1056f85b21c97e4aabd63c40b /src/modules/m_operchans.cpp | |
| parent | Replace spaces with underscores when checking for class bans. (diff) | |
Avoid doing more work than necessary when checking the O: extban.
Diffstat (limited to 'src/modules/m_operchans.cpp')
| -rw-r--r-- | src/modules/m_operchans.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/modules/m_operchans.cpp b/src/modules/m_operchans.cpp index 072595269..f133d85f7 100644 --- a/src/modules/m_operchans.cpp +++ b/src/modules/m_operchans.cpp @@ -66,15 +66,10 @@ class ModuleOperChans : public Module if (!user->IsOper()) return MOD_RES_PASSTHRU; - // Check whether the oper's type matches the ban. - const std::string submask = mask.substr(2); - if (InspIRCd::Match(user->oper->name, submask)) - return MOD_RES_DENY; - - // If the oper's type contains spaces recheck with underscores. + // Replace spaces with underscores as they're prohibited in mode parameters. std::string opername(user->oper->name); stdalgo::string::replace_all(opername, space, underscore); - if (InspIRCd::Match(opername, submask)) + if (InspIRCd::Match(opername, mask.substr(2))) return MOD_RES_DENY; return MOD_RES_PASSTHRU; |
