diff options
author | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2007-01-06 19:57:55 +0000 |
---|---|---|
committer | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2007-01-06 19:57:55 +0000 |
commit | 0b74a48e205e67fe0e2f839fd0d345e7332e95e2 (patch) | |
tree | 643c598ffea65eea55a030eff482329151457b4a /src | |
parent | bd6a836a8819643ae60100535b31693b4f0ee654 (diff) |
BUILD : 1.7.18 (1220) BUGS : 657 NOTES : Fixed various OperServ commands which did not respect a disabled OSOpersOnly
git-svn-id: svn://svn.anope.org/anope/trunk@1220 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@939 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/core/os_admin.c | 11 | ||||
-rw-r--r-- | src/core/os_help.c | 2 | ||||
-rw-r--r-- | src/core/os_modinfo.c | 6 | ||||
-rw-r--r-- | src/core/os_modlist.c | 6 | ||||
-rw-r--r-- | src/core/os_oper.c | 9 | ||||
-rw-r--r-- | src/core/os_staff.c | 6 |
6 files changed, 22 insertions, 18 deletions
diff --git a/src/core/os_admin.c b/src/core/os_admin.c index 56df4b195..9760b98bd 100644 --- a/src/core/os_admin.c +++ b/src/core/os_admin.c @@ -35,7 +35,7 @@ int AnopeInit(int argc, char **argv) moduleAddVersion("$Id$"); moduleSetType(CORE); - c = createCommand("ADMIN", do_admin, is_oper, OPER_HELP_ADMIN, -1, -1, + c = createCommand("ADMIN", do_admin, NULL, OPER_HELP_ADMIN, -1, -1, -1, -1); moduleAddCommand(OPERSERV, c, MOD_UNIQUE); @@ -60,7 +60,7 @@ void AnopeFini(void) **/ void myOperServHelp(User * u) { - if (is_oper(u)) { + if (is_oper(u) || is_services_root(u)) { notice_lang(s_OperServ, u, OPER_HELP_CMD_ADMIN); } } @@ -172,7 +172,12 @@ int do_admin(User * u) notice_lang(s_OperServ, u, READ_ONLY_MODE); } else if (!stricmp(cmd, "LIST")) { int sent_header = 0; - + + if (!is_oper(u)) { + notice_lang(s_OperServ, u, PERMISSION_DENIED); + return MOD_CONT; + } + if (servadmins.count == 0) { notice_lang(s_OperServ, u, OPER_ADMIN_LIST_EMPTY); return MOD_CONT; diff --git a/src/core/os_help.c b/src/core/os_help.c index 481e3e424..e2495e814 100644 --- a/src/core/os_help.c +++ b/src/core/os_help.c @@ -30,7 +30,7 @@ int AnopeInit(int argc, char **argv) moduleAddAuthor("Anope"); moduleAddVersion("$Id$"); moduleSetType(CORE); - c = createCommand("HELP", do_help, is_oper, -1, -1, -1, -1, -1); + c = createCommand("HELP", do_help, NULL, -1, -1, -1, -1, -1); moduleAddCommand(OPERSERV, c, MOD_UNIQUE); return MOD_CONT; diff --git a/src/core/os_modinfo.c b/src/core/os_modinfo.c index fc34102be..9d1366856 100644 --- a/src/core/os_modinfo.c +++ b/src/core/os_modinfo.c @@ -33,7 +33,7 @@ int AnopeInit(int argc, char **argv) moduleAddAuthor("Anope"); moduleAddVersion("$Id$"); moduleSetType(CORE); - c = createCommand("MODINFO", do_modinfo, is_oper, -1, -1, -1, -1, + c = createCommand("MODINFO", do_modinfo, NULL, -1, -1, -1, -1, OPER_HELP_MODINFO); moduleAddCommand(OPERSERV, c, MOD_UNIQUE); @@ -57,9 +57,7 @@ void AnopeFini(void) **/ void myOperServHelp(User * u) { - if (is_oper(u)) { - notice_lang(s_OperServ, u, OPER_HELP_CMD_MODINFO); - } + notice_lang(s_OperServ, u, OPER_HELP_CMD_MODINFO); } /** diff --git a/src/core/os_modlist.c b/src/core/os_modlist.c index bdd2ddbea..ac26c4355 100644 --- a/src/core/os_modlist.c +++ b/src/core/os_modlist.c @@ -32,7 +32,7 @@ int AnopeInit(int argc, char **argv) moduleAddVersion("$Id$"); moduleSetType(CORE); - c = createCommand("MODLIST", do_modlist, is_oper, -1, -1, -1, -1, + c = createCommand("MODLIST", do_modlist, NULL, -1, -1, -1, -1, OPER_HELP_MODLIST); moduleAddCommand(OPERSERV, c, MOD_UNIQUE); @@ -56,9 +56,7 @@ void AnopeFini(void) **/ void myOperServHelp(User * u) { - if (is_oper(u)) { - notice_lang(s_OperServ, u, OPER_HELP_CMD_MODLIST); - } + notice_lang(s_OperServ, u, OPER_HELP_CMD_MODLIST); } /** diff --git a/src/core/os_oper.c b/src/core/os_oper.c index 4df712036..419dbb7c6 100644 --- a/src/core/os_oper.c +++ b/src/core/os_oper.c @@ -34,7 +34,7 @@ int AnopeInit(int argc, char **argv) moduleAddAuthor("Anope"); moduleAddVersion("$Id$"); moduleSetType(CORE); - c = createCommand("OPER", do_oper, is_oper, OPER_HELP_OPER, -1, -1, -1, + c = createCommand("OPER", do_oper, NULL, OPER_HELP_OPER, -1, -1, -1, -1); moduleAddCommand(OPERSERV, c, MOD_UNIQUE); @@ -58,7 +58,7 @@ void AnopeFini(void) **/ void myOperServHelp(User * u) { - if (is_oper(u)) { + if (is_oper(u) || is_services_admin(u)) { notice_lang(s_OperServ, u, OPER_HELP_CMD_OPER); } } @@ -165,6 +165,11 @@ int do_oper(User * u) } else if (!stricmp(cmd, "LIST")) { int sent_header = 0; + if (!is_oper(u)) { + notice_lang(s_OperServ, u, PERMISSION_DENIED); + return MOD_CONT; + } + if (servopers.count == 0) { notice_lang(s_OperServ, u, OPER_OPER_LIST_EMPTY); return MOD_CONT; diff --git a/src/core/os_staff.c b/src/core/os_staff.c index 67d07a94e..bae57920b 100644 --- a/src/core/os_staff.c +++ b/src/core/os_staff.c @@ -35,7 +35,7 @@ int AnopeInit(int argc, char **argv) moduleAddVersion("$Id$"); moduleSetType(CORE); - c = createCommand("STAFF", do_staff, is_oper, OPER_HELP_STAFF, -1, -1, + c = createCommand("STAFF", do_staff, NULL, OPER_HELP_STAFF, -1, -1, -1, -1); moduleAddCommand(OPERSERV, c, MOD_UNIQUE); @@ -59,9 +59,7 @@ void AnopeFini(void) **/ void myOperServHelp(User * u) { - if (is_oper(u)) { - notice_lang(s_OperServ, u, OPER_HELP_CMD_STAFF); - } + notice_lang(s_OperServ, u, OPER_HELP_CMD_STAFF); } /** |