(krb5_rd_priv): Fetch the correct session key from auth_context
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2593 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -52,6 +52,7 @@ krb5_rd_priv(krb5_context context,
|
||||
EncKrbPrivPart part;
|
||||
size_t len;
|
||||
krb5_data plain;
|
||||
krb5_keyblock *key;
|
||||
|
||||
r = decode_KRB_PRIV (inbuf->data, inbuf->length, &priv, &len);
|
||||
if (r)
|
||||
@@ -65,11 +66,20 @@ krb5_rd_priv(krb5_context context,
|
||||
goto failure;
|
||||
}
|
||||
|
||||
/* XXX - Is this right? */
|
||||
|
||||
if (auth_context->local_subkey.keytype)
|
||||
key = &auth_context->local_subkey;
|
||||
else if (auth_context->remote_subkey.keytype)
|
||||
key = &auth_context->remote_subkey;
|
||||
else
|
||||
key = &auth_context->key;
|
||||
|
||||
r = krb5_decrypt (context,
|
||||
priv.enc_part.cipher.data,
|
||||
priv.enc_part.cipher.length,
|
||||
priv.enc_part.etype,
|
||||
&auth_context->key,
|
||||
key,
|
||||
&plain);
|
||||
if (r)
|
||||
goto failure;
|
||||
|
Reference in New Issue
Block a user