diff options
Diffstat (limited to 'src/lib/krb5/rcache/rc_dfl.c')
-rw-r--r-- | src/lib/krb5/rcache/rc_dfl.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/lib/krb5/rcache/rc_dfl.c b/src/lib/krb5/rcache/rc_dfl.c index c4d2c744da40..1e0cb22c94e2 100644 --- a/src/lib/krb5/rcache/rc_dfl.c +++ b/src/lib/krb5/rcache/rc_dfl.c @@ -93,12 +93,11 @@ cmp(krb5_donot_replay *old, krb5_donot_replay *new1, krb5_deltat t) } static int -alive(krb5_int32 mytime, krb5_donot_replay *new1, krb5_deltat t) +alive(krb5_timestamp mytime, krb5_donot_replay *new1, krb5_deltat t) { if (mytime == 0) return CMP_HOHUM; /* who cares? */ - /* I hope we don't have to worry about overflow */ - if (new1->ctime + t < mytime) + if (ts_after(mytime, ts_incr(new1->ctime, t))) return CMP_EXPIRED; return CMP_HOHUM; } @@ -130,7 +129,7 @@ struct authlist static int rc_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep, - krb5_int32 now, krb5_boolean fromfile) + krb5_timestamp now, krb5_boolean fromfile) { struct dfl_data *t = (struct dfl_data *)id->data; unsigned int rephash; @@ -517,7 +516,7 @@ errout: free(rep->server); if (rep->msghash) free(rep->msghash); - rep->client = rep->server = 0; + rep->client = rep->server = rep->msghash = NULL; return retval; } @@ -537,7 +536,7 @@ krb5_rc_dfl_recover_locked(krb5_context context, krb5_rcache id) krb5_error_code retval; long max_size; int expired_entries = 0; - krb5_int32 now; + krb5_timestamp now; if ((retval = krb5_rc_io_open(context, &t->d, t->name))) { return retval; @@ -707,7 +706,7 @@ krb5_rc_dfl_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep) { krb5_error_code ret; struct dfl_data *t; - krb5_int32 now; + krb5_timestamp now; ret = krb5_timeofday(context, &now); if (ret) @@ -763,7 +762,7 @@ krb5_rc_dfl_expunge_locked(krb5_context context, krb5_rcache id) struct authlist **qt; struct authlist *r; struct authlist *rt; - krb5_int32 now; + krb5_timestamp now; if (krb5_timestamp(context, &now)) now = 0; |