On Fri, 30 Nov 2012, Jongman Heo wrote:

I had used libcurl 7.18.2, with following flags;

...

I upgrade the libcurl package to 7.24.0, with following flags;

So, c-ares has been replaced with threaded-resolver. For both, disable-ipv6 is specified.

That is probably a significant change...

With 7.18.2, I couldn't see IPv6 DNS query (AAAA). But with 7.24.0, there exist AAAA DNS query. Is this expected behavior with 7.24.0 and threaded-resolver though --disable-ipv6 is specified?

No. I wouldn't say it is expected but it rather surprises me.

I looked into the code just now and for this case, Curl_ipv4_resolve_r() gets called internally in the resolver thread and it uses Curl_getaddrinfo_ex() if configure found getaddrinfo() to exist and be thread-safe. But it then only asks for PF_INET addresses which implies that IPv6 addresses are not interesting.

If you can debug this and verify that this is the case then we'd have to figure out next why the libc function does what it does...

Should I use CURL_IPRESOLVE_V4 option explicitly ?

Sure you can do that, but in this particular case I'm not sure it makes any difference as the code already assumes IPv4-only... Did you try and see any difference?

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to