summaryrefslogtreecommitdiffstats
path: root/src/kdc
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2010-03-05 17:45:46 +0000
committerGreg Hudson <ghudson@mit.edu>2010-03-05 17:45:46 +0000
commitf58cc5a2589e1589ff17c0057ff5da97cac834d7 (patch)
tree004d56ab1c80e3df5f1bb226573b0e0f79d31fd3 /src/kdc
parent892ad7d0d8eaa73a22d01f4c07dfe3a8df4da02a (diff)
downloadkrb5-f58cc5a2589e1589ff17c0057ff5da97cac834d7.tar.gz
krb5-f58cc5a2589e1589ff17c0057ff5da97cac834d7.tar.xz
krb5-f58cc5a2589e1589ff17c0057ff5da97cac834d7.zip
Ignore improperly encoded signedpath AD elements
We have some reason to believe Microsoft and Heimdal are both using the authdata value 142 for different purposes, leading to failures in verify_ad_signedpath(). For better interoperability, treat such tickets as unsigned, rather than invalid. ticket: 6676 target_version: 1.8.1 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23766 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc')
-rw-r--r--src/kdc/kdc_authdata.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kdc/kdc_authdata.c b/src/kdc/kdc_authdata.c
index 50975580c..b5de64de2 100644
--- a/src/kdc/kdc_authdata.c
+++ b/src/kdc/kdc_authdata.c
@@ -934,8 +934,12 @@ verify_ad_signedpath(krb5_context context,
enc_sp.length = sp_authdata[0]->length;
code = decode_krb5_ad_signedpath(&enc_sp, &sp);
- if (code != 0)
+ if (code != 0) {
+ /* Treat an invalid signedpath authdata element as a missing one, since
+ * we believe MS is using the same number for something else. */
+ code = 0;
goto cleanup;
+ }
code = verify_ad_signedpath_checksum(context,
krbtgt,