diff options
author | Nalin Dahyabhai <nalin@dahyabhai.net> | 2011-06-23 16:07:40 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin@dahyabhai.net> | 2011-06-23 16:07:40 -0400 |
commit | da69bf39fa3bb69eb30cd716cf38b36c4e2f0b9b (patch) | |
tree | 8c8ffcdd48f7444aa3df8b7d728742b9bc24e6a7 | |
parent | 4a5ca5b2d33abd5588465f6bcdbafa3cfb628390 (diff) | |
download | krb5-da69bf39fa3bb69eb30cd716cf38b36c4e2f0b9b.tar.gz krb5-da69bf39fa3bb69eb30cd716cf38b36c4e2f0b9b.tar.xz krb5-da69bf39fa3bb69eb30cd716cf38b36c4e2f0b9b.zip |
- pull a fix from SVN to use AI_ADDRCONFIG more often (RT#6923)krb5-1.9.1-5.fc16
-rw-r--r-- | krb5-1.9.1-ai_addrconfig2.patch | 120 | ||||
-rw-r--r-- | krb5.spec | 5 |
2 files changed, 124 insertions, 1 deletions
diff --git a/krb5-1.9.1-ai_addrconfig2.patch b/krb5-1.9.1-ai_addrconfig2.patch new file mode 100644 index 0000000..5c2e2a7 --- /dev/null +++ b/krb5-1.9.1-ai_addrconfig2.patch @@ -0,0 +1,120 @@ +Most of RT#6923, except for the part that depends on the sendto_kdc rewrite +(it's still in locate_kdc in this version): pass AI_ADDRCONFIG whenever we +specify hints to getaddrinfo() to get the address of a server. + +Index: src/plugins/locate/python/py-locate.c +=================================================================== +--- src/plugins/locate/python/py-locate.c (revision 24977) ++++ src/plugins/locate/python/py-locate.c (revision 24978) +@@ -302,6 +302,7 @@ + return -1; + } + aihints.ai_socktype = thissocktype; ++ aihints.ai_flags = AI_ADDRCONFIG; + x = getaddrinfo (hoststr, portstr, &aihints, &airesult); + if (x != 0) + continue; +Index: src/appl/sample/sclient/sclient.c +=================================================================== +--- src/appl/sample/sclient/sclient.c (revision 24977) ++++ src/appl/sample/sclient/sclient.c (revision 24978) +@@ -125,6 +125,7 @@ + + memset(&aihints, 0, sizeof(aihints)); + aihints.ai_socktype = SOCK_STREAM; ++ aihints.ai_flags = AI_ADDRCONFIG; + aierr = getaddrinfo(argv[1], portstr, &aihints, &ap); + if (aierr) { + fprintf(stderr, "%s: error looking up host '%s' port '%s'/tcp: %s\n", +Index: src/kadmin/dbutil/kadm5_create.c +=================================================================== +--- src/kadmin/dbutil/kadm5_create.c (revision 24977) ++++ src/kadmin/dbutil/kadm5_create.c (revision 24978) +@@ -184,7 +184,7 @@ + goto clean_and_exit; + } + memset(&ai_hints, 0, sizeof(ai_hints)); +- ai_hints.ai_flags = AI_CANONNAME; ++ ai_hints.ai_flags = AI_CANONNAME | AI_ADDRCONFIG; + gai_error = getaddrinfo(localname, (char *)NULL, &ai_hints, &ai); + if (gai_error) { + ret = EINVAL; +Index: src/lib/kadm5/alt_prof.c +=================================================================== +--- src/lib/kadm5/alt_prof.c (revision 24977) ++++ src/lib/kadm5/alt_prof.c (revision 24978) +@@ -897,7 +897,7 @@ + } + + memset(&hint, 0, sizeof(hint)); +- hint.ai_flags = AI_CANONNAME; ++ hint.ai_flags = AI_CANONNAME | AI_ADDRCONFIG; + err = getaddrinfo(params_out.admin_server, NULL, &hint, &ai); + if (err != 0) { + ret = KADM5_CANT_RESOLVE; +Index: src/lib/kadm5/clnt/client_init.c +=================================================================== +--- src/lib/kadm5/clnt/client_init.c (revision 24977) ++++ src/lib/kadm5/clnt/client_init.c (revision 24978) +@@ -563,8 +563,9 @@ + (void) snprintf(portbuf, sizeof(portbuf), "%d", port); + memset(&hint, 0, sizeof(hint)); + hint.ai_socktype = SOCK_STREAM; ++ hint.ai_flags = AI_ADDRCONFIG; + #ifdef AI_NUMERICSERV +- hint.ai_flags = AI_NUMERICSERV; ++ hint.ai_flags |= AI_NUMERICSERV; + #endif + err = getaddrinfo(hostname, portbuf, &hint, &addrs); + if (err != 0) +Index: src/lib/krb5/os/hostaddr.c +=================================================================== +--- src/lib/krb5/os/hostaddr.c (revision 24977) ++++ src/lib/krb5/os/hostaddr.c (revision 24978) +@@ -41,7 +41,7 @@ + return KRB5_ERR_BAD_HOSTNAME; + + memset (&hints, 0, sizeof (hints)); +- hints.ai_flags = AI_NUMERICHOST; ++ hints.ai_flags = AI_NUMERICHOST | AI_ADDRCONFIG; + /* We don't care what kind at this point, really, but without + this, we can get back multiple sockaddrs per address, for + SOCK_DGRAM, SOCK_STREAM, and SOCK_RAW. I haven't checked if +Index: src/lib/krb5/os/hst_realm.c +=================================================================== +--- src/lib/krb5/os/hst_realm.c (revision 24977) ++++ src/lib/krb5/os/hst_realm.c (revision 24978) +@@ -107,7 +107,7 @@ + int err; + + memset (&hints, 0, sizeof (hints)); +- hints.ai_flags = AI_CANONNAME; ++ hints.ai_flags = AI_CANONNAME | AI_ADDRCONFIG; + err = getaddrinfo (name, 0, &hints, &ai); + if (err) + return krb5int_translate_gai_error (err); +Index: src/slave/kprop.c +=================================================================== +--- src/slave/kprop.c (revision 24977) ++++ src/slave/kprop.c (revision 24978) +@@ -322,6 +322,7 @@ + memset(&hints, 0, sizeof(hints)); + hints.ai_family = PF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; ++ hints.ai_flags = AI_ADDRCONFIG; + error = getaddrinfo(host, port, &hints, &answers); + if (error != 0) { + com_err(progname, 0, "%s: %s", host, gai_strerror(error)); +--- src/lib/krb5/os/locate_kdc.c ++++ src/lib/krb5/os/locate_kdc.c +@@ -259,8 +259,9 @@ + memset(&hint, 0, sizeof(hint)); + hint.ai_family = family; + hint.ai_socktype = socktype; ++ hint.ai_flags = AI_ADDRCONFIG; + #ifdef AI_NUMERICSERV +- hint.ai_flags = AI_NUMERICSERV; ++ hint.ai_flags |= AI_NUMERICSERV; + #endif + result = snprintf(portbuf, sizeof(portbuf), "%d", ntohs(port)); + if (SNPRINTF_OVERFLOW(result, sizeof(portbuf))) @@ -6,7 +6,7 @@ Summary: The Kerberos network authentication system Name: krb5 Version: 1.9.1 -Release: 4%{?dist} +Release: 5%{?dist} # Maybe we should explode from the now-available-to-everybody tarball instead? # http://web.mit.edu/kerberos/dist/krb5/1.9/krb5-1.9.1-signed.tar Source0: krb5-%{version}.tar.gz @@ -56,6 +56,7 @@ Patch79: krb5-klist_s.patch Patch80: krb5-trunk-kadmin-oldproto.patch Patch81: krb5-1.9-canonicalize-fallback.patch Patch82: krb5-1.9.1-ai_addrconfig.patch +Patch83: krb5-1.9.1-ai_addrconfig2.patch License: MIT URL: http://web.mit.edu/kerberos/www/ @@ -203,6 +204,7 @@ ln -s NOTICE LICENSE %patch80 -p0 -b .kadmin-oldproto %patch81 -p1 -b .canonicalize-fallback %patch82 -p0 -b .ai_addrconfig +%patch83 -p0 -b .ai_addrconfig2 gzip doc/*.ps sed -i -e '1s!\[twoside\]!!;s!%\(\\usepackage{hyperref}\)!\1!' doc/api/library.tex @@ -667,6 +669,7 @@ exit 0 during krb5_sname_to_principal(), and to let getaddrinfo() decide whether or not to ask for an IPv6 address based on the set of configured interfaces (RT#6922) +- pull a fix from SVN to use AI_ADDRCONFIG more often (RT#6923) * Mon Jun 20 2011 Nalin Dahyabhai <nalin@redhat.com> 1.9.1-4 - apply upstream patch by way of Burt Holzman to fall back to a non-referral |