summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/ns_drop.c11
-rw-r--r--src/core/ns_forbid.c6
-rw-r--r--src/core/ns_getemail.c6
3 files changed, 6 insertions, 17 deletions
diff --git a/src/core/ns_drop.c b/src/core/ns_drop.c
index 4e24e5d0a..cbffd0f0f 100644
--- a/src/core/ns_drop.c
+++ b/src/core/ns_drop.c
@@ -29,11 +29,10 @@ class CommandNSDrop : public Command
const char *nick = params.size() ? params[0].c_str() : NULL;
NickAlias *na;
NickRequest *nr = NULL;
- int is_servadmin = is_services_admin(u);
int is_mine; /* Does the nick being dropped belong to the user that is dropping? */
char *my_nick = NULL;
- if (readonly && !is_servadmin)
+ if (readonly)
{
notice_lang(s_NickServ, u, NICK_DROP_DISABLED);
return MOD_CONT;
@@ -43,10 +42,8 @@ class CommandNSDrop : public Command
{
if (nick)
{
- if ((nr = findrequestnick(nick)) && is_servadmin)
+ if ((nr = findrequestnick(nick)) && u->nc->IsServicesOper())
{
- if (readonly)
- notice_lang(s_NickServ, u, READ_ONLY_MODE);
if (WallDrop)
ircdproto->SendGlobops(s_NickServ, "\2%s\2 used DROP on \2%s\2", u->nick, nick);
alog("%s: %s!%s@%s dropped nickname %s (e-mail: %s)", s_NickServ, u->nick, u->GetIdent().c_str(), u->host, nr->nick, nr->email);
@@ -67,7 +64,7 @@ class CommandNSDrop : public Command
if (is_mine && !nick_identified(u))
notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ);
- else if (!is_mine && !is_servadmin)
+ else if (!is_mine && !u->nc->IsServicesOper())
notice_lang(s_NickServ, u, ACCESS_DENIED);
else if (NSSecureAdmins && !is_mine && na->nc->IsServicesOper())
notice_lang(s_NickServ, u, PERMISSION_DENIED);
@@ -104,7 +101,7 @@ class CommandNSDrop : public Command
bool OnHelp(User *u, const std::string &subcommand)
{
- if (is_services_admin(u))
+ if (u->nc && u->nc->IsServicesOper())
notice_help(s_NickServ, u, NICK_SERVADMIN_HELP_DROP);
else
notice_help(s_NickServ, u, NICK_HELP_DROP);
diff --git a/src/core/ns_forbid.c b/src/core/ns_forbid.c
index 7ad0f8917..a1b9ed873 100644
--- a/src/core/ns_forbid.c
+++ b/src/core/ns_forbid.c
@@ -90,9 +90,6 @@ class CommandNSForbid : 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_FORBID);
return true;
}
@@ -124,8 +121,7 @@ class NSForbid : public Module
**/
void myNickServHelp(User *u)
{
- if (is_services_admin(u))
- notice_lang(s_NickServ, u, NICK_HELP_CMD_FORBID);
+ notice_lang(s_NickServ, u, NICK_HELP_CMD_FORBID);
}
NickAlias *makenick(const char *nick)
diff --git a/src/core/ns_getemail.c b/src/core/ns_getemail.c
index d592e89fb..f80bb1806 100644
--- a/src/core/ns_getemail.c
+++ b/src/core/ns_getemail.c
@@ -60,9 +60,6 @@ class CommandNSGetEMail : 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_GETEMAIL);
return true;
}
@@ -94,8 +91,7 @@ class NSGetEMail : public Module
**/
void myNickServHelp(User *u)
{
- if (is_services_admin(u))
- notice_lang(s_NickServ, u, NICK_HELP_CMD_GETEMAIL);
+ notice_lang(s_NickServ, u, NICK_HELP_CMD_GETEMAIL);
}
MODULE_INIT("ns_getemail", NSGetEMail)