diff options
author | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-03-23 00:35:45 +0000 |
---|---|---|
committer | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-03-23 00:35:45 +0000 |
commit | 66a9b8605f3d0ac8e655ca8fbb241e1f5b534117 (patch) | |
tree | 527128c187c4e5bb87236adb136bdccc8809de56 /src | |
parent | 9ee3f37bee1f03c6e6c4a238188d48da9d2f9336 (diff) |
Backport of bugfix for bug #1062 from SVN r2185 and 2186, patch from Adam, BS ASSIGN, BS ACT, and BS SAY should no longer send error messags to users without access.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2187 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/core/bs_act.c | 4 | ||||
-rw-r--r-- | src/core/bs_assign.c | 6 | ||||
-rw-r--r-- | src/core/bs_say.c | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/core/bs_act.c b/src/core/bs_act.c index 22c851055..f9d174eba 100644 --- a/src/core/bs_act.c +++ b/src/core/bs_act.c @@ -74,12 +74,12 @@ int do_act(User * u) notice_lang(s_BotServ, u, CHAN_X_NOT_REGISTERED, chan); else if (ci->flags & CI_VERBOTEN) notice_lang(s_BotServ, u, CHAN_X_FORBIDDEN, chan); + else if (!check_access(u, ci, CA_SAY)) + notice_lang(s_BotServ, u, ACCESS_DENIED); else if (!ci->bi) notice_help(s_BotServ, u, BOT_NOT_ASSIGNED); else if (!ci->c || ci->c->usercount < BSMinUsers) notice_lang(s_BotServ, u, BOT_NOT_ON_CHANNEL, ci->name); - else if (!check_access(u, ci, CA_SAY)) - notice_lang(s_BotServ, u, ACCESS_DENIED); else { strnrepl(text, BUFSIZE, "\001", ""); anope_cmd_action(ci->bi->nick, ci->name, "%s", text); diff --git a/src/core/bs_assign.c b/src/core/bs_assign.c index 2a4328930..8030d3102 100644 --- a/src/core/bs_assign.c +++ b/src/core/bs_assign.c @@ -80,13 +80,13 @@ int do_assign(User * u) notice_lang(s_BotServ, u, PERMISSION_DENIED); else if (!(ci = cs_findchan(chan))) notice_lang(s_BotServ, u, CHAN_X_NOT_REGISTERED, chan); + else if ((ci->botflags & BS_NOBOT) + || (!check_access(u, ci, CA_ASSIGN) && !is_services_admin(u))) + notice_lang(s_BotServ, u, PERMISSION_DENIED); else if (ci->flags & CI_VERBOTEN) notice_lang(s_BotServ, u, CHAN_X_FORBIDDEN, chan); else if ((ci->bi) && (stricmp(ci->bi->nick, nick) == 0)) notice_lang(s_BotServ, u, BOT_ASSIGN_ALREADY, ci->bi->nick, chan); - else if ((ci->botflags & BS_NOBOT) - || (!check_access(u, ci, CA_ASSIGN) && !is_services_admin(u))) - notice_lang(s_BotServ, u, PERMISSION_DENIED); else { if (ci->bi) unassign(u, ci); diff --git a/src/core/bs_say.c b/src/core/bs_say.c index 384321738..9ddabcfcd 100644 --- a/src/core/bs_say.c +++ b/src/core/bs_say.c @@ -76,12 +76,12 @@ int do_say(User * u) notice_lang(s_BotServ, u, CHAN_X_NOT_REGISTERED, chan); else if (ci->flags & CI_VERBOTEN) notice_lang(s_BotServ, u, CHAN_X_FORBIDDEN, chan); + else if (!check_access(u, ci, CA_SAY)) + notice_lang(s_BotServ, u, ACCESS_DENIED); else if (!ci->bi) notice_help(s_BotServ, u, BOT_NOT_ASSIGNED); else if (!ci->c || ci->c->usercount < BSMinUsers) notice_lang(s_BotServ, u, BOT_NOT_ON_CHANNEL, ci->name); - else if (!check_access(u, ci, CA_SAY)) - notice_lang(s_BotServ, u, ACCESS_DENIED); else { if (text[0] != '\001') { anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", text); |