diff options
author | lethality <lethality@anope.org> | 2012-10-05 15:15:50 +0100 |
---|---|---|
committer | lethality <lethality@anope.org> | 2012-10-05 15:15:50 +0100 |
commit | 94fc2ba9c927f8950d81e38ef6b962ee5af022df (patch) | |
tree | 0e2ebe2df3ed41e5c7c10aba46bab236d3e11b75 /modules/commands/cs_set_successor.cpp | |
parent | 2f87b8e430f5082708d7229b92c10b20f9e98fdf (diff) | |
parent | eff61c7a9708013f9617282c4f327bbe2b1bfb79 (diff) |
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Diffstat (limited to 'modules/commands/cs_set_successor.cpp')
-rw-r--r-- | modules/commands/cs_set_successor.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/modules/commands/cs_set_successor.cpp b/modules/commands/cs_set_successor.cpp index 5d3da40f1..64f875dce 100644 --- a/modules/commands/cs_set_successor.cpp +++ b/modules/commands/cs_set_successor.cpp @@ -31,16 +31,24 @@ class CommandCSSetSuccessor : public Command return; } - if (source.permission.empty() && !source.AccessFor(ci).HasPriv("SET")) - { - source.Reply(ACCESS_DENIED); + EventReturn MOD_RESULT; + FOREACH_RESULT(I_OnSetChannelOption, OnSetChannelOption(source, this, ci, params[1])); + if (MOD_RESULT == EVENT_STOP) return; - } - if (source.permission.empty() && ci->HasFlag(CI_SECUREFOUNDER) ? !source.IsFounder(ci) : !source.AccessFor(ci).HasPriv("FOUNDER")) + if (MOD_RESULT != EVENT_ALLOW && source.permission.empty()) { - source.Reply(ACCESS_DENIED); - return; + if (!source.AccessFor(ci).HasPriv("SET")) + { + source.Reply(ACCESS_DENIED); + return; + } + + if (ci->HasFlag(CI_SECUREFOUNDER) ? !source.IsFounder(ci) : !source.AccessFor(ci).HasPriv("FOUNDER")) + { + source.Reply(ACCESS_DENIED); + return; + } } NickCore *nc; |