summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2009-03-23 00:35:45 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2009-03-23 00:35:45 +0000
commit66a9b8605f3d0ac8e655ca8fbb241e1f5b534117 (patch)
tree527128c187c4e5bb87236adb136bdccc8809de56 /src
parent9ee3f37bee1f03c6e6c4a238188d48da9d2f9336 (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.c4
-rw-r--r--src/core/bs_assign.c6
-rw-r--r--src/core/bs_say.c4
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);