commit e009fc87d54602cc2a4d9b60257f40bad14fc081 from: James Lu via: Alexander Barton date: Tue Sep 26 20:50:20 2017 UTC 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. commit - c37d6971d66a2d840a2b20fe2b995443c2bd6c87 commit + e009fc87d54602cc2a4d9b60257f40bad14fc081 blob - d5e4bde3d70cd1319b82f69641a6d993257be3bc blob + a6f04cba37a33412ae644d2414732183d5ea978e --- src/ngircd/irc.c +++ src/ngircd/irc.c @@ -362,11 +362,6 @@ IRC_KillClient(CLIENT *Client, CLIENT *From, const cha 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 cha 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);