summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2009-03-23 00:16:04 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2009-03-23 00:16:04 +0000
commitd6522b5220f400788a989e763662881bba86fd5c (patch)
tree1c9afbd18317b6a97a0ed7bb6c1cd22cccef3a0c
parent3ff8e96e14606c9251d52848ce7b21dc2abc8fa4 (diff)
Fix bug #1062, patch from Adam, BS ASSIGN should no longer show revealing error messages to users without access.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2185 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--src/core/bs_assign.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/core/bs_assign.c b/src/core/bs_assign.c
index 8a4c717d0..84ce81e68 100644
--- a/src/core/bs_assign.c
+++ b/src/core/bs_assign.c
@@ -43,12 +43,6 @@ class CommandBSAssign : public Command
return MOD_CONT;
}
- if (bi->flags & BI_PRIVATE && !u->nc->HasCommand("botserv/assign/private"))
- {
- notice_lang(s_BotServ, u, PERMISSION_DENIED);
- return MOD_CONT;
- }
-
if (!(ci = cs_findchan(chan)))
{
notice_lang(s_BotServ, u, CHAN_X_NOT_REGISTERED, chan);
@@ -61,18 +55,24 @@ class CommandBSAssign : public Command
return MOD_CONT;
}
- if ((ci->bi) && (stricmp(ci->bi->nick, nick) == 0))
+ if ((ci->botflags & BS_NOBOT) || (!check_access(u, ci, CA_ASSIGN) && !u->nc->HasPriv("botserv/administration")))
{
- notice_lang(s_BotServ, u, BOT_ASSIGN_ALREADY, ci->bi->nick, chan);
+ notice_lang(s_BotServ, u, PERMISSION_DENIED);
return MOD_CONT;
}
- if ((ci->botflags & BS_NOBOT) || (!check_access(u, ci, CA_ASSIGN) && !u->nc->HasPriv("botserv/administration")))
+ if (bi->flags & BI_PRIVATE && !u->nc->HasCommand("botserv/assign/private"))
{
notice_lang(s_BotServ, u, PERMISSION_DENIED);
return MOD_CONT;
}
+ if ((ci->bi) && (stricmp(ci->bi->nick, nick) == 0))
+ {
+ notice_lang(s_BotServ, u, BOT_ASSIGN_ALREADY, ci->bi->nick, chan);
+ return MOD_CONT;
+ }
+
bi->Assign(u, ci);
notice_lang(s_BotServ, u, BOT_ASSIGN_ASSIGNED, bi->nick, ci->name);
return MOD_CONT;