From be4c8f3f21f6b5c1a56a60d5843a62d5a3321039 Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 19 Feb 2007 08:15:54 +0000 Subject: Fix for crashbugs when quitting users as experienced by satmd, SiliconAI and others. QA: Please test combinations of /quit, /kill, and friends. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6595 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cmd_nick.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/cmd_nick.cpp') diff --git a/src/cmd_nick.cpp b/src/cmd_nick.cpp index 0bba6af0d..ae02a2e6d 100644 --- a/src/cmd_nick.cpp +++ b/src/cmd_nick.cpp @@ -69,11 +69,17 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user) if ((ServerInstance->FindNick(parameters[0])) && (ServerInstance->FindNick(parameters[0]) != user) && (ServerInstance->IsNick(parameters[0]))) { userrec* InUse = ServerInstance->FindNick(parameters[0]); + /* XXX FIXME: This no longer works with the global culllist stuff, + * because the user is pushed onto the cullList then we accept a new user + * with the SAME nickname, so this mucks up the nickname hash completely. + * We need to find a way to force a nickchange upon the user whos being + * overruled, rather than quitting them. -- Brain + * if (InUse->registered != REG_ALL) { userrec::QuitUser(ServerInstance, InUse, "Nickname overruled"); } - else + else*/ { user->WriteServ("433 %s %s :Nickname is already in use.", user->registered >= REG_NICK ? user->nick : "*", parameters[0]); return CMD_FAILURE; -- cgit v1.2.3