From: Sadie Powell Date: Fri, 25 Dec 2020 03:46:43 +0000 (+0000) Subject: Avoid doing more work than necessary when checking the O: extban. X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=bf3bfec6d58f566b98eb09ba0bf83d6a46ca400f;p=user%2Fhenk%2Fcode%2Finspircd.git Avoid doing more work than necessary when checking the O: extban. --- 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;