aboutsummaryrefslogtreecommitdiffstats
path: root/src/cmd_kill.cpp
diff options
context:
space:
mode:
authorGravatar brain2007-09-24 23:54:37 +0000
committerGravatar brain2007-09-24 23:54:37 +0000
commit105964a82be900d3587be266b004616e0407947b (patch)
tree991e8187b71b3988ee5d863806703991fc3bf273 /src/cmd_kill.cpp
parentBackport: Fix for bug #424 (diff)
Backport fix for bug #419
git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8073 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/cmd_kill.cpp')
-rw-r--r--src/cmd_kill.cpp15
1 files changed, 13 insertions, 2 deletions
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