Clarify documentation of X509_ALGOR_{set0,set_md}()
authortb <tb@openbsd.org>
Mon, 9 Oct 2023 16:03:57 +0000 (16:03 +0000)
committertb <tb@openbsd.org>
Mon, 9 Oct 2023 16:03:57 +0000 (16:03 +0000)
commitb6632aa005e3fb0412c76023cc510b072329fddc
tree0861d547d9c3ab0264992c9677257d347714416e
parent202aab4366ed4611c6b252e04a8146925a05301c
Clarify documentation of X509_ALGOR_{set0,set_md}()

The X509_ALGOR_set0() and X509_ALGOR_set_md() documentation comes from
upstream, which means it is as sloppy as the code and as vague as your
average upstream manpage. Be precise on what X509_ALGOR_set0() does on
different inputs and document return values and failure modes.

X509_ALGOR_set_md() is a void function that calls X509_ALGOR_set0() in a
way that can fail, leaving alg in a corrupted state. Document when that
can occur and how to avoid or detect that, but do not go too far, because
EVP_MD_meth_new(), one potential source of failures, is a whole another
can of worms.

joint work with schwarze
lib/libcrypto/man/X509_ALGOR_dup.3