Drop backport for RT#7172

This commit is contained in:
Nalin Dahyabhai 2013-10-15 16:52:12 -04:00
parent bd8c46afd2
commit 9e1d45535e
2 changed files with 1 additions and 87 deletions

View File

@ -1,85 +0,0 @@
commit b874882dc93e5ece4f7218617ed7942656985471
Author: Greg Hudson <ghudson@mit.edu>
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) {

View File

@ -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 <nalin@redhat.com> - 1.11.3-26
- create and own /etc/gss (#1019937)