use asn1 decoder function directly
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24060 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -375,17 +375,18 @@ decrypt_tkt_with_subkey (krb5_context context,
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = krb5_decode_EncASRepPart(context,
|
ret = decode_EncASRepPart(data.data,
|
||||||
data.data,
|
data.length,
|
||||||
|
&dec_rep->enc_part,
|
||||||
|
&size);
|
||||||
|
if (ret)
|
||||||
|
ret = decode_EncTGSRepPart(data.data,
|
||||||
data.length,
|
data.length,
|
||||||
&dec_rep->enc_part,
|
&dec_rep->enc_part,
|
||||||
&size);
|
&size);
|
||||||
if (ret)
|
if (ret)
|
||||||
ret = krb5_decode_EncTGSRepPart(context,
|
krb5_set_error_message(context, ret,
|
||||||
data.data,
|
N_("Failed to decode encpart in ticket", ""));
|
||||||
data.length,
|
|
||||||
&dec_rep->enc_part,
|
|
||||||
&size);
|
|
||||||
krb5_data_free (&data);
|
krb5_data_free (&data);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@@ -149,15 +149,18 @@ krb5_rd_cred(krb5_context context,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = krb5_decode_EncKrbCredPart (context,
|
ret = decode_EncKrbCredPart(enc_krb_cred_part_data.data,
|
||||||
enc_krb_cred_part_data.data,
|
enc_krb_cred_part_data.length,
|
||||||
enc_krb_cred_part_data.length,
|
&enc_krb_cred_part,
|
||||||
&enc_krb_cred_part,
|
&len);
|
||||||
&len);
|
|
||||||
if (enc_krb_cred_part_data.data != cred.enc_part.cipher.data)
|
if (enc_krb_cred_part_data.data != cred.enc_part.cipher.data)
|
||||||
krb5_data_free(&enc_krb_cred_part_data);
|
krb5_data_free(&enc_krb_cred_part_data);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
krb5_set_error_message(context, ret,
|
||||||
|
N_("Failed to decode "
|
||||||
|
"encrypte credential part", ""));
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
/* check sender address */
|
/* check sender address */
|
||||||
|
|
||||||
|
@@ -58,8 +58,11 @@ decrypt_tkt_enc_part (krb5_context context,
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = krb5_decode_EncTicketPart(context, plain.data, plain.length,
|
ret = decode_EncTicketPart(plain.data, plain.length, decr_part, &len);
|
||||||
decr_part, &len);
|
if (ret)
|
||||||
|
krb5_set_error_message(context, ret,
|
||||||
|
N_("Failed to decode encrypted "
|
||||||
|
"ticket part", ""));
|
||||||
krb5_data_free (&plain);
|
krb5_data_free (&plain);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -881,8 +884,8 @@ krb5_rd_req_ctx(krb5_context context,
|
|||||||
krb5_pac_free(context, pac);
|
krb5_pac_free(context, pac);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
} else
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
if (ret || outctx == NULL) {
|
if (ret || outctx == NULL) {
|
||||||
|
Reference in New Issue
Block a user