diff options
author | Adam <Adam@anope.org> | 2014-02-13 19:42:02 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-02-13 19:42:02 -0500 |
commit | f428d6104510df6ed5ddb65e3baf86eeade6e069 (patch) | |
tree | 60df6c5575b1cb5630a615f8a7ceff7162cd8f51 /modules/webcpanel/webcpanel.cpp | |
parent | fc50edf04631235b08d484cbd48c5826b40728cc (diff) |
Use better command access checking in webpanel for operserv/akill
Diffstat (limited to 'modules/webcpanel/webcpanel.cpp')
-rw-r--r-- | modules/webcpanel/webcpanel.cpp | 10 |
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); } } |