pull up r23766 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 15 Mar 2010 23:50:52 +0000 (23:50 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 15 Mar 2010 23:50:52 +0000 (23:50 +0000)
 ------------------------------------------------------------------------
 r23766 | ghudson | 2010-03-05 12:45:46 -0500 (Fri, 05 Mar 2010) | 10 lines

 ticket: 6676
 subject: Ignore improperly encoded signedpath AD elements
 target_version: 1.8.1
 tags: pullup

 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
version_fixed: 1.8.1
status: resolved

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-8@23809 dc483132-0cff-0310-8789-dd5450dbe970

src/kdc/kdc_authdata.c

index 50975580cc26951e1ea7ae22e8b3c9b946df1f34..b5de64de20cd9b2a7c201206e42ab732b4676846 100644 (file)
@@ -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,