summaryrefslogtreecommitdiff
path: root/modules/webcpanel/webcpanel.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-02-13 19:42:02 -0500
committerAdam <Adam@anope.org>2014-02-13 19:42:02 -0500
commitf428d6104510df6ed5ddb65e3baf86eeade6e069 (patch)
tree60df6c5575b1cb5630a615f8a7ceff7162cd8f51 /modules/webcpanel/webcpanel.cpp
parentfc50edf04631235b08d484cbd48c5826b40728cc (diff)
Use better command access checking in webpanel for operserv/akill
Diffstat (limited to 'modules/webcpanel/webcpanel.cpp')
-rw-r--r--modules/webcpanel/webcpanel.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/webcpanel/webcpanel.cpp b/modules/webcpanel/webcpanel.cpp
index 0c1fc3903..bf0a31540 100644
--- a/modules/webcpanel/webcpanel.cpp
+++ b/modules/webcpanel/webcpanel.cpp
@@ -240,6 +240,9 @@ namespace WebPanel
return;
}
+ if (params.size() < cmd->min_params)
+ return;
+
BotInfo *bi = Config->GetClient(service);
if (!bi)
{
@@ -263,6 +266,13 @@ namespace WebPanel
my_reply(r, key);
CommandSource source(user, NULL, nc, &my_reply, bi);
+
+ if (!cmd->AllowUnregistered() && !source.nc)
+ {
+ r[key] = "Access denied.";
+ return;
+ }
+
cmd->Execute(source, params);
}
}