From 56e9c98f2871f78130baf3f7c63ce2abe76e02f6 Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Thu, 7 May 2009 20:35:28 +0000 Subject: Try decrypting using session key if subkey fails in tgs rep handling Heimdal at least up through 1.2 incorrectly encrypts the TGS response in the session key not the subkey when a subkey is supplied. See RFC 4120 page 35. Work around this by trying decryption using the session key after the subkey fails. * decode_kdc_rep.c: rename to krb5int_decode_tgs_rep; only used for TGS and now needs to take keyusage * gc_via_tkt: pass in session key and appropriate usage if subkey fails. Note that the dead code to process AS responses in decode_kdc_rep is not removed by this commit. That will be removed as FAST TGS client support is integrated post 1.7. ticket: 6484 Tags: pullup Target_Version: 1.7 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22325 dc483132-0cff-0310-8789-dd5450dbe970 --- src/include/k5-int.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/include') diff --git a/src/include/k5-int.h b/src/include/k5-int.h index de391a7d9..be3d1a9bf 100644 --- a/src/include/k5-int.h +++ b/src/include/k5-int.h @@ -2613,10 +2613,10 @@ krb5_error_code krb5int_send_tgs * in with the subkey needed to decrypt the TGS * response. Otherwise it will be set to null. */ -krb5_error_code krb5_decode_kdc_rep +krb5_error_code krb5int_decode_tgs_rep (krb5_context, krb5_data *, - const krb5_keyblock *, + const krb5_keyblock *, krb5_keyusage, krb5_kdc_rep ** ); krb5_error_code krb5int_find_authdata (krb5_context context, krb5_authdata *const * ticket_authdata, -- cgit