repo: ngircd action: commit revision: path_from: revision_from: e009fc87d54602cc2a4d9b60257f40bad14fc081: path_to: revision_to:
commit e009fc87d54602cc2a4d9b60257f40bad14fc081 Author: James LuDate: Tue Sep 26 13:50:20 2017 -0700 Don't forward KILLs to other servers if they've been blocked locally This prevents clients from killing IRC services, for example. Closes #238. Closes #239. diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -362,11 +362,6 @@ IRC_KillClient(CLIENT *Client, CLIENT *From, const char *Nick, const char *Reaso
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
@@ -388,6 +383,12 @@ IRC_KillClient(CLIENT *Client, CLIENT *From, const char *Nick, const char *Reaso
Client_Type(c), Nick);
}
+ /* Inform other servers */
+ IRC_WriteStrServersPrefix(From ? Client : NULL,
+ From ? From : Client_ThisServer(),
+ "KILL %s :%s", Nick, Reason);
+
+
/* Save ID of this connection */
if (Client)
my_conn = Client_Conn(Client);
-----END OF PAGE-----