aboutsummaryrefslogtreecommitdiff
path: root/src/lib/gssapi/krb5/init_sec_context.c
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2003-02-24 22:36:30 +0000
committerTom Yu <tlyu@mit.edu>2003-02-24 22:36:30 +0000
commit87bea46cde4e03dd1c82ed163942679ba8539958 (patch)
treeb826b6d7e964733c8691a64f44ec6a18e5a0ba0d /src/lib/gssapi/krb5/init_sec_context.c
parentdf4ad827ece873925fe1713e893a78134780340d (diff)
downloadkrb5-87bea46cde4e03dd1c82ed163942679ba8539958.zip
krb5-87bea46cde4e03dd1c82ed163942679ba8539958.tar.gz
krb5-87bea46cde4e03dd1c82ed163942679ba8539958.tar.bz2
* gssapi_krb5.c (kg_get_defcred): Revert previous; it's probably
not appropriate for inquire_cred() to cause new credentials to be fetched. * init_sec_context.c (krb5_gss_init_sec_context): Explicitly release default cred in the NO_CREDENTIAL case, so it is always refreshed. ticket: 1305 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15201 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/krb5/init_sec_context.c')
-rw-r--r--src/lib/gssapi/krb5/init_sec_context.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/gssapi/krb5/init_sec_context.c b/src/lib/gssapi/krb5/init_sec_context.c
index 2af8bac..8877052 100644
--- a/src/lib/gssapi/krb5/init_sec_context.c
+++ b/src/lib/gssapi/krb5/init_sec_context.c
@@ -382,6 +382,13 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
if (claimant_cred_handle == GSS_C_NO_CREDENTIAL) {
OM_uint32 major;
+ /*
+ * Release default cred prior to re-acquiring it, to notice when
+ * the ccache has changed.
+ */
+ major = kg_release_defcred(minor_status);
+ if (GSS_ERROR(major))
+ return major;
if ((major = kg_get_defcred(minor_status, &claimant_cred_handle)) &&
GSS_ERROR(major)) {
return(major);