diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index 43f70cda5..f2057015c 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -116,7 +116,7 @@ as_rep(krb5_context context, } patime = p.patimestamp; free_PA_ENC_TS_ENC(&p); - if (abs(kdc_time - p.patimestamp) > 300) { + if (abs(kdc_time - p.patimestamp) > context->max_skew) { krb5_mk_error (client_princ, KRB5KDC_ERR_PREAUTH_FAILED, "Too large time skew", diff --git a/lib/krb5/rd_priv.c b/lib/krb5/rd_priv.c index 2ca6241fe..ec63c7bb9 100644 --- a/lib/krb5/rd_priv.c +++ b/lib/krb5/rd_priv.c @@ -68,7 +68,7 @@ krb5_rd_priv(krb5_context context, gettimeofday (&tv, NULL); if (part.timestamp == NULL || part.usec == NULL || - *part.timestamp - tv.tv_sec > 600) { + abs(*part.timestamp - tv.tv_sec) > context->max_skew) { r = KRB5KRB_AP_ERR_SKEW; goto failure_part; } diff --git a/lib/krb5/rd_safe.c b/lib/krb5/rd_safe.c index 4243c40ac..4ccb68a7e 100644 --- a/lib/krb5/rd_safe.c +++ b/lib/krb5/rd_safe.c @@ -58,7 +58,7 @@ krb5_rd_safe(krb5_context context, gettimeofday (&tv, NULL); if (safe.safe_body.timestamp == NULL || safe.safe_body.usec == NULL || - *(safe.safe_body.timestamp) - tv.tv_sec > 600) { + abs(*safe.safe_body.timestamp - tv.tv_sec) > context->max_skew) { r = KRB5KRB_AP_ERR_SKEW; goto failure; }