Try decrypting using session key if subkey fails in tgs rep handling
authorSam Hartman <hartmans@mit.edu>
Thu, 7 May 2009 20:35:28 +0000 (20:35 +0000)
committerSam Hartman <hartmans@mit.edu>
Thu, 7 May 2009 20:35:28 +0000 (20:35 +0000)
commit56e9c98f2871f78130baf3f7c63ce2abe76e02f6
tree790497f574323c9b0ea86cd297f50abb65ef4c44
parente464cdfe7e7d969033126bb33febc98ccd75aee9
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
src/lib/krb5/krb/decode_kdc.c
src/lib/krb5/krb/gc_via_tkt.c
src/lib/krb5/libkrb5.exports