Define our own ossl_predefined_providers, so we can easily compile out some or all of them for testing purposes.
Effect seems to not be that big though: 1157758 TlsDxe ('default' + 'base' + 'null') 897022 TlsDxe (only 'null') So not sure yet if we actually want/need this ... Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 1 + .../Library/OpensslLib/OpensslLibAccel.inf | 1 + .../Library/OpensslLib/OpensslLibCrypto.inf | 1 + .../Library/OpensslLib/OpensslLibFull.inf | 1 + .../OpensslLib/OpensslLibFullAccel.inf | 1 + CryptoPkg/Library/OpensslLib/provider.c | 21 +++++++++++++++++++ CryptoPkg/Library/OpensslLib/configure.py | 1 + 7 files changed, 27 insertions(+) create mode 100644 CryptoPkg/Library/OpensslLib/provider.c diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index b92b1daf2096..05a88d9a13ff 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -36,6 +36,7 @@ [Sources] buildinf.h buildinf.c ossl_store.c + provider.c rand_pool.c # SslNull.c EcSm2Null.c diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf index 59c5d42bc78e..b2ff45a2f771 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf @@ -39,6 +39,7 @@ [Sources] buildinf.h buildinf.c ossl_store.c + provider.c rand_pool.c # SslNull.c EcSm2Null.c diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf index 5bd6fa09ab33..64341653ff9e 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -37,6 +37,7 @@ [Sources] buildinf.h buildinf.c ossl_store.c + provider.c rand_pool.c # SslNull.c EcSm2Null.c diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf index aaea1bab5b26..fcb898bba2d2 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf @@ -41,6 +41,7 @@ [Sources] buildinf.h buildinf.c ossl_store.c + provider.c rand_pool.c # SslNull.c # EcSm2Null.c diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf index 2f559042dbab..e152ab278c94 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf @@ -43,6 +43,7 @@ [Sources] # Autogenerated files list ends here buildinf.h ossl_store.c + provider.c rand_pool.c # SslNull.c # EcSm2Null.c diff --git a/CryptoPkg/Library/OpensslLib/provider.c b/CryptoPkg/Library/OpensslLib/provider.c new file mode 100644 index 000000000000..bb17b008270f --- /dev/null +++ b/CryptoPkg/Library/OpensslLib/provider.c @@ -0,0 +1,21 @@ +/* + * Copyright 2019-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 + * https://www.openssl.org/source/license.html + */ + +#include <openssl/core.h> +#include "provider_local.h" + +OSSL_provider_init_fn ossl_default_provider_init; +OSSL_provider_init_fn ossl_base_provider_init; +OSSL_provider_init_fn ossl_null_provider_init; +const OSSL_PROVIDER_INFO ossl_predefined_providers[] = { + { "default", NULL, ossl_default_provider_init, NULL, 1 }, + { "base", NULL, ossl_base_provider_init, NULL, 0 }, + { "null", NULL, ossl_null_provider_init, NULL, 0 }, + { NULL, NULL, NULL, NULL, 0 } +}; diff --git a/CryptoPkg/Library/OpensslLib/configure.py b/CryptoPkg/Library/OpensslLib/configure.py index d8aa0cb03edf..8b44e3124a1e 100755 --- a/CryptoPkg/Library/OpensslLib/configure.py +++ b/CryptoPkg/Library/OpensslLib/configure.py @@ -195,6 +195,7 @@ def sources_filter_fn(filename): 'randfile.c', '/store/', '/storemgmt/', + 'provider_predefined.c' ] for item in exclude: if item in filename: -- 2.39.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101078): https://edk2.groups.io/g/devel/message/101078 Mute This Topic: https://groups.io/mt/97576425/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-