[dns-operations] RES_USE_INET6 and the inet6 resolver option

Florian Weimer fweimer at redhat.com
Fri Feb 8 10:04:36 UTC 2019

I want to remove this feature from glibc.

This configuration option predates getaddrinfo (the API from RFC 3493)
and gethostbyname2.  With RES_USE_INET6, the behavior of the legacy
gethostbyname IPv4 address name lookup function changes so that instead
of a 4-byte address, it returns a 16-byte address.  struct hostent has a
length field, so this is in theory supported by the interface.  However,
any caller will still have to be changed manually, to fill a struct
sockaddr_in6 from it instead of a struct sockaddr_in.

The result is that many applications simply break if this option is
active (instead of being able to use IPv6 without changes, as may have
been the intent), so it does not seem particularly useful to have this
option available.  Since it also results in some awkward layering
violations (why would host name lookups in an LDAP database care about
resolv.conf settings?), I've deprecated it a while back and think it's
now time to remove it.

Comments?  Is anyone using this?


More information about the dns-operations mailing list