diff options
author | Sam Hartman <hartmans@mit.edu> | 2003-01-10 01:23:49 +0000 |
---|---|---|
committer | Sam Hartman <hartmans@mit.edu> | 2003-01-10 01:23:49 +0000 |
commit | 6a264aecc07c63e3edd016979183f895353f75ab (patch) | |
tree | 9ea507ad40191e5a2c1c21c2ccfcbaf98d43ed2c | |
parent | 85472780d136effef7eee1c18d3c9013943927ec (diff) | |
download | krb5-6a264aecc07c63e3edd016979183f895353f75ab.zip krb5-6a264aecc07c63e3edd016979183f895353f75ab.tar.gz krb5-6a264aecc07c63e3edd016979183f895353f75ab.tar.bz2 |
Patch to get new service tickets in preference to using expired
service tickets in krb5_get_credentials.
Ticket: 1260
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15106 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r-- | src/lib/krb5/krb/ChangeLog | 8 | ||||
-rw-r--r-- | src/lib/krb5/krb/get_creds.c | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/krb5/krb/ChangeLog b/src/lib/krb5/krb/ChangeLog index 826cdc0..452950b 100644 --- a/src/lib/krb5/krb/ChangeLog +++ b/src/lib/krb5/krb/ChangeLog @@ -1,3 +1,11 @@ +2003-01-09 Sam Hartman <hartmans@mit.edu> + + * get_creds.c (krb5_get_credentials_core): Patch from Ben Cox + <cox-work@djehuti.com> to not use expired service credentials if + the endtime is null but instead to search for unexpired + credentials. If none are found, get new credentials. + + 2003-01-08 Sam Hartman <hartmans@mit.edu> * fwd_tgt.c (krb5_fwd_tgt_creds): Don't require hostname to be supplied unless you are using addresses in the ticket. diff --git a/src/lib/krb5/krb/get_creds.c b/src/lib/krb5/krb/get_creds.c index 9349710..cb6d8b1 100644 --- a/src/lib/krb5/krb/get_creds.c +++ b/src/lib/krb5/krb/get_creds.c @@ -55,7 +55,13 @@ krb5_get_credentials_core(krb5_context context, krb5_flags options, memset((char *)mcreds, 0, sizeof(krb5_creds)); mcreds->magic = KV5M_CREDS; - mcreds->times.endtime = in_creds->times.endtime; + if (in_creds->times.endtime != 0) { + mcreds->times.endtime = in_creds->times.endtime; + } else { + krb5_error_code retval; + retval = krb5_timeofday(context, &mcreds->times.endtime); + if (retval != 0) return retval; + } #ifdef HAVE_C_STRUCTURE_ASSIGNMENT mcreds->keyblock = in_creds->keyblock; #else |