diff options
author | Peter Powell <petpow@saberuk.com> | 2019-06-07 10:54:25 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2019-06-07 10:57:46 +0100 |
commit | 43e31bba5429849fdebeddc65f7e6f267211181f (patch) | |
tree | 5f5e46c16b2f732a6a4ed8bffe7de27cd6f265c2 /src | |
parent | 8e734ee8a1a562be6bfde7fff7d7c8446179c039 (diff) |
Check the unset level in autoop as well as the set level.
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/m_autoop.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/modules/m_autoop.cpp b/src/modules/m_autoop.cpp index 83c405338..b1b08228c 100644 --- a/src/modules/m_autoop.cpp +++ b/src/modules/m_autoop.cpp @@ -62,9 +62,10 @@ class AutoOpList : public ListModeBase std::string dummy; if (mh->AccessCheck(source, channel, dummy, true) == MOD_RES_DENY) return MOD_RES_DENY; - if (mh->GetLevelRequired(true) > mylevel) + if (mh->GetLevelRequired(adding) > mylevel) { - source->WriteNumeric(ERR_CHANOPRIVSNEEDED, channel->name, InspIRCd::Format("You must be able to set mode '%s' to include it in an autoop", mid.c_str())); + source->WriteNumeric(ERR_CHANOPRIVSNEEDED, channel->name, InspIRCd::Format("You must be able to %s mode %c (%s) to %s an autoop containing it", + adding ? "set" : "unset", mh->GetModeChar(), mh->name.c_str(), adding ? "add" : "remove")); return MOD_RES_DENY; } return MOD_RES_PASSTHRU; |