summaryrefslogtreecommitdiff
path: root/src/core/os_oper.c
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-04-04 01:09:07 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-04-04 01:09:07 +0000
commitad77b5ee2d83503631b16e088b3739be6177dba3 (patch)
tree945b70f4899eb2476fef1691552680091e9b6e9b /src/core/os_oper.c
parent146ecc2fbba8c2a72af78d336ad58aebda656773 (diff)
Remove various uneeded priv checks.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2258 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core/os_oper.c')
-rw-r--r--src/core/os_oper.c29
1 files changed, 6 insertions, 23 deletions
diff --git a/src/core/os_oper.c b/src/core/os_oper.c
index c65dd77ed..82dde2795 100644
--- a/src/core/os_oper.c
+++ b/src/core/os_oper.c
@@ -34,12 +34,6 @@ class CommandOSOper : public Command
return MOD_CONT;
}
- if (!is_services_root(u))
- {
- notice_lang(s_OperServ, u, PERMISSION_DENIED);
- return MOD_CONT;
- }
-
if (!(na = findnick(nick)))
{
notice_lang(s_OperServ, u, NICK_X_NOT_REGISTERED, nick);
@@ -68,11 +62,6 @@ class CommandOSOper : public Command
{
if (na->nc->flags & NI_SERVICES_ADMIN && (res = slist_indexof(&servadmins, na->nc)) != -1)
{
- if (!is_services_root(u))
- {
- notice_lang(s_OperServ, u, PERMISSION_DENIED);
- return MOD_CONT;
- }
slist_delete(&servadmins, res);
na->nc->flags |= NI_SERVICES_OPER;
notice_lang(s_OperServ, u, OPER_OPER_MOVED, nick);
@@ -102,12 +91,6 @@ class CommandOSOper : public Command
return MOD_CONT;
}
- if (!is_services_root(u))
- {
- notice_lang(s_OperServ, u, PERMISSION_DENIED);
- return MOD_CONT;
- }
-
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick))
{
/* Deleting a range */
@@ -202,12 +185,6 @@ class CommandOSOper : public Command
CommandReturn DoClear(User *u, std::vector<std::string> &params)
{
- if (!is_services_root(u))
- {
- notice_lang(s_OperServ, u, PERMISSION_DENIED);
- return MOD_CONT;
- }
-
if (!servopers.count)
{
notice_lang(s_OperServ, u, OPER_OPER_LIST_EMPTY);
@@ -228,6 +205,12 @@ class CommandOSOper : public Command
{
const char *cmd = params[0].c_str();
+ if (!u->nc->HasCommand("operserv/oper"))
+ {
+ notice_lang(s_OperServ, u, PERMISSION_DENIED);
+ return MOD_CONT;
+ }
+
if (!stricmp(cmd, "ADD"))
return this->DoAdd(u, params);
else if (!stricmp(cmd, "DEL"))