summaryrefslogtreecommitdiffstats
path: root/0007-Make-krb5_cc_new_unique-create-DIR-directories.patch
blob: c0b87786026b13f2855340cdb50429e7785e1649 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Context tweaked to apply to 1.12.1.

From bca1191210eb582fe09e94486e2631d72b8a5ca5 Mon Sep 17 00:00:00 2001
From: Nalin Dahyabhai <nalin@redhat.com>
Date: Fri, 8 Aug 2014 16:58:03 -0400
Subject: [PATCH 7/7] Make krb5_cc_new_unique create DIR: directories

When we use krb5_cc_new_unique to create a new cache in a directory
cache collection, we will fail if the directory doesn't exist yet.

Go ahead and preemptively create it, as we do during krb5_cc_resolve,
before attempting to create a new file under it.

ticket: 7988 (new)
target_version: 1.13
tags: pullup
---
 src/lib/krb5/ccache/cc_dir.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/krb5/ccache/cc_dir.c b/src/lib/krb5/ccache/cc_dir.c
index d82f335..b00a6bb 100644
--- a/src/lib/krb5/ccache/cc_dir.c
+++ b/src/lib/krb5/ccache/cc_dir.c
@@ -401,6 +401,9 @@ dcc_gen_new(krb5_context context, krb5_ccache *cache_out)
                                  "collection"));
         return KRB5_DCC_CANNOT_CREATE;
     }
+    ret = verify_dir(context, dirname);
+    if (ret)
+        goto cleanup;
     ret = k5_path_join(dirname, "tktXXXXXX", &template);
     if (ret)
         goto cleanup;
-- 
2.0.4