Commit Diff
- Commit:
37359799eba5233958b8b6fe665928c4e3c64889
- From:
- Tassilo Schweyer <dev@welterde.de>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
- Message:
- 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.
- Actions:
- Patch | Tree
--- src/ngircd/numeric.c +++ 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",