]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: dns: Wrong address family used when creating IPv6 sockets.
authorFrédéric Lécaille <flecaille@haproxy.com>
Tue, 11 Apr 2017 06:46:37 +0000 (08:46 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 11 Apr 2017 18:02:21 +0000 (20:02 +0200)
AF_INET address family was always used to create sockets to connect
to name servers. This prevented any connection over IPv6 from working.

This fix must be backported to 1.7 and 1.6.

src/dns.c

index 075a70116f85271d28d1ec30d825f676a9c0d60d..a118598f9382b17cf80e283ae6045255f224b256 100644 (file)
--- a/src/dns.c
+++ b/src/dns.c
@@ -1022,7 +1022,7 @@ int dns_init_resolvers(int close_socket)
                        dgram->data = &resolve_dgram_cb;
 
                        /* create network UDP socket for this nameserver */
-                       if ((fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
+                       if ((fd = socket(curnameserver->addr.ss_family, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
                                Alert("Starting [%s/%s] nameserver: can't create socket.\n", curr_resolvers->id,
                                                curnameserver->id);
                                free(dgram);