From cc926e925fe85a39363772c7b07d559be0f62211 Mon Sep 17 00:00:00 2001 From: schwarze Date: Sun, 24 Oct 2021 13:10:46 +0000 Subject: [PATCH] Since tb@ added DECLARE_STACK_OF(GENERAL_NAMES) to x509v3.h in rev. 1.9 and since CMS_ReceiptRequest_get0_values(3) uses it, add it to the list of STACK_OF(3) types. While here, also add the missing CMS_RecipientInfo, CMS_SignerInfo, OPENSSL_STRING, SRTP_PROTECTION_PROFILE, SSL_CIPHER, SSL_COMP and X509_NAME to the list of stack types used by the API, drop STACK_OF(X509_PURPOSE) which is only used internally, and list those STACK_OF(*) types separately that are obfuscated with typedef. --- lib/libcrypto/man/STACK_OF.3 | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/lib/libcrypto/man/STACK_OF.3 b/lib/libcrypto/man/STACK_OF.3 index 8b84900006d..4c627eed9bf 100644 --- a/lib/libcrypto/man/STACK_OF.3 +++ b/lib/libcrypto/man/STACK_OF.3 @@ -1,4 +1,4 @@ -.\" $OpenBSD: STACK_OF.3,v 1.4 2019/06/10 09:49:48 schwarze Exp $ +.\" $OpenBSD: STACK_OF.3,v 1.5 2021/10/24 13:10:46 schwarze Exp $ .\" .\" Copyright (c) 2018 Ingo Schwarze .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 10 2019 $ +.Dd $Mdocdate: October 24 2021 $ .Dt STACK_OF 3 .Os .Sh NAME @@ -98,33 +98,50 @@ all the types listed below. Using the above may make sense for the following types because public API functions exist that take stacks of these types as arguments or return them: -.Vt ACCESS_DESCRIPTION , .Vt ASN1_INTEGER , .Vt ASN1_OBJECT , -.Vt ASN1_TYPE , .Vt ASN1_UTF8STRING , +.Vt CMS_RecipientInfo , +.Vt CMS_SignerInfo , .Vt CONF_VALUE , -.Vt DIST_POINT , -.Vt GENERAL_NAME , +.Vt GENERAL_NAMES , .Vt GENERAL_SUBTREE , +.Vt OPENSSL_STRING Pq which is just Vt char * , .Vt PKCS12_SAFEBAG , .Vt PKCS7 , .Vt PKCS7_RECIP_INFO , .Vt PKCS7_SIGNER_INFO , -.Vt POLICY_MAPPING , -.Vt POLICYINFO , .Vt POLICYQUALINFO , +.Vt SRTP_PROTECTION_PROFILE , +.Vt SSL_CIPHER , +.Vt SSL_COMP , .Vt X509 , .Vt X509_ALGOR , .Vt X509_ATTRIBUTE , .Vt X509_CRL , .Vt X509_EXTENSION , .Vt X509_INFO , +.Vt X509_NAME , .Vt X509_OBJECT , .Vt X509_POLICY_NODE , -.Vt X509_PURPOSE , .Vt X509_REVOKED . .Pp +Additionally, some public API functions use the following types +which are declared with +.Sy typedef : +.Bl -column STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS +.It Vt STACK_OF(ACCESS_DESCRIPTION) Ta Vt AUTHORITY_INFO_ACCESS +.It Vt STACK_OF(ASN1_OBJECT) Ta Vt EXTENDED_KEY_USAGE +.It Vt STACK_OF(ASN1_TYPE) Ta Vt ASN1_SEQUENCE_ANY +.It Vt STACK_OF(DIST_POINT) Ta Vt CRL_DIST_POINTS +.It Vt STACK_OF(GENERAL_NAME) Ta Vt GENERAL_NAMES +.It Vt STACK_OF(IPAddressFamily) Ta Vt IPAddrBlocks +.It Vt STACK_OF(POLICY_MAPPING) Ta Vt POLICY_MAPPINGS +.It Vt STACK_OF(POLICYINFO) Ta Vt CERTIFICATEPOLICIES +.It Vt STACK_OF(X509_ALGOR) Ta Vt X509_ALGORS +.It Vt STACK_OF(X509_EXTENSION) Ta Vt X509_EXTENSIONS +.El +.Pp Even though the OpenSSL headers declare wrapper functions for many more types and even though the OpenSSL documentation says that users can declare their own stack types, using -- 2.20.1