cURL
Haxx ad
libcurl

curl's project page on SourceForge.net

Sponsors:
Haxx

cURL > Mailing List > Monthly Index > Single Mail

curl-tracker Archives

[curl:bugs] #1283 curl c-ares ipv6 search order incorrect

From: Daniel Stenberg <bagder_at_users.sf.net>
Date: Tue, 24 Sep 2013 21:10:33 +0000

- **status**: pending-invalid --> open

---
** [bugs:#1283] curl c-ares ipv6 search order incorrect**
**Status:** open
**Created:** Tue Sep 24, 2013 08:43 PM UTC by John Gardiner Myers
**Last Updated:** Tue Sep 24, 2013 09:07 PM UTC
**Owner:** Daniel Stenberg
Curl when compiled with c-ares and IPv6 support on a host that can create IPv6 sockets performs queries for hostnames in URLs in the wrong order.
With the /etc/resolv.conf:
search eng.proofpoint.com us.proofpoint.com corp.proofpoint.com lab.proofpoint.com spt.proofpoint.com proofpoint.com
nameserver 10.20.1.4
the command:
curl http://update2.proofpoint.com/
produces the following sequence of DNS queries:
13:35:59.240390 IP 10.22.60.14.55727 > 10.20.1.4.domain:  15948+ AAAA? update2.proofpoint.com.eng.proofpoint.com. (59)
13:35:59.241002 IP 10.20.1.4.domain > 10.22.60.14.55727:  15948 NXDomain* 0/1/0 (107)
13:35:59.241051 IP 10.22.60.14.56052 > 10.20.1.4.domain:  13748+ AAAA? update2.proofpoint.com.us.proofpoint.com. (58)
13:35:59.241699 IP 10.20.1.4.domain > 10.22.60.14.56052:  13748 NXDomain* 0/1/0 (103)
13:35:59.241747 IP 10.22.60.14.50248 > 10.20.1.4.domain:  36122+ AAAA? update2.proofpoint.com.corp.proofpoint.com. (60)
13:35:59.242293 IP 10.20.1.4.domain > 10.22.60.14.50248:  36122 NXDomain* 0/1/0 (116)
13:35:59.242346 IP 10.22.60.14.54461 > 10.20.1.4.domain:  27439+ AAAA? update2.proofpoint.com.lab.proofpoint.com. (59)
13:35:59.243529 IP 10.20.1.4.domain > 10.22.60.14.54461:  27439 NXDomain 0/1/0 (104)
13:35:59.243624 IP 10.22.60.14.57020 > 10.20.1.4.domain:  20176+ AAAA? update2.proofpoint.com.spt.proofpoint.com. (59)
13:35:59.244165 IP 10.20.1.4.domain > 10.22.60.14.57020:  20176 NXDomain 0/1/0 (116)
13:35:59.244216 IP 10.22.60.14.38387 > 10.20.1.4.domain:  17259+ AAAA? update2.proofpoint.com.proofpoint.com. (55)
13:35:59.244835 IP 10.20.1.4.domain > 10.22.60.14.38387:  17259 NXDomain 0/1/0 (99)
13:35:59.244981 IP 10.22.60.14.36776 > 10.20.1.4.domain:  11091+ A? update2.proofpoint.com. (40)
13:35:59.245525 IP 10.20.1.4.domain > 10.22.60.14.36776:  11091* 1/2/2 A 10.20.1.131 (127)
In short, it exhaustively queries each of the domains in the search path for AAAA records before querying for any A records.
Furthermore, if any of those intermediate AAAA queries returns SERVFAIL, the entire query will fail and the A record will never be used.
Per my reading of RFC 1738 section 3.1, the search path shouldn't even be used. Curl certainly shouldn't prefer or even use an AAAA record further down the search path if at least one A record on the input FQDN or earlier in the search path exists.
curl 7.32.0 (x86_64-unknown-linux-gnu) libcurl/7.32.0 OpenSSL/0.9.8b zlib/1.2.3 c-ares/1.10.0 libidn/0.6.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS Debug TrackMemory IDN IPv6 Largefile NTLM NTLM_WB SSL libz
---
Sent from sourceforge.net because curl-tracker@cool.haxx.se is subscribed to https://sourceforge.net/p/curl/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/curl/admin/bugs/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
Received on 2013-09-24

These mail archives are generated by hypermail.

donate! Page updated May 06, 2013.
web site info

File upload with ASP.NET