mirror of
https://github.com/anope/anope.git
synced 2026-07-05 03:13:13 +02:00
Move where command permission checking is done, patch by Adam.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2296 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
+8
-14
@@ -88,17 +88,6 @@ void mod_run_cmd(char *service, User * u, CommandHash * cmdTable[], const char *
|
||||
// Check whether or not access string is empty
|
||||
}
|
||||
|
||||
if (!c->permission.empty())
|
||||
{
|
||||
if (!u->nc->HasPriv(c->permission) && !u->nc->HasCommand(c->permission))
|
||||
{
|
||||
notice_lang(service, u, ACCESS_DENIED);
|
||||
alog("Access denied for user %s with service %s and command %s", u->nick, service, cmd);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
std::vector<std::string> params;
|
||||
std::string curparam;
|
||||
char *s = NULL;
|
||||
@@ -158,10 +147,15 @@ void mod_run_cmd(char *service, User * u, CommandHash * cmdTable[], const char *
|
||||
}
|
||||
|
||||
// If the command requires a permission, and they aren't registered or don't have the required perm, DENIED
|
||||
if (!c->permission.empty() && (!u->nc || !u->nc->HasCommand(c->permission)))
|
||||
if (!c->permission.empty())
|
||||
{
|
||||
notice_lang(service, u, ACCESS_DENIED);
|
||||
return;
|
||||
if (!u->nc->HasPriv(c->permission) && !u->nc->HasCommand(c->permission))
|
||||
{
|
||||
notice_lang(service, u, ACCESS_DENIED);
|
||||
alog("Access denied for user %s with service %s and command %s", u->nick, service, cmd);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
retVal = c->Execute(u, params);
|
||||
|
||||
Reference in New Issue
Block a user