diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-10-07 17:33:04 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-10-07 17:33:04 -0300 |
commit | 2302f1d28510fadb2dcfa119f28ed28f164845bf (patch) | |
tree | e7040e1c743f46bc60a7844275516e4404f6ac30 /testing/krb5/krb5-1.9.1-canonicalize-fallback.patch | |
parent | 2a9d1292ab60e8a2356fb3eeb36b8c3cfc22759b (diff) | |
parent | 5442e9b8f357932ed5d6cb46e90fcbf6f453469f (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/fotoxx/PKGBUILD
community/gtkdialog/PKGBUILD
community/hubbub/PKGBUILD
community/libgdamm/PKGBUILD
community/libparserutils/PKGBUILD
community/mingw32-binutils/PKGBUILD
community/mingw32-gcc-base/PKGBUILD
community/mingw32-gcc/PKGBUILD
community/mtpaint/PKGBUILD
community/netsurf/PKGBUILD
community/patchage/PKGBUILD
community/qgo/PKGBUILD
community/tomoyo-tools/PKGBUILD
community/tre/PKGBUILD
community/virtualbox/PKGBUILD
core/net-tools/PKGBUILD
core/openldap/PKGBUILD
extra/epiphany/PKGBUILD
extra/evince/PKGBUILD
extra/evolution-data-server/PKGBUILD
extra/evolution/PKGBUILD
extra/exiv2/PKGBUILD
extra/folks/PKGBUILD
extra/gimp-ufraw/PKGBUILD
extra/gnome-control-center/PKGBUILD
extra/gnome-power-manager/PKGBUILD
extra/gnome-python-desktop/PKGBUILD
extra/gnome-python-extras/PKGBUILD
extra/gvfs/PKGBUILD
extra/jack/PKGBUILD
extra/kdelibs/PKGBUILD
extra/kdepim/PKGBUILD
extra/koffice/PKGBUILD
extra/libreoffice/PKGBUILD
extra/libwebkit/PKGBUILD
extra/mutter/PKGBUILD
extra/nautilus/PKGBUILD
extra/openmpi/PKGBUILD
extra/pavucontrol/PKGBUILD
extra/php/PKGBUILD
extra/pidgin/PKGBUILD
extra/postgresql/PKGBUILD
extra/pulseaudio/PKGBUILD
extra/pygobject2/PKGBUILD
extra/swt/PKGBUILD
extra/tomcat/PKGBUILD
extra/totem/PKGBUILD
extra/vigra/PKGBUILD
extra/vte/PKGBUILD
extra/xulrunner/PKGBUILD
kde-unstable/calligra/PKGBUILD
kde-unstable/kdebase-workspace/PKGBUILD
multilib/lib32-atk/PKGBUILD
multilib/lib32-gdk-pixbuf2/PKGBUILD
multilib/lib32-glew/PKGBUILD
multilib/lib32-glib2/PKGBUILD
multilib/lib32-jack/PKGBUILD
multilib/lib32-libpulse/PKGBUILD
multilib/lib32-pango/PKGBUILD
multilib/wine/PKGBUILD
social/miniupnpc/PKGBUILD
testing/icedtea-web-java7/PKGBUILD
testing/sqlite3/PKGBUILD
~xihh/abiword/PKGBUILD
Diffstat (limited to 'testing/krb5/krb5-1.9.1-canonicalize-fallback.patch')
-rw-r--r-- | testing/krb5/krb5-1.9.1-canonicalize-fallback.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/krb5/krb5-1.9.1-canonicalize-fallback.patch b/testing/krb5/krb5-1.9.1-canonicalize-fallback.patch new file mode 100644 index 000000000..e5a38498f --- /dev/null +++ b/testing/krb5/krb5-1.9.1-canonicalize-fallback.patch @@ -0,0 +1,58 @@ +diff -Naur krb5-1.9.1.ori/src/lib/krb5/krb/get_creds.c krb5-1.9.1/src/lib/krb5/krb/get_creds.c +--- krb5-1.9.1.ori/src/lib/krb5/krb/get_creds.c 2011-02-09 16:55:36.000000000 -0500 ++++ krb5-1.9.1/src/lib/krb5/krb/get_creds.c 2011-09-26 18:42:01.465190278 -0400 +@@ -470,13 +470,10 @@ + + /***** STATE_REFERRALS *****/ + +-/* +- * Possibly retry a request in the fallback realm after a referral request +- * failure in the local realm. Expects ctx->reply_code to be set to the error +- * from a referral request. +- */ ++/* Possibly try a non-referral request after a referral request failure. ++ * Expects ctx->reply_code to be set to the error from a referral request. */ + static krb5_error_code +-try_fallback_realm(krb5_context context, krb5_tkt_creds_context ctx) ++try_fallback(krb5_context context, krb5_tkt_creds_context ctx) + { + krb5_error_code code; + char **hrealms; +@@ -485,9 +482,10 @@ + if (ctx->referral_count > 1) + return ctx->reply_code; + +- /* Only fall back if the original request used the referral realm. */ ++ /* If the request used a specified realm, make a non-referral request to ++ * that realm (in case it's a KDC which rejects KDC_OPT_CANONICALIZE). */ + if (!krb5_is_referral_realm(&ctx->req_server->realm)) +- return ctx->reply_code; ++ return begin_non_referral(context, ctx); + + if (ctx->server->length < 2) { + /* We need a type/host format principal to find a fallback realm. */ +@@ -500,10 +498,10 @@ + if (code != 0) + return code; + +- /* Give up if the fallback realm isn't any different. */ ++ /* If the fallback realm isn't any different, use the existing TGT. */ + if (data_eq_string(ctx->server->realm, hrealms[0])) { + krb5_free_host_realm(context, hrealms); +- return ctx->reply_code; ++ return begin_non_referral(context, ctx); + } + + /* Rewrite server->realm to be the fallback realm. */ +@@ -540,9 +538,9 @@ + krb5_error_code code; + const krb5_data *referral_realm; + +- /* Possibly retry with the fallback realm on error. */ ++ /* Possibly try a non-referral fallback request on error. */ + if (ctx->reply_code != 0) +- return try_fallback_realm(context, ctx); ++ return try_fallback(context, ctx); + + if (krb5_principal_compare(context, ctx->reply_creds->server, + ctx->server)) { |