diff options
author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-13 02:56:47 +0000 |
---|---|---|
committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-13 02:56:47 +0000 |
commit | 960968b8cd591d32be70eba45600db3568e59cff (patch) | |
tree | 74b50d78311ee71fef26dab2b58cdc7ba55bdf34 /src | |
parent | 9c6576f78e495a9b992c26d7da0b3c0c583e22c7 (diff) |
Made /nickserv group work properly with the new account system
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2647 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ns_group.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/ns_group.c b/src/core/ns_group.c index e66986ce6..231f7cc2a 100644 --- a/src/core/ns_group.c +++ b/src/core/ns_group.c @@ -62,24 +62,27 @@ class CommandNSGroup : public Command } } + na = findnick(u->nick); if (!(target = findnick(nick))) notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick); else if (time(NULL) < u->lastnickreg + NSRegDelay) notice_lang(s_NickServ, u, NICK_GROUP_PLEASE_WAIT, (NSRegDelay + u->lastnickreg) - time(NULL)); - else if (u->nc && (u->nc->HasFlag(NI_SUSPENDED))) + else if (u->nc && u->nc->HasFlag(NI_SUSPENDED)) { alog("%s: %s!%s@%s tried to use GROUP from SUSPENDED nick %s", s_NickServ, u->nick, u->GetIdent().c_str(), u->host, target->nick); notice_lang(s_NickServ, u, NICK_X_SUSPENDED, u->nick); } - else if (target && (target->nc->HasFlag(NI_SUSPENDED))) + else if (target && target->nc->HasFlag(NI_SUSPENDED)) { alog("%s: %s!%s@%s tried to use GROUP from SUSPENDED nick %s", s_NickServ, u->nick, u->GetIdent().c_str(), u->host, target->nick); notice_lang(s_NickServ, u, NICK_X_SUSPENDED, target->nick); } else if (target->HasFlag(NS_FORBIDDEN)) notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick); - else if (u->nc && (target->nc == u->nc)) + else if (na && target->nc == na->nc) notice_lang(s_NickServ, u, NICK_GROUP_SAME, target->nick); + else if (na && na->nc != u->nc) + notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ); 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) @@ -93,8 +96,8 @@ class CommandNSGroup : public Command /* If the nick is already registered, drop it. * If not, check that it is valid. */ - if (findnick(u->nick)) - delete findnick(u->nick); + if (na) + delete na; else { int prefixlen = strlen(NSGuestNickPrefix); |