diff options
author | Nalin Dahyabhai <nalin@redhat.com> | 2014-08-08 16:58:03 -0400 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2014-08-12 17:51:46 -0400 |
commit | f678ea7b849248d678b9369edfc124b0589e6eb4 (patch) | |
tree | e96dd88908a791dd9d5d19827d697378caadb8ad | |
parent | 7b4bf661ecc39459f78665a356858de9f6daaabc (diff) | |
download | krb5-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.c | 3 |
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; |