Received: from fort-point-station.mit.edu (FORT-POINT-STATION.MIT.EDU [18.7.7.76]) by krbdev.mit.edu (8.9.3) with ESMTP id OAA20022; Tue, 2 Sep 2003 14:12:05 -0400 (EDT) Received: from nwkea-mail-1.sun.com (nwkea-mail-1.sun.com [192.18.42.13]) by fort-point-station.mit.edu (8.12.4/8.9.2) with ESMTP id h82IC3Vn013348 for ; Tue, 2 Sep 2003 14:12:03 -0400 (EDT) Received: from phys-giza-1 ([129.147.4.102]) by nwkea-mail-1.sun.com (8.12.9/8.12.9) with ESMTP id h82IC0Oq022001 for ; Tue, 2 Sep 2003 11:12:00 -0700 (PDT) Received: from spock (vpn-129-147-153-106.Central.Sun.COM [129.147.153.106]) by giza-mail1.Central.Sun.COM (iPlanet Messaging Server 5.2 HotFix 1.16 (built May 14 2003)) with SMTP id <0HKL00D7RMJYQN@giza-mail1.Central.Sun.COM> for krb5-bugs@mit.edu; Tue, 02 Sep 2003 12:12:00 -0600 (MDT) Date: Tue, 02 Sep 2003 12:12:02 -0600 (MDT) From: Shawn Emery Subject: Exact match enctype To: krb5-bugs@mit.edu Cc: Shawn.Emery@Sun.COM Reply-To: Shawn Emery Message-Id: <0HKL00D7SMJZQN@giza-mail1.Central.Sun.COM> MIME-Version: 1.0 X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.5.3_06 SunOS 5.9 sun4u sparc Content-Type: TEXT/plain; charset=us-ascii Content-Md5: z1uMAhGWhLQ8wUPCeQZ3BQ== X-RT-Original-Encoding: us-ascii Content-Length: 1246 krbv5, I'm currently in the Solaris security group at Sun and found an issue when using our Solaris 9+ client with an MS AD server. I've checked the 1.3.1 source tree and discovered that it also has this issue. I found a problem to be that an exact match is performed between the enctype in the response to the enctype in the keytab file. In actuality a "similar" match should be performed when checking for encryption types. We've integrated this change into our source tree and I'm just checking to see if you would be interested in the diffs for this. krb5-1.3.1/src/lib/krb5/krb/rd_req_dec.c: *** 77,86 **** --- 77,93 ---- if ((retval = krb5_kt_get_entry(context, keytab, req->ticket->server, req->ticket->enc_part.kvno, enctype, &ktent))) return retval; + /* + * If we get this far then we know that the enc types are similar, + * therefore we should change the enc type to match that of what + * we are decrypting. + */ + ktent.key.enctype = enctype; + retval = krb5_decrypt_tkt_part(context, &ktent.key, req->ticket); /* Upon error, Free keytab entry first, then return */ (void) krb5_kt_free_entry(context, &ktent); return retval; Shawn. --