diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-09-04 13:33:45 +0200 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-09-04 13:33:45 +0200 |
commit | 0f15b0869703c20277c181f95ed38f2b2a5c1e04 (patch) | |
tree | 954a3195a5854706065ed5ba25cd0f5037ea0f0f /src | |
parent | 3eda212c2ad561fae6a7d8cf20280da9d37a90f4 (diff) |
cmd_mode Exempt remote users and servers from max modes limitation when changing user modes
Diffstat (limited to 'src')
-rw-r--r-- | src/coremods/core_user/cmd_mode.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/coremods/core_user/cmd_mode.cpp b/src/coremods/core_user/cmd_mode.cpp index 99b9ab20d..f1e857fc1 100644 --- a/src/coremods/core_user/cmd_mode.cpp +++ b/src/coremods/core_user/cmd_mode.cpp @@ -84,7 +84,10 @@ CmdResult CommandMode::Handle(const std::vector<std::string>& parameters, User* else flags |= ModeParser::MODE_LOCALONLY; - ServerInstance->Modes->ProcessSingle(user, targetchannel, targetuser, changelist, flags); + if (IS_LOCAL(user)) + ServerInstance->Modes->ProcessSingle(user, targetchannel, targetuser, changelist, flags); + else + ServerInstance->Modes->Process(user, targetchannel, targetuser, changelist, flags); if ((ServerInstance->Modes.GetLastParse().empty()) && (targetchannel) && (parameters.size() == 2)) { |