summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/modules.h2
-rw-r--r--src/command.cpp2
-rw-r--r--src/commands.c11
-rw-r--r--src/core/cs_forbid.c8
-rw-r--r--src/core/cs_getpass.c8
-rw-r--r--src/core/cs_status.c5
-rw-r--r--src/core/cs_suspend.c10
-rw-r--r--src/core/hs_del.c8
-rw-r--r--src/core/hs_delall.c8
-rw-r--r--src/core/hs_list.c2
-rw-r--r--src/core/hs_set.c8
-rw-r--r--src/core/hs_setall.c8
-rw-r--r--src/core/ms_sendall.c8
-rw-r--r--src/core/ms_staff.c8
-rw-r--r--src/core/ns_forbid.c2
-rw-r--r--src/core/ns_getemail.c2
-rw-r--r--src/core/ns_getpass.c8
-rw-r--r--src/core/ns_saset.c2
-rw-r--r--src/core/ns_suspend.c4
-rw-r--r--src/core/os_admin.c14
-rw-r--r--src/core/os_akill.c2
-rw-r--r--src/core/os_chankill.c2
-rw-r--r--src/core/os_clearmodes.c2
-rw-r--r--src/core/os_defcon.c2
-rw-r--r--src/core/os_global.c2
-rw-r--r--src/core/os_ignore.c2
-rw-r--r--src/core/os_jupe.c2
-rw-r--r--src/core/os_kick.c2
-rw-r--r--src/core/os_mode.c2
-rw-r--r--src/core/os_modlist.c2
-rw-r--r--src/core/os_modload.c2
-rw-r--r--src/core/os_modunload.c2
-rw-r--r--src/core/os_news.c3
-rw-r--r--src/core/os_noop.c2
-rw-r--r--src/core/os_oper.c8
-rw-r--r--src/core/os_quit.c6
-rw-r--r--src/core/os_reload.c2
-rw-r--r--src/core/os_restart.c9
-rw-r--r--src/core/os_session.c2
-rw-r--r--src/core/os_set.c2
-rw-r--r--src/core/os_sgline.c2
-rw-r--r--src/core/os_shutdown.c6
-rw-r--r--src/core/os_sqline.c2
-rw-r--r--src/core/os_staff.c2
-rw-r--r--src/core/os_stats.c2
-rw-r--r--src/core/os_szline.c2
-rw-r--r--src/core/os_update.c2
-rw-r--r--src/modules/os_info.c4
48 files changed, 62 insertions, 146 deletions
diff --git a/include/modules.h b/include/modules.h
index 90c307b41..1475c9f3d 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -238,7 +238,7 @@ class CoreExport Command
* @param max_params The maximum number of parameters the parser will create, after max_params, all will be combined into the last argument.
* NOTE: If max_params is not set (default), there is no limit to the max number of params.
*/
- Command(const std::string &sname, size_t min_params, size_t max_params = 0);
+ Command(const std::string &sname, size_t min_params, size_t max_params = 0, const std::string &spermission = "");
virtual ~Command();
diff --git a/src/command.cpp b/src/command.cpp
index ae2cae740..1718cb8a7 100644
--- a/src/command.cpp
+++ b/src/command.cpp
@@ -11,7 +11,7 @@
#include "services.h"
#include "modules.h"
-Command::Command(const std::string &sname, size_t min_params, size_t max_params) : MaxParams(max_params), MinParams(min_params), name(sname)
+Command::Command(const std::string &sname, size_t min_params, size_t max_params, const std::string &spermission) : MaxParams(max_params), MinParams(min_params), name(sname), permission(spermission)
{
this->flags = 0;
this->help_param1 = NULL;
diff --git a/src/commands.c b/src/commands.c
index 5f9c682ab..a95a9f7b2 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -88,6 +88,17 @@ void mod_run_cmd(char *service, User * u, CommandHash * cmdTable[], const char *
// Check whether or not access string is empty
}
+ if (!c->permission.empty())
+ {
+ if (!u->nc->HasPriv(c->permission) && !u->nc->HasCommand(c->permission))
+ {
+ notice_lang(service, u, ACCESS_DENIED);
+ alog("Access denied for user %s with service %s and command %s", u->nick, service, cmd);
+ return;
+ }
+
+ }
+
std::vector<std::string> params;
std::string curparam;
char *s = NULL;
diff --git a/src/core/cs_forbid.c b/src/core/cs_forbid.c
index dea8ae339..b20e1bc20 100644
--- a/src/core/cs_forbid.c
+++ b/src/core/cs_forbid.c
@@ -18,7 +18,7 @@
class CommandCSForbid : public Command
{
public:
- CommandCSForbid() : Command("FORBID", 1, 2)
+ CommandCSForbid() : Command("FORBID", 1, 2, "chanserv/forbid")
{
}
@@ -31,12 +31,6 @@ class CommandCSForbid : public Command
Channel *c;
- if (!u->nc->HasCommand("chanserv/forbid"))
- {
- notice_lang(s_ChanServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
if (ForceForbidReason && !reason)
{
syntax_error(s_ChanServ, u, "FORBID", CHAN_FORBID_SYNTAX_REASON);
diff --git a/src/core/cs_getpass.c b/src/core/cs_getpass.c
index 5d43d7244..74f7e87d6 100644
--- a/src/core/cs_getpass.c
+++ b/src/core/cs_getpass.c
@@ -18,7 +18,7 @@
class CommandCSGetPass : public Command
{
public:
- CommandCSGetPass() : Command("GETPASS", 1, 1)
+ CommandCSGetPass() : Command("GETPASS", 1, 1, "chanserv/getpass")
{
this->SetFlag(CFLAG_ALLOW_SUSPENDED);
}
@@ -29,12 +29,6 @@ class CommandCSGetPass : public Command
char tmp_pass[PASSMAX];
ChannelInfo *ci;
- if (!u->nc->HasCommand("chanserv/getpass"))
- {
- notice_lang(s_ChanServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
if (!(ci = cs_findchan(chan)))
{
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
diff --git a/src/core/cs_status.c b/src/core/cs_status.c
index 5af819563..fdebc2b7f 100644
--- a/src/core/cs_status.c
+++ b/src/core/cs_status.c
@@ -18,7 +18,7 @@
class CommandCSStatus : public Command
{
public:
- CommandCSStatus() : Command("STATUS", 2, 2)
+ CommandCSStatus() : Command("STATUS", 2, 2, "chanserv/status")
{
}
@@ -30,9 +30,6 @@ class CommandCSStatus : public Command
const char *nick = params[1].c_str();
const char *temp = NULL;
- if (!u->nc->HasCommand("chanserv/status"))
- return MOD_CONT; // XXX: error?
-
if (!(ci = cs_findchan(chan)))
{
temp = chan;
diff --git a/src/core/cs_suspend.c b/src/core/cs_suspend.c
index cd6cb99e1..f181363dc 100644
--- a/src/core/cs_suspend.c
+++ b/src/core/cs_suspend.c
@@ -18,7 +18,7 @@
class CommandCSSuspend : public Command
{
public:
- CommandCSSuspend() : Command("SUSPEND", 1, 2)
+ CommandCSSuspend() : Command("SUSPEND", 1, 2, "chanserv/suspend")
{
}
@@ -30,12 +30,6 @@ class CommandCSSuspend : public Command
Channel *c;
- if (!u->nc->HasCommand("chanserv/suspend"))
- {
- notice_lang(s_ChanServ, u, ACCESS_DENIED);
- return MOD_CONT; // XXX: error?
- }
-
/* Assumes that permission checking has already been done. */
if (ForceForbidReason && !reason)
{
@@ -123,7 +117,7 @@ class CommandCSSuspend : public Command
class CommandCSUnSuspend : public Command
{
public:
- CommandCSUnSuspend() : Command("UNSUSPEND", 1, 1)
+ CommandCSUnSuspend() : Command("UNSUSPEND", 1, 1, "chanserv/suspend")
{
this->SetFlag(CFLAG_ALLOW_SUSPENDED);
}
diff --git a/src/core/hs_del.c b/src/core/hs_del.c
index d86c87f41..b318b18ba 100644
--- a/src/core/hs_del.c
+++ b/src/core/hs_del.c
@@ -18,18 +18,12 @@
class CommandHSDel : public Command
{
public:
- CommandHSDel() : Command("DEL", 1, 1)
+ CommandHSDel() : Command("DEL", 1, 1, "hostserv/set")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasPriv("hostserv/set"))
- {
- notice_lang(s_HostServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
NickAlias *na;
const char *nick = params[0].c_str();
if ((na = findnick(nick)))
diff --git a/src/core/hs_delall.c b/src/core/hs_delall.c
index 8ffb4a059..d75da38a8 100644
--- a/src/core/hs_delall.c
+++ b/src/core/hs_delall.c
@@ -18,18 +18,12 @@
class CommandHSDelAll : public Command
{
public:
- CommandHSDelAll() : Command("DELALL", 1, 1)
+ CommandHSDelAll() : Command("DELALL", 1, 1, "hostserv/set")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasPriv("hostserv/set"))
- {
- notice_lang(s_HostServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
int i;
const char *nick = params[0].c_str();
NickAlias *na;
diff --git a/src/core/hs_list.c b/src/core/hs_list.c
index c12ef5907..51d81bfd6 100644
--- a/src/core/hs_list.c
+++ b/src/core/hs_list.c
@@ -18,7 +18,7 @@
class CommandHSList : public Command
{
public:
- CommandHSList() : Command("LIST", 0, 1)
+ CommandHSList() : Command("LIST", 0, 1, "hostserv/list")
{
}
diff --git a/src/core/hs_set.c b/src/core/hs_set.c
index 062c758cf..d3ac291db 100644
--- a/src/core/hs_set.c
+++ b/src/core/hs_set.c
@@ -18,18 +18,12 @@
class CommandHSSet : public Command
{
public:
- CommandHSSet() : Command("SET", 2, 2)
+ CommandHSSet() : Command("SET", 2, 2, "hostserv/set")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasPriv("hostserv/set"))
- {
- notice_lang(s_HostServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
const char *nick = params[0].c_str();
const char *rawhostmask = params[1].c_str();
char *hostmask = new char[HOSTMAX];
diff --git a/src/core/hs_setall.c b/src/core/hs_setall.c
index 05707c39a..137e665ef 100644
--- a/src/core/hs_setall.c
+++ b/src/core/hs_setall.c
@@ -20,18 +20,12 @@ extern int do_hs_sync(NickCore *nc, char *vIdent, char *hostmask, char *creator,
class CommandHSSetAll : public Command
{
public:
- CommandHSSetAll() : Command("SETALL", 2, 2)
+ CommandHSSetAll() : Command("SETALL", 2, 2, "hostserv/set")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasPriv("hostserv/set"))
- {
- notice_lang(s_HostServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
const char *nick = params[0].c_str();
const char *rawhostmask = params[1].c_str();
char *hostmask = new char[HOSTMAX];
diff --git a/src/core/ms_sendall.c b/src/core/ms_sendall.c
index aa1eee790..770cc9d67 100644
--- a/src/core/ms_sendall.c
+++ b/src/core/ms_sendall.c
@@ -18,7 +18,7 @@
class CommandMSSendAll : public Command
{
public:
- CommandMSSendAll() : Command("SENDALL", 1, 1)
+ CommandMSSendAll() : Command("SENDALL", 1, 1, "memoserv/sendall")
{
}
@@ -28,12 +28,6 @@ class CommandMSSendAll : public Command
NickCore *nc;
const char *text = params[0].c_str();
- if (!u->nc->HasCommand("memoserv/sendall"))
- {
- // XXX: error?
- return MOD_CONT;
- }
-
if (readonly)
{
notice_lang(s_MemoServ, u, MEMO_SEND_DISABLED);
diff --git a/src/core/ms_staff.c b/src/core/ms_staff.c
index 7d4ca6665..151e0812b 100644
--- a/src/core/ms_staff.c
+++ b/src/core/ms_staff.c
@@ -18,7 +18,7 @@
class CommandMSStaff : public Command
{
public:
- CommandMSStaff() : Command("STAFF", 1, 1)
+ CommandMSStaff() : Command("STAFF", 1, 1, "memoserv/staff")
{
}
@@ -28,12 +28,6 @@ class CommandMSStaff : public Command
int i, z = 0;
const char *text = params[0].c_str();
- if (!u->nc->HasCommand("memoserv/staff"))
- {
- // XXX: error?
- return MOD_CONT;
- }
-
if (readonly)
{
notice_lang(s_MemoServ, u, MEMO_SEND_DISABLED);
diff --git a/src/core/ns_forbid.c b/src/core/ns_forbid.c
index e8abd8dc4..7cceb74d9 100644
--- a/src/core/ns_forbid.c
+++ b/src/core/ns_forbid.c
@@ -20,7 +20,7 @@ NickAlias *makenick(const char *nick);
class CommandNSForbid : public Command
{
public:
- CommandNSForbid() : Command("FORBID", 1, 2)
+ CommandNSForbid() : Command("FORBID", 1, 2, "nickserv/forbid")
{
}
diff --git a/src/core/ns_getemail.c b/src/core/ns_getemail.c
index 6baaadcd3..7194e1407 100644
--- a/src/core/ns_getemail.c
+++ b/src/core/ns_getemail.c
@@ -23,7 +23,7 @@
class CommandNSGetEMail : public Command
{
public:
- CommandNSGetEMail() : Command("GETEMAIL", 1, 1)
+ CommandNSGetEMail() : Command("GETEMAIL", 1, 1, "nickserv/getemail")
{
}
diff --git a/src/core/ns_getpass.c b/src/core/ns_getpass.c
index ebd67ea67..8bb28ae74 100644
--- a/src/core/ns_getpass.c
+++ b/src/core/ns_getpass.c
@@ -18,7 +18,7 @@
class CommandNSGetPass : public Command
{
public:
- CommandNSGetPass() : Command("GETPASS", 1, 1)
+ CommandNSGetPass() : Command("GETPASS", 1, 1, "nickserv/getpass")
{
}
@@ -29,12 +29,6 @@ class CommandNSGetPass : public Command
NickAlias *na;
NickRequest *nr = NULL;
- if (!u->nc->HasCommand("nickserv/getpass"))
- {
- notice_lang(s_NickServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
if (!(na = findnick(nick)))
{
if ((nr = findrequestnick(nick)))
diff --git a/src/core/ns_saset.c b/src/core/ns_saset.c
index f45946b5b..a2b28606c 100644
--- a/src/core/ns_saset.c
+++ b/src/core/ns_saset.c
@@ -473,7 +473,7 @@ private:
return MOD_CONT;
}
public:
- CommandNSSASet() : Command("SASET", 2, 4)
+ CommandNSSASet() : Command("SASET", 2, 4, "nickserv/saset")
{
}
diff --git a/src/core/ns_suspend.c b/src/core/ns_suspend.c
index a58141010..3c7158f7f 100644
--- a/src/core/ns_suspend.c
+++ b/src/core/ns_suspend.c
@@ -18,7 +18,7 @@
class CommandNSSuspend : public Command
{
public:
- CommandNSSuspend() : Command("SUSPEND", 2, 2)
+ CommandNSSuspend() : Command("SUSPEND", 2, 2, "nickserv/suspend")
{
}
@@ -105,7 +105,7 @@ class CommandNSSuspend : public Command
class CommandNSUnSuspend : public Command
{
public:
- CommandNSUnSuspend() : Command("UNSUSPEND", 1, 1)
+ CommandNSUnSuspend() : Command("UNSUSPEND", 1, 1, "nickserv/suspend")
{
}
diff --git a/src/core/os_admin.c b/src/core/os_admin.c
index 55332d2f0..86b97520e 100644
--- a/src/core/os_admin.c
+++ b/src/core/os_admin.c
@@ -33,12 +33,6 @@ class CommandOSAdmin : public Command
return MOD_CONT;
}
- if (!u->nc->HasCommand("operserv/admin"))
- {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
if (!(na = findnick(nick)))
{
notice_lang(s_OperServ, u, NICK_X_NOT_REGISTERED, nick);
@@ -200,7 +194,7 @@ class CommandOSAdmin : public Command
return MOD_CONT;
}
public:
- CommandOSAdmin() : Command("ADMIN", 1, 2)
+ CommandOSAdmin() : Command("ADMIN", 1, 2, "operserv/admin")
{
}
@@ -208,12 +202,6 @@ class CommandOSAdmin : public Command
{
const char *cmd = params[0].c_str();
- if (!u->nc->HasCommand("operserv/admin"))
- {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
if (!stricmp(cmd, "ADD"))
return this->DoAdd(u, params);
else if (!stricmp(cmd, "DEL"))
diff --git a/src/core/os_akill.c b/src/core/os_akill.c
index 59003ed7d..ee699aa5e 100644
--- a/src/core/os_akill.c
+++ b/src/core/os_akill.c
@@ -286,7 +286,7 @@ class CommandOSAKill : public Command
return MOD_CONT;
}
public:
- CommandOSAKill() : Command("AKILL", 1, 4)
+ CommandOSAKill() : Command("AKILL", 1, 4, "operserv/akill")
{
}
diff --git a/src/core/os_chankill.c b/src/core/os_chankill.c
index 1d00aa753..fa3cc00a6 100644
--- a/src/core/os_chankill.c
+++ b/src/core/os_chankill.c
@@ -18,7 +18,7 @@
class CommandOSChanKill : public Command
{
public:
- CommandOSChanKill() : Command("CHANKILL", 2, 3)
+ CommandOSChanKill() : Command("CHANKILL", 2, 3, "operserv/chankill")
{
}
diff --git a/src/core/os_clearmodes.c b/src/core/os_clearmodes.c
index 249484ee4..942e9be6d 100644
--- a/src/core/os_clearmodes.c
+++ b/src/core/os_clearmodes.c
@@ -18,7 +18,7 @@
class CommandOSClearModes : public Command
{
public:
- CommandOSClearModes() : Command("CLEARMODES", 1, 2)
+ CommandOSClearModes() : Command("CLEARMODES", 1, 2, "operserv/clearmodes")
{
}
diff --git a/src/core/os_defcon.c b/src/core/os_defcon.c
index 0ad450241..f079c71e3 100644
--- a/src/core/os_defcon.c
+++ b/src/core/os_defcon.c
@@ -20,7 +20,7 @@ void defcon_sendlvls(User *u);
class CommandOSDEFCON : public Command
{
public:
- CommandOSDEFCON() : Command("DEFCON", 1, 1)
+ CommandOSDEFCON() : Command("DEFCON", 1, 1, "operserv/defcon")
{
}
diff --git a/src/core/os_global.c b/src/core/os_global.c
index 465cc848f..b2a304f7f 100644
--- a/src/core/os_global.c
+++ b/src/core/os_global.c
@@ -18,7 +18,7 @@
class CommandOSGlobal : public Command
{
public:
- CommandOSGlobal() : Command("GLOBAL", 1, 1)
+ CommandOSGlobal() : Command("GLOBAL", 1, 1, "operserv/global")
{
}
diff --git a/src/core/os_ignore.c b/src/core/os_ignore.c
index 286f58388..ca3cf5bb3 100644
--- a/src/core/os_ignore.c
+++ b/src/core/os_ignore.c
@@ -96,7 +96,7 @@ class CommandOSIgnore : public Command
return MOD_CONT;
}
public:
- CommandOSIgnore() : Command("IGNORE", 1, 3)
+ CommandOSIgnore() : Command("IGNORE", 1, 3, "operserv/ignore")
{
}
diff --git a/src/core/os_jupe.c b/src/core/os_jupe.c
index 7b988af6f..9243e953d 100644
--- a/src/core/os_jupe.c
+++ b/src/core/os_jupe.c
@@ -18,7 +18,7 @@
class CommandOSJupe : public Command
{
public:
- CommandOSJupe() : Command("JUPE", 1, 2)
+ CommandOSJupe() : Command("JUPE", 1, 2, "operserv/jupe")
{
}
diff --git a/src/core/os_kick.c b/src/core/os_kick.c
index 06c8a5c74..a121fee4c 100644
--- a/src/core/os_kick.c
+++ b/src/core/os_kick.c
@@ -18,7 +18,7 @@
class CommandOSKick : public Command
{
public:
- CommandOSKick() : Command("KICK", 3, 3)
+ CommandOSKick() : Command("KICK", 3, 3, "operserv/kick")
{
}
diff --git a/src/core/os_mode.c b/src/core/os_mode.c
index ead4f34da..d880711d7 100644
--- a/src/core/os_mode.c
+++ b/src/core/os_mode.c
@@ -18,7 +18,7 @@
class CommandOSMode : public Command
{
public:
- CommandOSMode() : Command("MODE", 2, 2)
+ CommandOSMode() : Command("MODE", 2, 2, "operserv/mode")
{
}
diff --git a/src/core/os_modlist.c b/src/core/os_modlist.c
index cb92215f1..05e2e4a0b 100644
--- a/src/core/os_modlist.c
+++ b/src/core/os_modlist.c
@@ -18,7 +18,7 @@
class CommandOSModList : public Command
{
public:
- CommandOSModList() : Command("MODLIST", 0, 1)
+ CommandOSModList() : Command("MODLIST", 0, 1, "operserv/modlist")
{
}
diff --git a/src/core/os_modload.c b/src/core/os_modload.c
index bd7df70f4..03b023304 100644
--- a/src/core/os_modload.c
+++ b/src/core/os_modload.c
@@ -18,7 +18,7 @@
class CommandOSModLoad : public Command
{
public:
- CommandOSModLoad() : Command("MODLOAD", 1, 1)
+ CommandOSModLoad() : Command("MODLOAD", 1, 1, "operserv/modload")
{
}
diff --git a/src/core/os_modunload.c b/src/core/os_modunload.c
index bca85daa1..f83cfab29 100644
--- a/src/core/os_modunload.c
+++ b/src/core/os_modunload.c
@@ -18,7 +18,7 @@
class CommandOSModUnLoad : public Command
{
public:
- CommandOSModUnLoad() : Command("MODUNLOAD", 1, 1)
+ CommandOSModUnLoad() : Command("MODUNLOAD", 1, 1, "operserv/modload")
{
}
diff --git a/src/core/os_news.c b/src/core/os_news.c
index 42b4ab107..f4375b328 100644
--- a/src/core/os_news.c
+++ b/src/core/os_news.c
@@ -225,7 +225,7 @@ class NewsBase : public Command
return MOD_CONT;
}
public:
- NewsBase(const std::string &newstype) : Command(newstype, 1, 2)
+ NewsBase(const std::string &newstype) : Command(newstype, 1, 2, "operserv/news")
{
}
@@ -366,6 +366,7 @@ class OSNews : public Module
this->AddCommand(OPERSERV, new CommandOSRandomNews(), MOD_UNIQUE);
ModuleManager::Attach(I_OnReload, this);
}
+
void OperServHelp(User *u)
{
notice_lang(s_OperServ, u, OPER_HELP_CMD_LOGONNEWS);
diff --git a/src/core/os_noop.c b/src/core/os_noop.c
index 707ea4b7e..d0f83792a 100644
--- a/src/core/os_noop.c
+++ b/src/core/os_noop.c
@@ -18,7 +18,7 @@
class CommandOSNOOP : public Command
{
public:
- CommandOSNOOP() : Command("NOOP", 2, 2)
+ CommandOSNOOP() : Command("NOOP", 2, 2, "operserv/noop")
{
}
diff --git a/src/core/os_oper.c b/src/core/os_oper.c
index 9580ac5bd..88d82b1c6 100644
--- a/src/core/os_oper.c
+++ b/src/core/os_oper.c
@@ -196,7 +196,7 @@ class CommandOSOper : public Command
return MOD_CONT;
}
public:
- CommandOSOper() : Command("OPER", 1, 2)
+ CommandOSOper() : Command("OPER", 1, 2, "operserv/oper")
{
}
@@ -204,12 +204,6 @@ class CommandOSOper : public Command
{
const char *cmd = params[0].c_str();
- if (!u->nc->HasCommand("operserv/oper"))
- {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- return MOD_CONT;
- }
-
if (!stricmp(cmd, "ADD"))
return this->DoAdd(u, params);
else if (!stricmp(cmd, "DEL"))
diff --git a/src/core/os_quit.c b/src/core/os_quit.c
index 7b757add6..235611b22 100644
--- a/src/core/os_quit.c
+++ b/src/core/os_quit.c
@@ -18,16 +18,12 @@
class CommandOSQuit : public Command
{
public:
- CommandOSQuit() : Command("QUIT", 0, 0)
+ CommandOSQuit() : Command("QUIT", 0, 0, "operserv/quit")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasCommand("operserv/quit")) {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- return MOD_STOP;
- }
quitmsg = new char[28 + strlen(u->nick)];
if (!quitmsg)
diff --git a/src/core/os_reload.c b/src/core/os_reload.c
index 6eb9bbc68..527142d38 100644
--- a/src/core/os_reload.c
+++ b/src/core/os_reload.c
@@ -18,7 +18,7 @@
class CommandOSReload : public Command
{
public:
- CommandOSReload() : Command("RELOAD", 0, 0)
+ CommandOSReload() : Command("RELOAD", 0, 0, "operserv/reload")
{
}
diff --git a/src/core/os_restart.c b/src/core/os_restart.c
index 56b2daa3c..c5a59ea73 100644
--- a/src/core/os_restart.c
+++ b/src/core/os_restart.c
@@ -18,16 +18,12 @@
class CommandOSRestart : public Command
{
public:
- CommandOSRestart() : Command("RESTART", 0, 0)
+ CommandOSRestart() : Command("RESTART", 0, 0, "operserv/restart")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasCommand("operserv/restart")) {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- return MOD_STOP;
- }
#ifdef SERVICES_BIN
quitmsg = new char[31 + strlen(u->nick)];
@@ -48,9 +44,6 @@ class CommandOSRestart : public Command
bool OnHelp(User *u, const std::string &subcommand)
{
- if (!u->nc->HasCommand("operserv/restart"))
- return false;
-
notice_help(s_OperServ, u, OPER_HELP_RESTART);
return true;
}
diff --git a/src/core/os_session.c b/src/core/os_session.c
index d61f78fd6..d9cb15cb7 100644
--- a/src/core/os_session.c
+++ b/src/core/os_session.c
@@ -58,7 +58,7 @@ class CommandOSSession : public Command
return MOD_CONT;
}
public:
- CommandOSSession() : Command("SESSION", 2, 2)
+ CommandOSSession() : Command("SESSION", 2, 2, "operserv/session")
{
}
diff --git a/src/core/os_set.c b/src/core/os_set.c
index 46ca85037..b532dca70 100644
--- a/src/core/os_set.c
+++ b/src/core/os_set.c
@@ -233,7 +233,7 @@ class CommandOSSet : public Command
return MOD_CONT;
}
public:
- CommandOSSet() : Command("SET", 1, 2)
+ CommandOSSet() : Command("SET", 1, 2, "operserv/set")
{
}
diff --git a/src/core/os_sgline.c b/src/core/os_sgline.c
index 02bad147a..414d15fbd 100644
--- a/src/core/os_sgline.c
+++ b/src/core/os_sgline.c
@@ -283,7 +283,7 @@ class CommandOSSGLine : public Command
return MOD_CONT;
}
public:
- CommandOSSGLine() : Command("SGLINE", 1, 3)
+ CommandOSSGLine() : Command("SGLINE", 1, 3, "operserv/sgline")
{
}
diff --git a/src/core/os_shutdown.c b/src/core/os_shutdown.c
index 7aa3252ee..321b418f4 100644
--- a/src/core/os_shutdown.c
+++ b/src/core/os_shutdown.c
@@ -18,16 +18,12 @@
class CommandOSShutdown : public Command
{
public:
- CommandOSShutdown() : Command("SHUTDOWN", 0, 0)
+ CommandOSShutdown() : Command("SHUTDOWN", 0, 0, "operserv/shutdown")
{
}
CommandReturn Execute(User *u, std::vector<std::string> &params)
{
- if (!u->nc->HasCommand("operserv/shutdown")) {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- return MOD_STOP;
- }
quitmsg = new char[32 + strlen(u->nick)];
if (!quitmsg)
diff --git a/src/core/os_sqline.c b/src/core/os_sqline.c
index 5072b62f9..e7438dcb2 100644
--- a/src/core/os_sqline.c
+++ b/src/core/os_sqline.c
@@ -270,7 +270,7 @@ class CommandOSSQLine : public Command
return MOD_CONT;
}
public:
- CommandOSSQLine() : Command("SQLINE", 1, 4)
+ CommandOSSQLine() : Command("SQLINE", 1, 4, "operserv/sqline")
{
}
diff --git a/src/core/os_staff.c b/src/core/os_staff.c
index f49427e12..3aa5bc3c2 100644
--- a/src/core/os_staff.c
+++ b/src/core/os_staff.c
@@ -21,7 +21,7 @@ int opers_list(int number, NickCore *nc, User *u, char *level);
class CommandOSStaff : public Command
{
public:
- CommandOSStaff() : Command("STAFF", 0, 0)
+ CommandOSStaff() : Command("STAFF", 0, 0, "operserv/staff")
{
}
diff --git a/src/core/os_stats.c b/src/core/os_stats.c
index 4223f1301..a0f0e947b 100644
--- a/src/core/os_stats.c
+++ b/src/core/os_stats.c
@@ -275,7 +275,7 @@ class CommandOSStats : public Command
return MOD_CONT;
}
public:
- CommandOSStats() : Command("STATS", 0, 1)
+ CommandOSStats() : Command("STATS", 0, 1, "operserv/stats")
{
}
diff --git a/src/core/os_szline.c b/src/core/os_szline.c
index 2caa4cd49..264f85818 100644
--- a/src/core/os_szline.c
+++ b/src/core/os_szline.c
@@ -269,7 +269,7 @@ class CommandOSSZLine : public Command
return MOD_CONT;
}
public:
- CommandOSSZLine() : Command("SZLINE", 1, 4)
+ CommandOSSZLine() : Command("SZLINE", 1, 4, "operserv/szline")
{
}
diff --git a/src/core/os_update.c b/src/core/os_update.c
index 0ce0b761b..bba4df06a 100644
--- a/src/core/os_update.c
+++ b/src/core/os_update.c
@@ -18,7 +18,7 @@
class CommandOSUpdate : public Command
{
public:
- CommandOSUpdate() : Command("UPDATE", 0, 0)
+ CommandOSUpdate() : Command("UPDATE", 0, 0, "operserv/update")
{
}
diff --git a/src/modules/os_info.c b/src/modules/os_info.c
index e1234156a..20dc839e3 100644
--- a/src/modules/os_info.c
+++ b/src/modules/os_info.c
@@ -106,7 +106,7 @@ class CommandNSOInfo : public Command
return MOD_CONT;
}
public:
- CommandNSOInfo() : Command("OINFO", 2, 3)
+ CommandNSOInfo() : Command("OINFO", 2, 3, "nickserv/oinfo")
{
}
@@ -193,7 +193,7 @@ class CommandCSOInfo : public Command
return MOD_CONT;
}
public:
- CommandCSOInfo() : Command("OINFO", 2, 3)
+ CommandCSOInfo() : Command("OINFO", 2, 3, "chanserv/oinfo")
{
}