From 9b67d07930a24690d775eb414666f7a75c38ec11 Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 24 Sep 2007 23:53:30 +0000 Subject: Final part of fix for #419 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8072 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cmd_kill.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/cmd_kill.cpp b/src/cmd_kill.cpp index 1b8a10b51..1d58ea419 100644 --- a/src/cmd_kill.cpp +++ b/src/cmd_kill.cpp @@ -95,9 +95,19 @@ CmdResult cmd_kill::Handle (const char** parameters, int pcnt, userrec *user) */ ServerInstance->SNO->WriteToSnoMask('k',"Local Kill by %s: %s!%s@%s (%s)", user->nick, u->nick, u->ident, u->host, parameters[1]); ServerInstance->Log(DEFAULT,"LOCAL KILL: %s :%s!%s!%s (%s)", u->nick, ServerInstance->Config->ServerName, user->dhost, user->nick, parameters[1]); - u->Write(":%s KILL %s :%s!%s!%s (%s)", *ServerInstance->Config->HideKillsServer ? ServerInstance->Config->HideKillsServer : user->GetFullHost(), - u->nick, ServerInstance->Config->ServerName, user->dhost, - *ServerInstance->Config->HideKillsServer ? ServerInstance->Config->HideKillsServer : user->nick, parameters[1]); + /* Bug #419, make sure this message can only occur once even in the case of multiple KILL messages crossing the network, and change to show + * hidekillsserver as source if possible + */ + if (!u->muted) + { + u->Write(":%s KILL %s :%s!%s!%s (%s)", *ServerInstance->Config->HideKillsServer ? ServerInstance->Config->HideKillsServer : user->GetFullHost(), + u->nick, + ServerInstance->Config->ServerName, + user->dhost, + *ServerInstance->Config->HideKillsServer ? ServerInstance->Config->HideKillsServer : user->nick, + parameters[1]); + u->muted = true; + } } // send the quit out -- cgit v1.2.3