When building of modules is disabled, build the legacy provider into libcrypto

This makes the legacy provider available regardless of building conditions.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9637)
This commit is contained in:
Richard Levitte 2019-08-19 08:55:53 +02:00
parent 03f30c552a
commit 318e074e1f
6 changed files with 40 additions and 15 deletions

View File

@ -518,7 +518,7 @@ my @disable_cascades = (
# or modules.
"pic" => [ "shared", "module" ],
"module" => [ "fips", "legacy" ],
"module" => [ "fips" ],
"engine" => [ grep /eng$/, @disablables ],
"hw" => [ "padlockeng" ],

View File

@ -12,12 +12,17 @@
OSSL_provider_init_fn ossl_default_provider_init;
OSSL_provider_init_fn fips_intern_provider_init;
#ifdef STATIC_LEGACY
OSSL_provider_init_fn ossl_legacy_provider_init;
#endif
const struct predefined_providers_st predefined_providers[] = {
#ifdef FIPS_MODE
{ "fips", fips_intern_provider_init, 1 },
#else
{ "default", ossl_default_provider_init, 1 },
# ifdef STATIC_LEGACY
{ "legacy", ossl_legacy_provider_init, 0 },
# endif
#endif
{ NULL, NULL, 0 }
};

View File

@ -15,11 +15,16 @@ ENDIF
IF[{- !$disabled{legacy} -}]
SUBDIRS=legacy
MODULES=legacy
IF[{- defined $target{shared_defflag} -}]
SOURCE[legacy]=legacy.ld
GENERATE[legacy.ld]=../util/providers.num
IF[{- $disabled{module} -}]
LIBS=../libcrypto
DEFINE[../libcrypto]=STATIC_LEGACY
ELSE
MODULES=legacy
IF[{- defined $target{shared_defflag} -}]
SOURCE[legacy]=legacy.ld
GENERATE[legacy.ld]=../util/providers.num
ENDIF
DEPEND[legacy]=../libcrypto
INCLUDE[legacy]=.. ../include ../crypto/include common/include
ENDIF
INCLUDE[legacy]=.. ../include ../crypto/include common/include
DEPEND[legacy]=../libcrypto
ENDIF

View File

@ -1,4 +1,8 @@
SUBDIRS=digests
IF[{- $disabled{module} -}]
$GOAL=../../libcrypto
ELSE
$GOAL=../legacy
ENDIF
SOURCE[../legacy]=\
legacyprov.c
SOURCE[$GOAL]=legacyprov.c

View File

@ -1,24 +1,30 @@
IF[{- $disabled{module} -}]
$GOAL=../../../libcrypto
ELSE
$GOAL=../../legacy
ENDIF
IF[{- !$disabled{md2} -}]
SOURCE[../../legacy]=\
SOURCE[$GOAL]=\
md2_prov.c
ENDIF
IF[{- !$disabled{md4} -}]
SOURCE[../../legacy]=\
SOURCE[$GOAL]=\
md4_prov.c
ENDIF
IF[{- !$disabled{mdc2} -}]
SOURCE[../../legacy]=\
SOURCE[$GOAL]=\
mdc2_prov.c
ENDIF
IF[{- !$disabled{whirlpool} -}]
SOURCE[../../legacy]=\
SOURCE[$GOAL]=\
wp_prov.c
ENDIF
IF[{- !$disabled{rmd160} -}]
SOURCE[../../legacy]=\
SOURCE[$GOAL]=\
ripemd_prov.c
ENDIF

View File

@ -15,6 +15,11 @@
#include <openssl/params.h>
#include "internal/provider_algs.h"
#ifdef STATIC_LEGACY
OSSL_provider_init_fn ossl_legacy_provider_init;
# define OSSL_provider_init ossl_legacy_provider_init
#endif
/* Functions provided by the core */
static OSSL_core_gettable_params_fn *c_gettable_params = NULL;
static OSSL_core_get_params_fn *c_get_params = NULL;