Rewrite and fix X509v3_asid_subset()
authortb <tb@openbsd.org>
Thu, 12 May 2022 19:56:43 +0000 (19:56 +0000)
committertb <tb@openbsd.org>
Thu, 12 May 2022 19:56:43 +0000 (19:56 +0000)
commit4809fbfd299cccd9f8e0bde82996fb4c56daeb03
tree334939da21ed3c34e54e7fe4a2907b5a08df9fcb
parent35c1d792f8e5505ff6858fcb8dcf160d38c39442
Rewrite and fix X509v3_asid_subset()

X509v3_asid_subset() assumes that both asnum and rdi are present while
they are both marked OPTIONAL in RFC 3779, 3.2.3. It will crash if
either one is missing. In RPKI land RDI is a MUST NOT use (e.g, RFC
6487, 4.8.11), so this API is currently useless (and seemingly unused).

Pick apart an ugly logical pipeline and implement this check in a
readable fashion.

ok jsing
lib/libcrypto/x509/x509_asid.c