summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/krb/preauth2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/preauth2.c b/src/lib/krb5/krb/preauth2.c
index 74a4f27be..7252048cb 100644
--- a/src/lib/krb5/krb/preauth2.c
+++ b/src/lib/krb5/krb/preauth2.c
@@ -570,6 +570,11 @@ already_tried(krb5_context context, krb5_preauthtype pa_type)
size_t count;
krb5_preauthtype *newptr;
+ /* Allow multi-hop SAM-2 exchanges using repeated preauth-required errors
+ * for historical compatibility. */
+ if (pa_type == KRB5_PADATA_SAM_CHALLENGE_2)
+ return FALSE;
+
for (count = 0; pctx->tried != NULL && pctx->tried[count] != 0; count++) {
if (pctx->tried[count] == pa_type)
return TRUE;