Fix the horrible and undocumented behaviour of X509_check_trust
authorbeck <beck@openbsd.org>
Fri, 12 Jul 2024 18:15:10 +0000 (18:15 +0000)
committerbeck <beck@openbsd.org>
Fri, 12 Jul 2024 18:15:10 +0000 (18:15 +0000)
commit75e21034e2ed7cc3514816a96606fcbfe50e069f
tree0ac8b74fe1260ce246806177aea0513c772e100c
parentac42138b096e513ab6ef1d1b78cf9b7436f66d2c
Fix the horrible and undocumented behaviour of X509_check_trust

Of allowing you to pass in a NID directly, instead of a trust_id,
and have it work, as long as the trust_id's and the NID's did not
overlap.

This screwball behaviour was depended upon by the OCSP code that
called X509_check_trust with the NID, instead of the trust id, so
let's fix that.

We also rename the confusingly named X509_TRUST_DEFAULT to
X509_TRUST_ACCEPT_ALL which makes a lot more sense, and rototill
this to remove the confusingly named static functions.

This will shortly be follwed up by making this function private,
so we have not bothered to fix the amazingly obtuse man page
as it will be taken behind the barn at that time.

ok tb@
lib/libcrypto/ocsp/ocsp_vfy.c
lib/libcrypto/x509/x509_local.h
lib/libcrypto/x509/x509_purp.c
lib/libcrypto/x509/x509_trs.c