svn rev #25844: trunk/src/lib/krb5/os/

ghudson@MIT.EDU ghudson at MIT.EDU
Thu May 3 11:15:51 EDT 2012


http://src.mit.edu/fisheye/changelog/krb5/?cs=25844
Commit By: ghudson
Log Message:
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: new


Changed Files:
U   trunk/src/lib/krb5/os/sn2princ.c
Modified: trunk/src/lib/krb5/os/sn2princ.c
===================================================================
--- trunk/src/lib/krb5/os/sn2princ.c	2012-05-02 18:38:33 UTC (rev 25843)
+++ trunk/src/lib/krb5/os/sn2princ.c	2012-05-03 15:15:51 UTC (rev 25844)
@@ -105,7 +105,7 @@
                hostnames associated.  */
 
             memset(&hints, 0, sizeof(hints));
-            hints.ai_flags = AI_CANONNAME | AI_ADDRCONFIG;
+            hints.ai_flags = AI_CANONNAME;
             err = getaddrinfo(hostname, 0, &hints, &ai);
             if (err) {
 #ifdef DEBUG_REFERRALS



More information about the cvs-krb5 mailing list