summaryrefslogtreecommitdiff
path: root/src/core/cs_modes.c
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-03-16 20:21:54 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-03-16 20:21:54 +0000
commit72fa53c20e1ffc8abca1dfa4dfa6a3a51453e5f6 (patch)
tree6946dc114e562b7482926db807fd72a4f03db9cf /src/core/cs_modes.c
parenteb0c255fadec7c81bc318c944ada86131f5872bd (diff)
Fixed bug #1141, reordered some access checks in cs_kick and cs_modes to hide who is on the channel
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2818 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core/cs_modes.c')
-rw-r--r--src/core/cs_modes.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/cs_modes.c b/src/core/cs_modes.c
index 3a82a1aa6..bdb162d3e 100644
--- a/src/core/cs_modes.c
+++ b/src/core/cs_modes.c
@@ -243,10 +243,10 @@ int do_owner(User * u)
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, c->name);
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, ci->name);
- } else if (!is_on_chan(c, u)) {
- notice_lang(s_ChanServ, u, NICK_X_NOT_ON_CHAN, u->nick, c->name);
} else if (!is_founder(u, ci)) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
+ } else if (!is_on_chan(c, u)) {
+ notice_lang(s_ChanServ, u, NICK_X_NOT_ON_CHAN, u->nick, c->name);
} else {
anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerset,
GET_USER(u));
@@ -299,10 +299,10 @@ int do_deowner(User * u)
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, c->name);
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, ci->name);
- } else if (!is_on_chan(c, u)) {
- notice_lang(s_ChanServ, u, NICK_X_NOT_ON_CHAN, u->nick, c->name);
} else if (!is_founder(u, ci)) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
+ } else if (!is_on_chan(c, u)) {
+ notice_lang(s_ChanServ, u, NICK_X_NOT_ON_CHAN, u->nick, c->name);
} else {
anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerunset,
GET_USER(u));
@@ -366,8 +366,6 @@ int do_util(User * u, CSModeUtil * util)
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, ci->name);
} else if (is_same ? !(u2 = u) : !(u2 = finduser(nick))) {
notice_lang(s_ChanServ, u, NICK_X_NOT_IN_USE, nick);
- } else if (!is_on_chan(c, u2)) {
- notice_lang(s_ChanServ, u, NICK_X_NOT_ON_CHAN, u2->nick, c->name);
} else if (is_same ? !check_access(u, ci, util->levelself) :
!check_access(u, ci, util->level)) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
@@ -376,6 +374,8 @@ int do_util(User * u, CSModeUtil * util)
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else if (*util->mode == '-' && is_protected(u2) && !is_same) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
+ } else if (!is_on_chan(c, u2)) {
+ notice_lang(s_ChanServ, u, NICK_X_NOT_ON_CHAN, u2->nick, c->name);
} else {
anope_cmd_mode(whosends(ci), c->name, "%s %s", util->mode,
GET_USER(u2));