summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/kdc/kaserver.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/heimdal/kdc/kaserver.c')
-rw-r--r--crypto/heimdal/kdc/kaserver.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/crypto/heimdal/kdc/kaserver.c b/crypto/heimdal/kdc/kaserver.c
index a281c00..7eeff8a 100644
--- a/crypto/heimdal/kdc/kaserver.c
+++ b/crypto/heimdal/kdc/kaserver.c
@@ -33,7 +33,7 @@
#include "kdc_locl.h"
-RCSID("$Id: kaserver.c,v 1.20 2002/09/09 14:03:02 nectar Exp $");
+RCSID("$Id: kaserver.c,v 1.20.2.1 2002/10/21 14:30:51 joda Exp $");
#include <rx.h>
@@ -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)
OpenPOWER on IntegriCloud