From 105964a82be900d3587be266b004616e0407947b Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 24 Sep 2007 23:54:37 +0000 Subject: Backport fix for bug #419 git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8073 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cmd_kill.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/cmd_kill.cpp') diff --git a/src/cmd_kill.cpp b/src/cmd_kill.cpp index 26f354b8f..1d10a9b72 100644 --- a/src/cmd_kill.cpp +++ b/src/cmd_kill.cpp @@ -99,8 +99,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]); - user->WriteTo(u, "KILL %s :%s!%s!%s (%s)", 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.3.1-10-gc9f91