From 636a93454db40fa56e0927403fd34795aa268baf Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Thu, 18 Feb 2021 11:44:52 +0000 Subject: [PATCH] Note that the OSSL_CORE_MAKE_FUNC macro is reserved The OSSL_CORE_MAKE_FUNC macro has been added since 1.1.1 and is undocumented. However it is not intended for application use and so we document it as "reserved". Fixes #13192 Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/14232) --- doc/man3/OSSL_CORE_MAKE_FUNC.pod | 38 ++++++++++++++++++++++++++++++++ include/openssl/core_dispatch.h | 2 ++ util/other.syms | 1 + 3 files changed, 41 insertions(+) create mode 100644 doc/man3/OSSL_CORE_MAKE_FUNC.pod diff --git a/doc/man3/OSSL_CORE_MAKE_FUNC.pod b/doc/man3/OSSL_CORE_MAKE_FUNC.pod new file mode 100644 index 0000000000..409c19db62 --- /dev/null +++ b/doc/man3/OSSL_CORE_MAKE_FUNC.pod @@ -0,0 +1,38 @@ +=pod + +=head1 NAME + +OSSL_CORE_MAKE_FUNC - OpenSSL reserved symbols + +=head1 SYNOPSIS + + #include + + #define OSSL_CORE_MAKE_FUNC(type,name,args) + +=head1 DESCRIPTION + +There are certain macros that may appear in OpenSSL header files that are +reserved for internal use. They should not be used by applications or assumed +to exist. + +All the macros listed in the synopsis above are reserved. + +=head1 RETURN VALUES + +Not applicable. + +=head1 HISTORY + +The macros described here were added in OpenSSL 3.0. + +=head1 COPYRIGHT + +Copyright 2021 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L. + +=cut diff --git a/include/openssl/core_dispatch.h b/include/openssl/core_dispatch.h index c4e109156f..6f12d6fecf 100644 --- a/include/openssl/core_dispatch.h +++ b/include/openssl/core_dispatch.h @@ -41,6 +41,8 @@ extern "C" { * |type| is the return-type of the function, |name| is the name of the * function to fetch, and |args| is a parenthesized list of parameters * for the function (that is, it is |name|'s function signature). + * Note: This is considered a "reserved" internal macro. Applications should + * not use this or assume its existence. */ #define OSSL_CORE_MAKE_FUNC(type,name,args) \ typedef type (OSSL_FUNC_##name##_fn)args; \ diff --git a/util/other.syms b/util/other.syms index 3d84ea7772..54eeeb95cf 100644 --- a/util/other.syms +++ b/util/other.syms @@ -405,6 +405,7 @@ OSSL_CMP_SRV_certConf_cb_t datatype OSSL_CMP_SRV_genm_cb_t datatype OSSL_CMP_SRV_error_cb_t datatype OSSL_CMP_SRV_pollReq_cb_t datatype +OSSL_CORE_MAKE_FUNC define OSSL_PARAM_TYPE define OSSL_PARAM_octet_ptr define OSSL_PARAM_octet_string define -- 2.34.1