diff --git a/krb5-cccol-primary.patch b/krb5-cccol-primary.patch deleted file mode 100644 index f64b1f0..0000000 --- a/krb5-cccol-primary.patch +++ /dev/null @@ -1,85 +0,0 @@ -commit b874882dc93e5ece4f7218617ed7942656985471 -Author: Greg Hudson -Date: Mon Apr 22 17:00:35 2013 -0400 - - Include default DIR::file ccache in collection - - If the context's default ccache name is a subsidiary file of a - directory collection, include that single cache in the cursor walk - over the DIR type. - - ticket: 7172 - -diff --git a/src/lib/krb5/ccache/cc_dir.c b/src/lib/krb5/ccache/cc_dir.c -index cee21ac..b8231ed 100644 ---- a/src/lib/krb5/ccache/cc_dir.c -+++ b/src/lib/krb5/ccache/cc_dir.c -@@ -266,6 +266,28 @@ get_context_default_dir(krb5_context context, char **dirname_out) - return 0; - } - -+/* -+ * If the default ccache name for context is a subsidiary file in a directory -+ * collection, set *subsidiary_out to the residual value. Otherwise set -+ * *subsidiary_out to NULL. -+ */ -+static krb5_error_code -+get_context_subsidiary_file(krb5_context context, char **subsidiary_out) -+{ -+ const char *defname; -+ char *residual; -+ -+ *subsidiary_out = NULL; -+ defname = krb5_cc_default_name(context); -+ if (defname == NULL || strncmp(defname, "DIR::", 5) != 0) -+ return 0; -+ residual = strdup(defname + 4); -+ if (residual == NULL) -+ return ENOMEM; -+ *subsidiary_out = residual; -+ return 0; -+} -+ - static const char * KRB5_CALLCONV - dcc_get_name(krb5_context context, krb5_ccache cache) - { -@@ -562,6 +584,18 @@ dcc_ptcursor_new(krb5_context context, krb5_cc_ptcursor *cursor_out) - - *cursor_out = NULL; - -+ /* If the default cache is a subsidiary file, make a cursor with the -+ * specified file as the primary but with no directory collection. */ -+ ret = get_context_subsidiary_file(context, &primary); -+ if (ret) -+ goto cleanup; -+ if (primary != NULL) { -+ ret = make_cursor(NULL, primary, NULL, cursor_out); -+ if (ret) -+ free(primary); -+ return ret; -+ } -+ - /* Open the directory for the context's default cache. */ - ret = get_context_default_dir(context, &dirname); - if (ret || dirname == NULL) -@@ -607,16 +641,17 @@ dcc_ptcursor_next(krb5_context context, krb5_cc_ptcursor cursor, - struct stat sb; - - *cache_out = NULL; -- if (data->dir == NULL) /* Empty cursor */ -- return 0; - -- /* Return the primary cache if we haven't yet. */ -+ /* Return the primary or specified subsidiary cache if we haven't yet. */ - if (data->first) { - data->first = FALSE; - if (data->primary != NULL && stat(data->primary + 1, &sb) == 0) - return dcc_resolve(context, cache_out, data->primary); - } - -+ if (data->dir == NULL) /* No directory collection */ -+ return 0; -+ - /* Look for the next filename of the correct form, without repeating the - * primary cache. */ - while ((ent = readdir(data->dir)) != NULL) { diff --git a/krb5.spec b/krb5.spec index 502910f..d604fb5 100644 --- a/krb5.spec +++ b/krb5.spec @@ -88,7 +88,6 @@ Patch63: krb5-1.12-selinux-label.patch Patch71: krb5-1.11-dirsrv-accountlock.patch Patch86: krb5-1.9-debuginfo.patch Patch105: krb5-kvno-230379.patch -Patch121: krb5-cccol-primary.patch Patch123: krb5-1.11.2-empty_passwords.patch Patch124: krb5-1.11.2-arcfour_short.patch Patch125: krb5-1.11.2-skew1.patch @@ -319,7 +318,6 @@ ln -s NOTICE LICENSE %patch71 -p1 -b .dirsrv-accountlock %{?_rawbuild} %patch86 -p0 -b .debuginfo %patch105 -p1 -b .kvno -%patch121 -p1 -b .cccol-primary %patch123 -p1 -b .empty_passwords %patch124 -p1 -b .arcfour_short %patch125 -p1 -b .skew1 @@ -1031,6 +1029,7 @@ exit 0 - drop obsolete patch for fixing a use-before-init in a test program - drop obsolete patch teaching config.guess/config.sub about aarch64-linux - drop backport for RT#7598 + - drop backport for RT#7172 * Wed Oct 16 2013 Nalin Dahyabhai - 1.11.3-26 - create and own /etc/gss (#1019937)