diff options
| author | Alexander Barton <alex@barton.de> | 2010-10-27 21:59:51 +0200 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2010-10-27 21:59:51 +0200 |
| commit | d7ad956a06af2bde1cfcf2ed8194b6a84d69d968 (patch) | |
| tree | e71d48160bba2bfe7a386a93f326152f2abd297c | |
| parent | e2c92900300604c000af86008dad086527a04345 (diff) | |
| download | ngircd-d7ad956a06af2bde1cfcf2ed8194b6a84d69d968.tar.gz ngircd-d7ad956a06af2bde1cfcf2ed8194b6a84d69d968.zip | |
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.
| -rw-r--r-- | 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 bbb186e9..2d5e1295 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] = |