diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-27 10:50:23 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-27 10:50:23 +0000 |
commit | c24fcf728da0f04de9cc03b9ebbd5f85bab65081 (patch) | |
tree | 1ba65528501497d3186d3f9bdd8ea3d61c96ea4f /src | |
parent | 115e6b72fe84b6f5bbbe4dec2f32ac13687e2de4 (diff) |
Make nickname-overruled rules change the user back to their uid, not to nnn-unknown
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7868 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/cmd_nick.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/cmd_nick.cpp b/src/cmd_nick.cpp index 4e2ebcf6e..a00803d75 100644 --- a/src/cmd_nick.cpp +++ b/src/cmd_nick.cpp @@ -81,19 +81,12 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user) { if (InUse->registered != REG_ALL) { - /* change the nick of the older user to nnn-overruled, - * where nnn is their file descriptor. We know this to be unique. - * NOTE: We must do this and not quit the user, even though we do - * not have UID support yet. This is because if we set this user - * as quitting and then introduce the new user before the old one - * has quit, then the user hash gets totally buggered. - * (Yes, that is a technical term). -- Brain + /* change the nick of the older user to its UUID */ - std::string changeback = ConvToStr(InUse->GetFd()) + "-overruled"; - InUse->WriteTo(InUse, "NICK %s", changeback.c_str()); + InUse->WriteTo(InUse, "NICK %s", InUse->uuid); InUse->WriteServ("433 %s %s :Nickname overruled.", InUse->nick, InUse->nick); - InUse->UpdateNickHash(changeback.c_str()); - strlcpy(InUse->nick, changeback.c_str(), NICKMAX - 1); + InUse->UpdateNickHash(InUse->uuid); + strlcpy(InUse->nick, InUse->uuid, NICKMAX - 1); InUse->InvalidateCache(); /* Take away their nickname-sent state forcing them to send a nick again */ InUse->registered &= ~REG_NICK; |