<div dir="ltr"><div class="gmail_default" style="font-family:times new roman,serif">Testing an upgrade from 1.17.2 to 1.18.0 and all curl requests to internal names started failing with "Could not resolve host". adig and ahost are both able to resolve the names just fine. It appears that this affects any lookup that only returns IPv6 addresses, and possibly also any lookup that is behind a DNAME. The IPv6 case is easier to reproduce so that's what I've put below:</div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style=""><span style="font-family:"times new roman",serif">This can be easily reproduced from `</span><font face="monospace">curl -vs <a href="https://production-all-ipv6.easypost.com/health/ok">https://production-all-ipv6.easypost.com/health/ok</a></font><font face="times new roman, serif">` on any host with c-ares 1.18.0 installed and curl linked against c-ares.</font></div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">Bizarrely enough, if I strace curl, I see it actually connecting to the correct remote IP before returning the "Could not resolve host" error. ???</div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">I did a git-bisect run and it points at <a href="https://github.com/c-ares/c-ares/commit/778d7cd9e7bf6b31ce697f47cbe935e33a63a5b4">778d7cd9e7bf6b31ce697f47cbe935e33a63a5b4</a> as the offending commit.</div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">I'm running dnsmasq on localhost and nothing about it has changed. Below is some probably-relevant output from a system with c-ares 1.17.2 installed system wide and c-ares 1.18.0 installed in the "./prefix" directory.</div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">$ curl --version<br>curl 7.79.1 (x86_64-redhat-linux-gnu) libcurl/7.79.1 OpenSSL/1.0.2u zlib/1.2.3 zstd/1.4.9 c-ares/1.17.2 libidn2/2.3.0 libssh2/1.10.0 nghttp2/1.45.1 OpenLDAP/2.4.40<br>Release-Date: 2021-09-22<br>Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp<br>Features: alt-svc AsynchDNS HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets zstd<br></div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">$ env LD_LIBRARY_PATH=./prefix/lib/ curl --version<br>curl 7.79.1 (x86_64-redhat-linux-gnu) libcurl/7.79.1 OpenSSL/1.0.2u zlib/1.2.3 zstd/1.4.9 c-ares/1.18.0 libidn2/2.3.0 libssh2/1.10.0 nghttp2/1.45.1 OpenLDAP/2.4.40<br>Release-Date: 2021-09-22<br>Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp<br>Features: alt-svc AsynchDNS HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets zstd</div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">$ curl <a href="https://production-all-ipv6.easypost.com/health/ok">https://production-all-ipv6.easypost.com/health/ok</a><br>UP<br></div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">$ env LD_LIBRARY_PATH=./prefix/lib/  curl <a href="https://production-all-ipv6.easypost.com/health/ok">https://production-all-ipv6.easypost.com/health/ok</a><br>curl: (6) Could not resolve host: <a href="http://production-all-ipv6.easypost.com">production-all-ipv6.easypost.com</a><br></div><div class="gmail_default" style="font-family:times new roman,serif"><br></div><div class="gmail_default" style="font-family:times new roman,serif">$ env LD_LIBRARY_PATH=./prefix/lib/ strace curl <a href="https://production-all-ipv6.easypost.com/health/ok">https://production-all-ipv6.easypost.com/health/ok</a><br></div><div class="gmail_default" style="font-family:times new roman,serif">[snip]</div><div class="gmail_default" style="font-family:times new roman,serif">connect(5, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0<br>sendto(5, "Q\337\1\0\0\1\0\0\0\0\0\0\23production-all-ipv6"..., 50, MSG_NOSIGNAL, NULL, 0) = 50<br>sendto(5, "~\311\1\0\0\1\0\0\0\0\0\0\23production-all-ipv6"..., 50, MSG_NOSIGNAL, NULL, 0) = 50<br>poll([{fd=5, events=POLLIN|POLLRDNORM}], 1, 0) = 1 ([{fd=5, revents=POLLIN|POLLRDNORM}])<br>recvfrom(5, "Q\337\201\200\0\1\0\0\0\0\0\0\23production-all-ipv6"..., 4097, 0, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 50<br>recvfrom(5, "~\311\201\200\0\1\0\4\0\0\0\0\23production-all-ipv6"..., 4097, 0, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 162<br>socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 6<br>connect(6, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "2607:f0d0:2901:7e::3", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0<br>getsockname(6, {sa_family=AF_INET6, sin6_port=htons(43428), inet_pton(AF_INET6, "2607:f0d0:2901:4b::66", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0<br>close(6)                                = 0<br>socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 6<br>connect(6, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "2607:f0d0:3803:ca::3", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0<br>getsockname(6, {sa_family=AF_INET6, sin6_port=htons(44405), inet_pton(AF_INET6, "2607:f0d0:2901:4b::66", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0<br>close(6)                                = 0<br>socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 6<br>connect(6, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "2607:f0d0:3803:ca::2", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0<br>getsockname(6, {sa_family=AF_INET6, sin6_port=htons(33765), inet_pton(AF_INET6, "2607:f0d0:2901:4b::66", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0<br>close(6)                                = 0<br>socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 6<br>connect(6, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "2607:f0d0:2901:7e::2", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0<br>getsockname(6, {sa_family=AF_INET6, sin6_port=htons(59083), inet_pton(AF_INET6, "2607:f0d0:2901:4b::66", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0<br>close(6)                                = 0<br>close(5)                                = 0<br>rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7ff5cb5f4570}, NULL, 8) = 0<br>rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7ff5cb5f4570}, NULL, 8) = 0<br>write(2, "c", 1c)                        = 1<br>write(2, "u", 1u)                        = 1<br>write(2, "r", 1r)                        = 1<br>write(2, "l", 1l)                        = 1<br>write(2, ":", 1:)                        = 1<br>write(2, " ", 1 )                        = 1<br>write(2, "(", 1()                        = 1<br>write(2, "6", 16)                        = 1<br>write(2, ")", 1))                        = 1<br>write(2, " ", 1 )                        = 1<br>write(2, "C", 1C)                        = 1<br>write(2, "o", 1o)                        = 1<br>write(2, "u", 1u)                        = 1<br>write(2, "l", 1l)                        = 1<br>write(2, "d", 1d)                        = 1<br>write(2, " ", 1 )                        = 1<br>write(2, "n", 1n)                        = 1<br>write(2, "o", 1o)                        = 1<br>write(2, "t", 1t)                        = 1<br>write(2, " ", 1 )                        = 1<br>write(2, "r", 1r)                        = 1<br>write(2, "e", 1e)                        = 1<br>write(2, "s", 1s)                        = 1<br>write(2, "o", 1o)                        = 1<br>write(2, "l", 1l)                        = 1<br>write(2, "v", 1v)                        = 1<br>write(2, "e", 1e)                        = 1<br>write(2, " ", 1 )                        = 1<br>write(2, "h", 1h)                        = 1<br>write(2, "o", 1o)                        = 1<br>write(2, "s", 1s)                        = 1<br>write(2, "t", 1t)                        = 1<br>write(2, ":", 1:)                        = 1<br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="font-family:times new roman,serif">James Brown</span><div><span style="font-family:times new roman,serif">Engineer</span></div></div></div></div></div></div>