summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorAlexandra Ellwood <lxs@mit.edu>2000-04-13 22:05:57 +0000
committerAlexandra Ellwood <lxs@mit.edu>2000-04-13 22:05:57 +0000
commitba7b3c85ece66970c5e5ce01c48243b8ed092d73 (patch)
tree81de77bc84bf50eefc1bcab41022c69f556d9684 /src/lib
parentffb5a241062c119f7542fb1e3a7adc73585df440 (diff)
downloadkrb5-ba7b3c85ece66970c5e5ce01c48243b8ed092d73.tar.gz
krb5-ba7b3c85ece66970c5e5ce01c48243b8ed092d73.tar.xz
krb5-ba7b3c85ece66970c5e5ce01c48243b8ed092d73.zip
2000-4-13 Alexandra Ellwood <lxs@mit.edu>
* ccdefname.c: Added support to store a krb5_principal in the os_context along with the default ccache name (if known, this principal is the same as the last time we looked at the ccache. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12167 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/os/ccdefname.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/krb5/os/ccdefname.c b/src/lib/krb5/os/ccdefname.c
index 53e7888591..3bc2546cbb 100644
--- a/src/lib/krb5/os/ccdefname.c
+++ b/src/lib/krb5/os/ccdefname.c
@@ -261,6 +261,13 @@ krb5_cc_set_default_name(context, name)
return ENOMEM;
strcpy(new_name, name_buf);
+ if (!os_ctx->default_ccname || (strcmp(os_ctx->default_ccname, new_name) != 0)) {
+ /* the ccache changed... forget the old principal */
+ if (os_ctx->default_ccprincipal)
+ krb5_free_principal (context, os_ctx->default_ccprincipal);
+ os_ctx->default_ccprincipal = 0; /* we don't care until we use it */
+ }
+
if (os_ctx->default_ccname)
free(os_ctx->default_ccname);