summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2003-12-15 13:58:10 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2003-12-15 13:58:10 +0000
commit672e8420125bbf09d76fd7b53283b0c783e68b57 (patch)
treec42bb3bf8346be5b5466e16b1d59fcd703535b8d /src
parent2108cc81195f30adabd926b47a62e35397ee5ab6 (diff)
downloadkrb5-672e8420125bbf09d76fd7b53283b0c783e68b57.tar.gz
krb5-672e8420125bbf09d76fd7b53283b0c783e68b57.tar.xz
krb5-672e8420125bbf09d76fd7b53283b0c783e68b57.zip
* 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
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/ccache/ChangeLog5
-rw-r--r--src/lib/krb5/ccache/cc_mslsa.c8
2 files changed, 13 insertions, 0 deletions
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 <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
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)