Make OSSL_provider_init() OPENSSL_EXPORT, not just extern
authorRichard Levitte <levitte@openssl.org>
Mon, 6 Dec 2021 19:54:17 +0000 (20:54 +0100)
committerDmitry Belyavskiy <beldmit@gmail.com>
Fri, 10 Dec 2021 11:08:48 +0000 (12:08 +0100)
On non-Windows systems, there's no difference at all.  On Windows systems,
__declspec(dllexport) is added, which ensures it gets exported no matter
what.

Fixes #17203

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17215)

include/openssl/core.h

index 3356ef20884335db093610d3fd9b27ae8428d68b..9683ac70a55cff6108da62f3e6817748c9dd1c98 100644 (file)
@@ -195,7 +195,7 @@ typedef int (OSSL_provider_init_fn)(const OSSL_CORE_HANDLE *handle,
 #  pragma names save
 #  pragma names uppercase,truncated
 # endif
-extern OSSL_provider_init_fn OSSL_provider_init;
+OPENSSL_EXPORT OSSL_provider_init_fn OSSL_provider_init;
 # ifdef __VMS
 #  pragma names restore
 # endif