diff options
author | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-02-28 00:48:36 +0000 |
---|---|---|
committer | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-02-28 00:48:36 +0000 |
commit | 090107db5f2afa16e155f56d7928e38d0a17a295 (patch) | |
tree | 396c2d0fd726a40aecd3d866f1a8cfdc0bc54732 /src/core/cs_logout.c | |
parent | f2fb7ef53f1082f5c194f56f80592111051f1f76 (diff) |
Add access checking to cs_* modules. Also change number of arguments for cs_modes commands.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2134 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core/cs_logout.c')
-rw-r--r-- | src/core/cs_logout.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/core/cs_logout.c b/src/core/cs_logout.c index f46438059..86bc25407 100644 --- a/src/core/cs_logout.c +++ b/src/core/cs_logout.c @@ -52,7 +52,7 @@ class CommandCSLogout : public Command } public: - CommandCSLogout() : Command("LOGOUT", 1, 2) + CommandCSLogout() : Command("LOGOUT", 2, 2) { } @@ -63,20 +63,12 @@ class CommandCSLogout : public Command const char *nick = params.size() > 1 ? params[1].c_str() : NULL; ChannelInfo *ci; User *u2 = NULL; - int is_servadmin = is_services_admin(u); - if (!nick && !is_servadmin) - { - // XXX: this should be permission denied. - syntax_error(s_ChanServ, u, "LOGOUT", - (!is_servadmin ? CHAN_LOGOUT_SYNTAX : - CHAN_LOGOUT_SERVADMIN_SYNTAX)); - } - else if (!(ci = cs_findchan(chan))) + if (!(ci = cs_findchan(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); } - else if (!is_servadmin && (ci->flags & CI_FORBIDDEN)) + else if ((ci->flags & CI_FORBIDDEN)) { notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan); } @@ -84,7 +76,7 @@ class CommandCSLogout : public Command { notice_lang(s_ChanServ, u, NICK_X_NOT_IN_USE, nick); } - else if (!is_servadmin && u2 != u && !is_real_founder(u, ci)) + else if (u2 != u && !is_real_founder(u, ci)) { notice_lang(s_ChanServ, u, ACCESS_DENIED); } @@ -114,8 +106,6 @@ class CommandCSLogout : public Command bool OnHelp(User *u, const std::string &subcommand) { - if (is_services_admin(u) || is_services_root(u)) - notice_help(s_NickServ, u, CHAN_SERVADMIN_HELP_LOGOUT); notice_help(s_NickServ, u, CHAN_HELP_LOGOUT); return true; } |