In sn2princ, getaddrinfo without AI_ADDRCONFIG
authorGreg Hudson <ghudson@mit.edu>
Thu, 3 May 2012 15:15:51 +0000 (15:15 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 3 May 2012 15:15:51 +0000 (15:15 +0000)
commitc3ab5fe0b01a68b14d5657740006488721b48b7b
tree8d66431589636290b0c6acde5bab13f2935176b4
parent4f9ed9aa7e4bfb6e4890d795ae733376ecd2a2d4
In sn2princ, getaddrinfo without AI_ADDRCONFIG

When canonicalizing a principal, use AI_CANONNAME alone in the hint
flags for getaddrinfo, for two reasons.  First, it works around a gnu
libc bug where getaddrinfo does a PTR lookup for the canonical name
(we tried to work around this in r24977 bug the addition of
AI_ADDRCONFIG caused the same problem as the use of AF_INET).  Second,
an IPv4-only host should be able create a principal for an IPv6-only
host even if it can't contact the host.

This does result in extra AAAA queries in the common case (IPv4-only
host contacting IPv4-only service), which is unfortunate.  But we need
to leave that optimization up to the platform at this point.

ticket: 7124

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25844 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/krb5/os/sn2princ.c