From 8c62c47cb287ab25623505ed491a01d3b940f801 Mon Sep 17 00:00:00 2001 From: Baptiste Assmann Date: Mon, 21 Sep 2015 20:55:08 +0200 Subject: [PATCH] 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. --- src/dns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dns.c b/src/dns.c index 3439f7ee9..fee5f5fc2 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);