summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-07-24 16:26:28 -0400
committerGreg Hudson <ghudson@mit.edu>2012-07-24 16:26:28 -0400
commit4a788fb072b06ab25fb39c7720e2fe7bb79fd7f4 (patch)
tree6518c12735e9b4eb1d96b9af7b58ab2b50aa6b21 /src/lib/krb5
parent18884ca01e1a64fcefafc0fdad0d360651c81f13 (diff)
downloadkrb5-4a788fb072b06ab25fb39c7720e2fe7bb79fd7f4.tar.gz
krb5-4a788fb072b06ab25fb39c7720e2fe7bb79fd7f4.tar.xz
krb5-4a788fb072b06ab25fb39c7720e2fe7bb79fd7f4.zip
Add default_ccache_name profile variable
Like default_keytab_name and default_client_keytab_name, default_ccache_name is subject to parameter expansion. ticket: 7220 (new)
Diffstat (limited to 'src/lib/krb5')
-rw-r--r--src/lib/krb5/os/ccdefname.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/krb5/os/ccdefname.c b/src/lib/krb5/os/ccdefname.c
index 56e7af8639..cb9bb7c938 100644
--- a/src/lib/krb5/os/ccdefname.c
+++ b/src/lib/krb5/os/ccdefname.c
@@ -26,6 +26,7 @@
#define NEED_WINDOWS
#include "k5-int.h"
+#include "os-proto.h"
#include <stdio.h>
#if defined(_WIN32)
@@ -290,7 +291,7 @@ const char * KRB5_CALLCONV
krb5_cc_default_name(krb5_context context)
{
krb5_os_context os_ctx;
- char *envstr;
+ char *profstr, *envstr;
if (!context || context->magic != KV5M_CONTEXT)
return NULL;
@@ -306,6 +307,14 @@ krb5_cc_default_name(krb5_context context)
return os_ctx->default_ccname;
}
+ if (profile_get_string(context->profile, KRB5_CONF_LIBDEFAULTS,
+ KRB5_CONF_DEFAULT_CCACHE_NAME, NULL, NULL,
+ &profstr) == 0 && profstr != NULL) {
+ (void)k5_expand_path_tokens(context, profstr, &os_ctx->default_ccname);
+ profile_release_string(profstr);
+ return os_ctx->default_ccname;
+ }
+
/* Fall back on the default ccache name for the OS. */
get_from_os(context);
return os_ctx->default_ccname;