summaryrefslogtreecommitdiff
path: root/modules/pseudoclients
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-10-02 01:30:35 -0400
committerAdam <Adam@anope.org>2012-10-02 01:30:35 -0400
commitf7aa8376969824bcfeb39044e8a1e89cd58b4b02 (patch)
tree8552a855fd96a626eeca7ebf7cf9166c84becfbf /modules/pseudoclients
parente1d1d1828842a4b3423181ab4c140e65a7b8bbe8 (diff)
Don't unassociate accounts with users on nick changes
Diffstat (limited to 'modules/pseudoclients')
-rw-r--r--modules/pseudoclients/nickserv.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp
index 86b525950..cda719a33 100644
--- a/modules/pseudoclients/nickserv.cpp
+++ b/modules/pseudoclients/nickserv.cpp
@@ -297,13 +297,14 @@ class NickServCore : public Module
/* If the new nick isnt registerd or its registerd and not yours */
if (!na || na->nc != u->Account())
{
- ircdproto->SendLogout(u);
+ /* Remove +r, but keep an account associated with the user */
u->RemoveMode(NickServ, UMODE_REGISTERED);
this->mynickserv.Validate(u);
}
else
{
+ /* Reset +r and re-send account (even though it really should be set at this point) */
ircdproto->SendLogin(u);
if (!Config->NoNicknameOwnership && na->nc == u->Account() && na->nc->HasFlag(NI_UNCONFIRMED) == false)
u->SetMode(NickServ, UMODE_REGISTERED);