Rework CMS_add_simple_smimecap()
authortb <tb@openbsd.org>
Sun, 7 Apr 2024 06:34:42 +0000 (06:34 +0000)
committertb <tb@openbsd.org>
Sun, 7 Apr 2024 06:34:42 +0000 (06:34 +0000)
commitc112ccd4e935368b3dbd25689ef303313e7b567e
treefdc487e5152386443fb6167b1d3db889db4fd5f9
parent424974cc1f1fa3db34bb79d7d5b7bf365a05ae98
Rework CMS_add_simple_smimecap()

This is an API to add an OID attribute to the set of SMIMECapabilities.
While attributes are complicated in general, this only supports simple
capabilities encoded as an OID with an optional integer parameter (e.g.,
the key size of a cipher).

Make this API transactional, i.e., don't leave a new empty set behind on
failure or leak the key size if setting the parameter on the X509_ALGOR
fails.

Also convert to single exit and add a doc comment with a reference.

ok beck
lib/libcrypto/cms/cms_sd.c