aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@redhat.com>2014-08-08 16:58:03 -0400
committerTom Yu <tlyu@mit.edu>2014-08-12 17:51:46 -0400
commitf678ea7b849248d678b9369edfc124b0589e6eb4 (patch)
treee96dd88908a791dd9d5d19827d697378caadb8ad
parent7b4bf661ecc39459f78665a356858de9f6daaabc (diff)
downloadkrb5-f678ea7b849248d678b9369edfc124b0589e6eb4.zip
krb5-f678ea7b849248d678b9369edfc124b0589e6eb4.tar.gz
krb5-f678ea7b849248d678b9369edfc124b0589e6eb4.tar.bz2
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. (cherry picked from commit bca1191210eb582fe09e94486e2631d72b8a5ca5) ticket: 7988 version_fixed: 1.13 status: resolved
-rw-r--r--src/lib/krb5/ccache/cc_dir.c3
1 files changed, 3 insertions, 0 deletions
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)
"is not a directory 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;