diff options
| author | Jeffrey Altman <jaltman@secure-endpoints.com> | 2003-12-15 13:58:10 +0000 |
|---|---|---|
| committer | Jeffrey Altman <jaltman@secure-endpoints.com> | 2003-12-15 13:58:10 +0000 |
| commit | 672e8420125bbf09d76fd7b53283b0c783e68b57 (patch) | |
| tree | c42bb3bf8346be5b5466e16b1d59fcd703535b8d /src | |
| parent | 2108cc81195f30adabd926b47a62e35397ee5ab6 (diff) | |
| download | krb5-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/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/krb5/ccache/cc_mslsa.c | 8 |
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) |
