repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 02182143c30288b54cf84325c796ec9b7a7b2d34:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 02182143c30288b54cf84325c796ec9b7a7b2d34
Author: Alexander Barton 
Date:   Thu Sep 26 02:58:01 2013 +0200

    Don't forward KILL commands for unknown clients

diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index 74b8a018cf1a5d8dc3da0541964748f186928562..
index ..ee7972c215a7534519cea8759d4252341e80ef37 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -346,18 +346,18 @@ IRC_KillClient(CLIENT *Client, CLIENT *From, const char *Nick, const char *Reaso
 	CONN_ID my_conn, conn;
 	CLIENT *c;

-	/* Inform other servers */
-	IRC_WriteStrServersPrefix(From ? Client : NULL,
-				  From ? From : Client_ThisServer(),
-				  "KILL %s :%s", Nick, Reason);
-
-	/* Do we know such a client? */
+	/* Do we know such a client in the network? */
 	c = Client_Search(Nick);
 	if (!c) {
-		LogDebug("Client with nick \"%s\" is unknown here.", Nick);
+		LogDebug("Client with nick \"%s\" is unknown, not forwaring.", Nick);
 		return CONNECTED;
 	}

+	/* Inform other servers */
+	IRC_WriteStrServersPrefix(From ? Client : NULL,
+				  From ? From : Client_ThisServer(),
+				  "KILL %s :%s", Nick, Reason);
+
 	if (Client_Type(c) != CLIENT_USER && Client_Type(c) != CLIENT_GOTNICK) {
 		/* Target of this KILL is not a regular user, this is
 		 * invalid! So we ignore this case if we received a

-----END OF PAGE-----