Sources Bugzilla – Bug 14212
getaddrinfo() with multiple results from /etc/hosts and AF_INET6 in hints fails when /etc/hosts.conf:multi=off
Last modified: 2013-04-15 13:11:27 UTC
Created attachment 6444 [details] getaddrinfo test i have these /etc settings: $ cat /etc/hosts 127.0.0.1 localhost ::1 localhost $ cat /etc/host.conf order hosts, bind multi off trying to do getaddrinfo("localhost") when hints is just set to ai_family=AF_INET6 fails with EAI_NODATA when it should have returned ::1 if i change multi on, then i get back ::1 as expected if i also use ai_flags=AI_V4MAPPED, then multi off gives me ::ffff:127.0.0.1 -- which is correct, just pointing out that it seems to be matching the first result and then aborting because the hints didn't line up see attached code: $ gcc getaddrinfo.c && ./a.out localhost
I cannot reproduce this with latest master. $ cat /etc/hosts 127.0.0.1 localhost ::1 localhost $ cat /etc/host.conf order hosts, bind multi off $ ./a.out localhost this is an IPv6 result this is an IPv6 result this is an IPv6 result