From 672e8420125bbf09d76fd7b53283b0c783e68b57 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 15 Dec 2003 13:58:10 +0000 Subject: [PATCH] * when initiating an enumeration of the ccache contents perform a fetch of the TGT. This will trigger an update request by the MS LSA on Windows 2000 and XP which is perfectly willing to allow TGTs to expire. ticket: 2049 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15922 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/ccache/ChangeLog | 5 +++++ src/lib/krb5/ccache/cc_mslsa.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/lib/krb5/ccache/ChangeLog b/src/lib/krb5/ccache/ChangeLog index c56b21349..bc77c41c1 100644 --- a/src/lib/krb5/ccache/ChangeLog +++ b/src/lib/krb5/ccache/ChangeLog @@ -1,3 +1,8 @@ +2003-12-15 Jeffrey Altman + + * cc_mslsa.c: Perform a GetMSTGT() call as part of krb5_lcc_start_seq_get + to ensure that the tgt is refreshed + 2003-12-13 Jeffrey Altman * Makefile.in: Remove extranenous spaces in ##WIN32## constructs diff --git a/src/lib/krb5/ccache/cc_mslsa.c b/src/lib/krb5/ccache/cc_mslsa.c index 72a2b7fbf..531fed131 100644 --- a/src/lib/krb5/ccache/cc_mslsa.c +++ b/src/lib/krb5/ccache/cc_mslsa.c @@ -1090,6 +1090,14 @@ krb5_lcc_start_seq_get(krb5_context context, krb5_ccache id, krb5_cc_cursor *cur { krb5_lcc_cursor *lcursor; krb5_lcc_data *data = (krb5_lcc_data *)id->data; + KERB_EXTERNAL_TICKET *msticket; + + /* + * obtain a tgt to refresh the ccache in case the ticket is expired + */ + if (GetMSTGT(data->LogonHandle, data->PackageId, &msticket)) { + LsaFreeReturnBuffer(msticket); + } lcursor = (krb5_lcc_cursor *) malloc(sizeof(krb5_lcc_cursor)); if (lcursor == NULL) -- 2.26.2