From 37359799eba5233958b8b6fe665928c4e3c64889 Mon Sep 17 00:00:00 2001 From: Tassilo Schweyer Date: Sun, 26 Apr 2009 00:23:40 +0200 Subject: [PATCH] Fix server list announcement When ngircd announces the list of currently known servers to a new (connecting) server, it sent the introducer of the servers instead of the top server. Assuming this network: irc1.example.com |--irc2.example.com | `--irc3.example.com | `--irc4.example.com `--irc5.example.com When irc4 connects to irc3, irc3 tells irc4 that irc5 was connected to irc2. (irc2 had introduced irc5 to irc3; but thats not what ngircd should have sent to the new server). This also placed users on the wrong servers. --- src/ngircd/numeric.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngircd/numeric.c b/src/ngircd/numeric.c index 74c5c12b..c3d94c3d 100644 --- a/src/ngircd/numeric.c +++ b/src/ngircd/numeric.c @@ -131,7 +131,7 @@ Announce_Server(CLIENT * Client, CLIENT * Server) if (Client_Hops(Server) == 1) c = Client_ThisServer(); else - c = Client_Introducer(Server); + c = Client_TopServer(Server); /* Inform new server about the one already registered in the network */ return IRC_WriteStrClientPrefix(Client, c, "SERVER %s %d %d :%s", -- 2.39.2