Module: ngircd.git Branch: master Commit: d7ad956a06af2bde1cfcf2ed8194b6a84d69d968 URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=d7ad9...
Author: Alexander Barton alex@barton.de Date: Wed Oct 27 21:59:51 2010 +0200
Fix connect attempts to further IP addresses of outgoing server links
If a hostname resolves to more than one IP address (round-robin DNS, IPv4 and IPv6) and an attempt to connect to the first address fails, ngIRCd should try to connect to the 2nd address, 3rd address etc.
But because of a wrong variable used in the call to New_Server(), the wrong server structure has been used in further connection attemps which possibly lead to connection attempts to already connected servers.
---
src/ngircd/conn.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index bbb186e..2d5e129 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -207,7 +207,7 @@ cb_connserver(int sock, UNUSED short what)
if (ng_ipaddr_af(&Conf_Server[server].dst_addr[0])) { /* more addresses to try... */ - New_Server(res, &Conf_Server[server].dst_addr[0]); + New_Server(server, &Conf_Server[server].dst_addr[0]); /* connection to dst_addr[0] is now in progress, so * remove this address... */ Conf_Server[server].dst_addr[0] =