diff options
author | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-03-23 00:16:04 +0000 |
---|---|---|
committer | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-03-23 00:16:04 +0000 |
commit | d6522b5220f400788a989e763662881bba86fd5c (patch) | |
tree | 1c9afbd18317b6a97a0ed7bb6c1cd22cccef3a0c | |
parent | 3ff8e96e14606c9251d52848ce7b21dc2abc8fa4 (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.c | 18 |
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; |