aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/krb5/krb/ChangeLog8
-rw-r--r--src/lib/krb5/krb/get_creds.c8
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