From 73f54b2e7f0421fb6cc549f262c3b735ca8eefaf Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Mon, 21 Oct 2002 12:59:41 +0000 Subject: [PATCH] make sure life is positive (from John Godehn) git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11487 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kaserver.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kdc/kaserver.c b/kdc/kaserver.c index 2c3104805..afdbab380 100644 --- a/kdc/kaserver.c +++ b/kdc/kaserver.c @@ -477,6 +477,10 @@ do_authenticate (struct rx_header *hdr, /* life */ max_life = end_time - kdc_time; + /* end_time - kdc_time can sometimes be non-positive due to slight + time skew between client and server. Let's make sure it is postive */ + if(max_life < 1) + max_life = 1; if (client_entry->max_life) max_life = min(max_life, *client_entry->max_life); if (server_entry->max_life) @@ -710,6 +714,10 @@ do_getticket (struct rx_header *hdr, /* life */ max_life = end_time - kdc_time; + /* end_time - kdc_time can sometimes be non-positive due to slight + time skew between client and server. Let's make sure it is postive */ + if(max_life < 1) + max_life = 1; if (krbtgt_entry->max_life) max_life = min(max_life, *krbtgt_entry->max_life); if (server_entry->max_life)