From cdcd52185af6b5f12412130fa1e9cc88a0f57e2e Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Tue, 11 Nov 1997 01:37:39 +0000 Subject: [PATCH] Use auth_context->keyblock if ap_options.use_session_key. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3909 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/rd_req.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/krb5/rd_req.c b/lib/krb5/rd_req.c index 4156c985f..2ba47bb6e 100644 --- a/lib/krb5/rd_req.c +++ b/lib/krb5/rd_req.c @@ -112,8 +112,6 @@ krb5_decode_ap_req(krb5_context context, free_AP_REQ(ap_req); return KRB5KRB_AP_ERR_BADVERSION; } - if (ap_req->ap_options.use_session_key) - abort (); return 0; } @@ -171,8 +169,18 @@ krb5_verify_ap_req(krb5_context context, }else krb5_auth_con_init(context, &ac); - ret = krb5_decrypt_ticket(context, &ap_req->ticket, keyblock, - &t.ticket); + if (ap_req->ap_options.use_session_key && auth_context->keyblock){ + ret = krb5_decrypt_ticket(context, &ap_req->ticket, + auth_context->keyblock, + &t.ticket); + krb5_free_keyblock(context, auth_context->keyblock); + auth_context->keyblock = NULL; + }else + ret = krb5_decrypt_ticket(context, &ap_req->ticket, + keyblock, + &t.ticket); + + if(ret) return ret;