From c24fcf728da0f04de9cc03b9ebbd5f85bab65081 Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 27 Aug 2007 10:50:23 +0000 Subject: 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 --- src/cmd_nick.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'src/cmd_nick.cpp') 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; -- cgit v1.2.3