diff options
author | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-04-01 19:56:40 +0000 |
---|---|---|
committer | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-04-01 19:56:40 +0000 |
commit | 3cdca9e47a75f576e5ce5ba731cb65c5e68ac647 (patch) | |
tree | 0879f2048a661ad8bfc4bd1293481f87833cf767 /src | |
parent | e57feb4ef66eb167624b0f1df56d744771662452 (diff) |
Replace nick_is_* checking of static userlevels with NickCore::IsServicesOper, which just confirms they have *an* opertype.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2231 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/chanserv.c | 2 | ||||
-rw-r--r-- | src/core/ms_staff.c | 2 | ||||
-rw-r--r-- | src/core/ns_drop.c | 2 | ||||
-rw-r--r-- | src/core/ns_forbid.c | 2 | ||||
-rw-r--r-- | src/core/ns_getpass.c | 2 | ||||
-rw-r--r-- | src/core/ns_group.c | 2 | ||||
-rw-r--r-- | src/core/ns_info.c | 23 | ||||
-rw-r--r-- | src/core/ns_saset.c | 4 | ||||
-rw-r--r-- | src/core/ns_suspend.c | 4 | ||||
-rw-r--r-- | src/nickcore.cpp | 8 | ||||
-rw-r--r-- | src/operserv.c | 42 |
11 files changed, 25 insertions, 68 deletions
diff --git a/src/chanserv.c b/src/chanserv.c index d821e6a0a..235421072 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1420,7 +1420,7 @@ void cs_remove_nick(const NickCore * nc) if (ci->founder == nc) { if (ci->successor) { NickCore *nc2 = ci->successor; - if (!nick_is_services_admin(nc2) && CSMaxReg && nc2->channelcount >= CSMaxReg) { + if (!nc2->IsServicesIoer() && CSMaxReg && nc2->channelcount >= CSMaxReg) { alog("%s: Successor (%s) of %s owns too many channels, " "deleting channel", s_ChanServ, nc2->display, ci->name); delchan(ci); continue; diff --git a/src/core/ms_staff.c b/src/core/ms_staff.c index bf336f18a..4f3590e7b 100644 --- a/src/core/ms_staff.c +++ b/src/core/ms_staff.c @@ -51,7 +51,7 @@ class CommandMSStaff : public Command { for (nc = nclists[i]; nc; nc = nc->next) { - if (nick_is_services_oper(nc)) + if (nc->IsServicesOper()) memo_send(u, nc->display, text, z); } } diff --git a/src/core/ns_drop.c b/src/core/ns_drop.c index 2d2ffc8d9..4e24e5d0a 100644 --- a/src/core/ns_drop.c +++ b/src/core/ns_drop.c @@ -69,7 +69,7 @@ class CommandNSDrop : public Command notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ); else if (!is_mine && !is_servadmin) notice_lang(s_NickServ, u, ACCESS_DENIED); - else if (NSSecureAdmins && !is_mine && nick_is_services_admin(na->nc) && !is_services_root(u)) + else if (NSSecureAdmins && !is_mine && na->nc->IsServicesOper()) notice_lang(s_NickServ, u, PERMISSION_DENIED); else { diff --git a/src/core/ns_forbid.c b/src/core/ns_forbid.c index aff9aec48..7ad0f8917 100644 --- a/src/core/ns_forbid.c +++ b/src/core/ns_forbid.c @@ -46,7 +46,7 @@ class CommandNSForbid : public Command } if ((na = findnick(nick))) { - if (NSSecureAdmins && nick_is_services_admin(na->nc) && !is_services_root(u)) + if (NSSecureAdmins && na->nc->IsServicesOper()) { notice_lang(s_NickServ, u, PERMISSION_DENIED); return MOD_CONT; diff --git a/src/core/ns_getpass.c b/src/core/ns_getpass.c index 34bbd3137..8632b6675 100644 --- a/src/core/ns_getpass.c +++ b/src/core/ns_getpass.c @@ -45,7 +45,7 @@ class CommandNSGetPass : public Command } else if (na->status & NS_FORBIDDEN) notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, na->nick); - else if (NSSecureAdmins && nick_is_services_admin(na->nc) && !is_services_root(u)) + 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); diff --git a/src/core/ns_group.c b/src/core/ns_group.c index 60ca25e3f..8d99cbfeb 100644 --- a/src/core/ns_group.c +++ b/src/core/ns_group.c @@ -107,7 +107,7 @@ class CommandNSGroup : public Command notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick); else if (u->nc && (target->nc == u->nc)) notice_lang(s_NickServ, u, NICK_GROUP_SAME, target->nick); - else if (NSMaxAliases && (target->nc->aliases.count >= NSMaxAliases) && !nick_is_services_admin(target->nc)) + else if (NSMaxAliases && (target->nc->aliases.count >= NSMaxAliases) && !target->nc->IsServicesOper()) notice_lang(s_NickServ, u, NICK_GROUP_TOO_MANY, target->nick, s_NickServ, s_NickServ); else if (enc_check_password(pass, target->nc->pass) != 1) { diff --git a/src/core/ns_info.c b/src/core/ns_info.c index 3485cde6e..ed010c71e 100644 --- a/src/core/ns_info.c +++ b/src/core/ns_info.c @@ -98,23 +98,14 @@ class CommandNSInfo : public Command notice_lang(s_NickServ, u, NICK_INFO_REALNAME, na->nick, na->last_realname); - if (show_hidden) - { - if (nick_is_services_root(na->nc)) - notice_lang(s_NickServ, u, NICK_INFO_SERVICES_ROOT, na->nick); - else if (nick_is_services_admin(na->nc)) - notice_lang(s_NickServ, u, NICK_INFO_SERVICES_ADMIN, na->nick); - else if (nick_is_services_oper(na->nc)) - notice_lang(s_NickServ, u, NICK_INFO_SERVICES_OPER, na->nick); - } - else + // XXX: we should perhaps show their opertype here. + if (na->nc->IsServicesOper()) { - if (nick_is_services_root(na->nc) && !(na->nc->flags & NI_HIDE_STATUS)) - notice_lang(s_NickServ, u, NICK_INFO_SERVICES_ROOT, na->nick); - else if (nick_is_services_admin(na->nc) && !(na->nc->flags & NI_HIDE_STATUS)) - notice_lang(s_NickServ, u, NICK_INFO_SERVICES_ADMIN, na->nick); - else if (nick_is_services_oper(na->nc) && !(na->nc->flags & NI_HIDE_STATUS)) - notice_lang(s_NickServ, u, NICK_INFO_SERVICES_OPER, na->nick); + if (show_hidden || (!na->nc->flags & NI_HIDE_STATUS)) + { + notice_lang(s_NickServ, u, NICK_INFO_SERVICES_OPERTYPE, na->nick, na->nc->ot->GetName().c_str()); + + } } if (nick_online) diff --git a/src/core/ns_saset.c b/src/core/ns_saset.c index f4cae7c07..3f642d0e5 100644 --- a/src/core/ns_saset.c +++ b/src/core/ns_saset.c @@ -68,7 +68,7 @@ private: int len = strlen(param); char tmp_pass[PASSMAX]; - if (NSSecureAdmins && u->nc != nc && nick_is_services_admin(nc) && !is_services_root(u)) + if (NSSecureAdmins && u->nc != nc && nc->IsServicesOper()) { notice_lang(s_NickServ, u, PERMISSION_DENIED); return MOD_CONT; @@ -133,7 +133,7 @@ private: notice_lang(s_NickServ, u, NICK_SASET_EMAIL_UNSET_IMPOSSIBLE); return MOD_CONT; } - else if (NSSecureAdmins && u->nc != nc && nick_is_services_admin(nc) && !is_services_root(u)) + else if (NSSecureAdmins && u->nc != nc && nc->IsServicesOper()) { notice_lang(s_NickServ, u, PERMISSION_DENIED); return MOD_CONT; diff --git a/src/core/ns_suspend.c b/src/core/ns_suspend.c index 71e678eee..be34889df 100644 --- a/src/core/ns_suspend.c +++ b/src/core/ns_suspend.c @@ -50,7 +50,7 @@ class CommandNSSuspend : public Command return MOD_CONT; } - if (NSSecureAdmins && nick_is_services_admin(na->nc) && !is_services_root(u)) + if (NSSecureAdmins && na->nc->IsServicesOper()) { notice_lang(s_NickServ, u, PERMISSION_DENIED); return MOD_CONT; @@ -137,7 +137,7 @@ class CommandNSUnSuspend : public Command return MOD_CONT; } - if (NSSecureAdmins && nick_is_services_admin(na->nc) && !is_services_root(u)) + if (NSSecureAdmins && na->nc->IsServicesOper()) { notice_lang(s_NickServ, u, PERMISSION_DENIED); return MOD_CONT; diff --git a/src/nickcore.cpp b/src/nickcore.cpp index 6dadc9217..804d0c1c7 100644 --- a/src/nickcore.cpp +++ b/src/nickcore.cpp @@ -22,6 +22,14 @@ bool NickCore::HasCommand(const std::string &cmdstr) const return this->ot->HasCommand(cmdstr); } +bool NickCore::IsServicesOper() const +{ + if (this->ot) + return true; + + return false; +} + bool NickCore::HasPriv(const std::string &privstr) const { if (!this->ot) diff --git a/src/operserv.c b/src/operserv.c index 1ba950933..012a800da 100644 --- a/src/operserv.c +++ b/src/operserv.c @@ -388,48 +388,6 @@ int is_services_oper(User * u) } /*************************************************************************/ - -/* Is the given nick a Services root nick? */ - -int nick_is_services_root(NickCore * nc) -{ - if (nc) { - if (nc->flags & (NI_SERVICES_ROOT)) - return 1; - } - return 0; -} - -/*************************************************************************/ - -/* Is the given nick a Services admin/root nick? */ - -int nick_is_services_admin(NickCore * nc) -{ - if (nc) { - if (nc->flags & (NI_SERVICES_ADMIN | NI_SERVICES_ROOT)) - return 1; - } - return 0; -} - -/*************************************************************************/ - -/* Is the given nick a Services oper/admin/root nick? */ - -int nick_is_services_oper(NickCore * nc) -{ - if (nc) { - if (nc-> - flags & (NI_SERVICES_OPER | NI_SERVICES_ADMIN | - NI_SERVICES_ROOT)) - return 1; - } - return 0; -} - - -/*************************************************************************/ /*********************** OperServ command functions **********************/ /*************************************************************************/ |