c4923edfdd
- update to version 1.9.1 * obsolete patches: MITKRB5-SA-2010-007-1.8.dif krb5-1.8-MITKRB5-SA-2010-006.dif krb5-1.8-MITKRB5-SA-2011-001.dif krb5-1.8-MITKRB5-SA-2011-002.dif krb5-1.8-MITKRB5-SA-2011-003.dif krb5-1.8-MITKRB5-SA-2011-004.dif krb5-1.4.3-enospc.dif * replace krb5-1.6.1-compile_pie.dif OBS-URL: https://build.opensuse.org/package/show/network/krb5?expand=0&rev=45
31 lines
1.3 KiB
Diff
31 lines
1.3 KiB
Diff
From RT#6922. When we're converting a host/service pair into a principal
|
|
name, specify AF_UNSPEC instead of AF_INET4 and then maybe AF_INET6 to try
|
|
to avoid libc having doing a PTR lookup because we also specify
|
|
AI_CANONNAME. Add AI_ADDRCONFIG because it's usually the right idea.
|
|
|
|
Index: src/lib/krb5/os/sn2princ.c
|
|
===================================================================
|
|
--- src/lib/krb5/os/sn2princ.c.orig
|
|
+++ src/lib/krb5/os/sn2princ.c
|
|
@@ -107,19 +107,12 @@ krb5_sname_to_principal(krb5_context con
|
|
hostnames associated. */
|
|
|
|
memset(&hints, 0, sizeof(hints));
|
|
- hints.ai_family = AF_INET;
|
|
- hints.ai_flags = AI_CANONNAME;
|
|
- try_getaddrinfo_again:
|
|
+ hints.ai_flags = AI_CANONNAME | AI_ADDRCONFIG;
|
|
err = getaddrinfo(hostname, 0, &hints, &ai);
|
|
if (err) {
|
|
#ifdef DEBUG_REFERRALS
|
|
printf("sname_to_princ: probably punting due to bad hostname of %s\n",hostname);
|
|
#endif
|
|
- if (hints.ai_family == AF_INET) {
|
|
- /* Just in case it's an IPv6-only name. */
|
|
- hints.ai_family = 0;
|
|
- goto try_getaddrinfo_again;
|
|
- }
|
|
return KRB5_ERR_BAD_HOSTNAME;
|
|
}
|
|
remote_host = strdup(ai->ai_canonname ? ai->ai_canonname : hostname);
|