On Wed, Oct 28, 2015 at 12:00 PM, Baptiste <[email protected]> wrote: > Good catch, forget about patch 00001, It was 2AM in the morning when I > wrote it :'(... > I wanted to apply the same code as DNS_UPD_NO_IP_FOUND, and increment > the OTHER error.
That is interesting, but I was asking about the second patch, 0002-BUG-MINOR-dns-unable-to-parse-CNAMEs-response.patch
From c5f95cda9cf66db99d6088af4ecf82568a4602b4 Mon Sep 17 00:00:00 2001 From: Baptiste Assmann <[email protected]> Date: Wed, 28 Oct 2015 02:10:02 +0100 Subject: [PATCH 2/2] BUG/MINOR: dns: unable to parse CNAMEs response A bug lied in the parsing of DNS CNAME response, leading HAProxy to think the CNAME was improperly resolved in the response. This should be backported into 1.6 branch --- src/dns.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/dns.c b/src/dns.c index 53b65ab..e28e2a9 100644 --- a/src/dns.c +++ b/src/dns.c @@ -628,8 +628,11 @@ int dns_get_ip_from_response(unsigned char *resp, unsigned char *resp_end, else ptr = reader; - if (cname && memcmp(ptr, cname, cnamelen)) - return DNS_UPD_NAME_ERROR; + if (cname) { + if (memcmp(ptr, cname, cnamelen)) { + return DNS_UPD_NAME_ERROR; + } + } else if (memcmp(ptr, dn_name, dn_name_len)) return DNS_UPD_NAME_ERROR; -- 2.5.0

