Note that the OSSL_CORE_MAKE_FUNC macro is reserved
authorMatt Caswell <matt@openssl.org>
Thu, 18 Feb 2021 11:44:52 +0000 (11:44 +0000)
committerMatt Caswell <matt@openssl.org>
Mon, 22 Feb 2021 12:15:48 +0000 (12:15 +0000)
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 <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14232)

doc/man3/OSSL_CORE_MAKE_FUNC.pod [new file with mode: 0644]
include/openssl/core_dispatch.h
util/other.syms

diff --git a/doc/man3/OSSL_CORE_MAKE_FUNC.pod b/doc/man3/OSSL_CORE_MAKE_FUNC.pod
new file mode 100644 (file)
index 0000000..409c19d
--- /dev/null
@@ -0,0 +1,38 @@
+=pod
+
+=head1 NAME
+
+OSSL_CORE_MAKE_FUNC - OpenSSL reserved symbols
+
+=head1 SYNOPSIS
+
+ #include <openssl/core_dispatch.h>
+
+ #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<https://www.openssl.org/source/license.html>.
+
+=cut
index c4e109156fa7cd11c08b3903406ebd269e58204c..6f12d6fecfb47445c1ff0359d2515f76dec94019 100644 (file)
@@ -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).
  * |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;                           \
  */
 #define OSSL_CORE_MAKE_FUNC(type,name,args)                             \
     typedef type (OSSL_FUNC_##name##_fn)args;                           \
index 3d84ea777285e67bad908fa86cd3049bf3f569e6..54eeeb95cf7c6bd9660a67968167d0da4298ae70 100644 (file)
@@ -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_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
 OSSL_PARAM_TYPE                         define
 OSSL_PARAM_octet_ptr                    define
 OSSL_PARAM_octet_string                 define