From: Baptiste Assmann Date: Mon, 21 Sep 2015 18:55:08 +0000 (+0200) Subject: BUG: dns: can't connect UDP socket on FreeBSD X-Git-Tag: v1.6-dev6~101 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c62c47cb287ab25623505ed491a01d3b940f801;p=thirdparty%2Fhaproxy.git BUG: dns: can't connect UDP socket on FreeBSD PiBANL reported that HAProxy's DNS resolver can't "connect" its socker on FreeBSD. Remi Gacogne reported that we should use the function 'get_addr_len' to get the addr structure size instead of sizeof. --- diff --git a/src/dns.c b/src/dns.c index 3439f7ee90..fee5f5fc28 100644 --- a/src/dns.c +++ b/src/dns.c @@ -848,7 +848,7 @@ int dns_init_resolvers(void) } /* "connect" the UDP socket to the name server IP */ - if (connect(fd, (struct sockaddr*)&curnameserver->addr, sizeof(curnameserver->addr)) == -1) { + if (connect(fd, (struct sockaddr*)&curnameserver->addr, get_addr_len(&curnameserver->addr)) == -1) { Alert("Starting [%s/%s] nameserver: can't connect socket.\n", curr_resolvers->id, curnameserver->id); close(fd);