1
0
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:
cyberbotx
2009-05-07 23:59:11 +00:00
parent 2d050edb4e
commit feab2cb854
+8 -14
View File
@@ -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);