diff options
author | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-05-05 22:26:41 +0000 |
---|---|---|
committer | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-05-05 22:26:41 +0000 |
commit | dc102049b0e91c5aa730f067c26e33f3e138386d (patch) | |
tree | b8b4b04d3996becc48e67b6fc1f0a87fdb5ce6f7 | |
parent | 845b15ddd99d5b6fde905045595e9d70f7a1c6f2 (diff) |
Adds check for opertype permissions to mod_run_cmd() in commands.c, and adds optional parameter to Command class constructor that takes the opertype permissions for the command.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2292 5417fbe8-f217-4b02-8779-1006273d7864
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> ¶ms) { - 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> ¶ms) { - 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> ¶ms) { - 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> ¶ms) { - 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> ¶ms) { - 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> ¶ms) { - 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> ¶ms) { - 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") { } |