* when initiating an enumeration of the ccache contents perform
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 15 Dec 2003 13:58:10 +0000 (13:58 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 15 Dec 2003 13:58:10 +0000 (13:58 +0000)
    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
src/lib/krb5/ccache/cc_mslsa.c

index c56b21349e4561f48c4351b961fd0218d207f27b..bc77c41c10b991c6ff193fcbedadd2309afa5337 100644 (file)
@@ -1,3 +1,8 @@
+2003-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+   * 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 <jaltman@mit.edu>
 
    * Makefile.in: Remove extranenous spaces in ##WIN32## constructs
index 72a2b7fbf4d51fe9fce9a41fc000481ac7dde50f..531fed131a2be9a121da2086f04fbf541a934ebe 100644 (file)
@@ -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)