summaryrefslogtreecommitdiff
path: root/src/core/ns_getpass.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ns_getpass.c')
-rw-r--r--src/core/ns_getpass.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/core/ns_getpass.c b/src/core/ns_getpass.c
index 8632b6675..036ee82b3 100644
--- a/src/core/ns_getpass.c
+++ b/src/core/ns_getpass.c
@@ -31,6 +31,12 @@ class CommandNSGetPass : public Command
NickAlias *na;
NickRequest *nr = NULL;
+ if (!u->nc->HasCommand("nickserv/getpass"))
+ {
+ notice_lang(s_NickServ, u, PERMISSION_DENIED);
+ return MOD_CONT;
+ }
+
if (!(na = findnick(nick)))
{
if ((nr = findrequestnick(nick)))
@@ -47,8 +53,6 @@ class CommandNSGetPass : public Command
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, na->nick);
else if (NSSecureAdmins && na->nc->IsServicesOper())
notice_lang(s_NickServ, u, PERMISSION_DENIED);
- else if (NSRestrictGetPass && !is_services_root(u))
- notice_lang(s_NickServ, u, PERMISSION_DENIED);
else
{
if (enc_decrypt(na->nc->pass, tmp_pass, PASSMAX - 1) == 1)
@@ -66,9 +70,6 @@ class CommandNSGetPass : public Command
bool OnHelp(User *u, const std::string &subcommand)
{
- if (!is_services_admin(u))
- return false;
-
notice_help(s_NickServ, u, NICK_SERVADMIN_HELP_GETPASS);
return true;
}