From: Nalin Dahyabhai Date: Fri, 8 Aug 2014 20:58:03 +0000 (-0400) Subject: Make krb5_cc_new_unique create DIR: directories X-Git-Tag: krb5-1.13-alpha1~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f678ea7b849248d678b9369edfc124b0589e6eb4;p=thirdparty%2Fkrb5.git 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 --- diff --git a/src/lib/krb5/ccache/cc_dir.c b/src/lib/krb5/ccache/cc_dir.c index d82f33550c..b00a6bbc41 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;