summaryrefslogtreecommitdiff
path: root/src/core/os_admin.c
diff options
context:
space:
mode:
authorgeniusdex 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
committergeniusdex 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
commit0b74a48e205e67fe0e2f839fd0d345e7332e95e2 (patch)
tree643c598ffea65eea55a030eff482329151457b4a /src/core/os_admin.c
parentbd6a836a8819643ae60100535b31693b4f0ee654 (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/core/os_admin.c')
-rw-r--r--src/core/os_admin.c11
1 files changed, 8 insertions, 3 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;