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)
# or modules.
"pic" => [ "shared", "module" ],
- "module" => [ "fips", "legacy" ],
+ "module" => [ "fips" ],
"engine" => [ grep /eng$/, @disablables ],
"hw" => [ "padlockeng" ],
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 }
};
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
SUBDIRS=digests
+IF[{- $disabled{module} -}]
+ $GOAL=../../libcrypto
+ELSE
+ $GOAL=../legacy
+ENDIF
-SOURCE[../legacy]=\
- legacyprov.c
+SOURCE[$GOAL]=legacyprov.c
+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
\ No newline at end of file
#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;