diff options
author | Richard Levitte <levitte@openssl.org> | 2019-10-04 12:30:33 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-10-10 14:12:15 +0200 |
commit | 7c214f1092f7622a1c2fdc5cfe70ddc94918daa3 (patch) | |
tree | f62016d368c92dfddb8becf4d2f7ff79d538cfe9 /providers | |
parent | e42cf7180b4fb32e985f15484e04c7fb8afc11ab (diff) |
Providers: move all digests
From providers/{common,default,legacy}/ to providers/implementations/
However, providers/common/digests/digest_common.c stays where it is,
because it's support code rather than an implementation.
To better support all kinds of implementations with common code, we
add the library providers/libcommon.a. Code that ends up in this
library must be FIPS agnostic.
While we're moving things around, though, we move digestscommon.h
from providers/common/include/internal to providers/common/include/prov,
thereby starting on a provider specific include structure, which
follows the line of thoughts of the recent header file reorganization.
We modify the affected '#include "internal/something.h"' to
'#include "prov/something.h"'.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10088)
Diffstat (limited to 'providers')
-rw-r--r-- | providers/build.info | 6 | ||||
-rw-r--r-- | providers/common/digests/build.info | 5 | ||||
-rw-r--r-- | providers/common/digests/digest_common.c | 2 | ||||
-rw-r--r-- | providers/common/include/prov/digestcommon.h (renamed from providers/common/include/internal/digestcommon.h) | 0 | ||||
-rw-r--r-- | providers/default/build.info | 2 | ||||
-rw-r--r-- | providers/default/digests/build.info | 16 | ||||
-rw-r--r-- | providers/implementations/build.info | 2 | ||||
-rw-r--r-- | providers/implementations/digests/blake2_impl.h (renamed from providers/default/digests/blake2_impl.h) | 0 | ||||
-rw-r--r-- | providers/implementations/digests/blake2_prov.c (renamed from providers/default/digests/blake2_prov.c) | 4 | ||||
-rw-r--r-- | providers/implementations/digests/blake2b_prov.c (renamed from providers/default/digests/blake2b_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/blake2s_prov.c (renamed from providers/default/digests/blake2s_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/build.info | 52 | ||||
-rw-r--r-- | providers/implementations/digests/md2_prov.c (renamed from providers/legacy/digests/md2_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/md4_prov.c (renamed from providers/legacy/digests/md4_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/md5_prov.c (renamed from providers/default/digests/md5_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/md5_sha1_prov.c (renamed from providers/default/digests/md5_sha1_prov.c) | 4 | ||||
-rw-r--r-- | providers/implementations/digests/mdc2_prov.c (renamed from providers/legacy/digests/mdc2_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/ripemd_prov.c (renamed from providers/legacy/digests/ripemd_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/sha2_prov.c (renamed from providers/common/digests/sha2_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/sha3_prov.c (renamed from providers/common/digests/sha3_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/sm3_prov.c (renamed from providers/default/digests/sm3_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/digests/wp_prov.c (renamed from providers/legacy/digests/wp_prov.c) | 2 | ||||
-rw-r--r-- | providers/implementations/include/prov/blake2.h (renamed from providers/default/include/internal/blake2.h) | 0 | ||||
-rw-r--r-- | providers/implementations/include/prov/md5_sha1.h (renamed from providers/default/include/internal/md5_sha1.h) | 0 | ||||
-rw-r--r-- | providers/implementations/macs/blake2_mac_impl.c | 2 | ||||
-rw-r--r-- | providers/legacy/build.info | 1 | ||||
-rw-r--r-- | providers/legacy/digests/build.info | 21 |
27 files changed, 75 insertions, 64 deletions
diff --git a/providers/build.info b/providers/build.info index 973adac5c7..42b9c0aa9c 100644 --- a/providers/build.info +++ b/providers/build.info @@ -46,8 +46,8 @@ $LIBFIPS=libfips.a $COMMON_INCLUDES=../crypto ../include common/include INCLUDE[$LIBCOMMON]=$COMMON_INCLUDES -INCLUDE[$LIBIMPLEMENTATIONS]=.. $COMMON_INCLUDES default/include -INCLUDE[$LIBLEGACY]=$COMMON_INCLUDES +INCLUDE[$LIBIMPLEMENTATIONS]=.. $COMMON_INCLUDES implementations/include +INCLUDE[$LIBLEGACY]=$COMMON_INCLUDES implementations/include INCLUDE[$LIBNONFIPS]=$COMMON_INCLUDES INCLUDE[$LIBFIPS]=.. $COMMON_INCLUDES DEFINE[$LIBFIPS]=FIPS_MODE @@ -82,6 +82,8 @@ LIBS{noinst}=$LIBNONFIPS $LIBIMPLEMENTATIONS # with DEPEND. $DEFAULTGOAL=../libcrypto SOURCE[$DEFAULTGOAL]=$LIBIMPLEMENTATIONS $LIBNONFIPS +# Some legacy implementations depend on provider header files +INCLUDE[../libcrypto]=implementations/include LIBS=$DEFAULTGOAL diff --git a/providers/common/digests/build.info b/providers/common/digests/build.info index 2a8e8aa397..730046d670 100644 --- a/providers/common/digests/build.info +++ b/providers/common/digests/build.info @@ -1,7 +1,2 @@ # This source is common for all digests in all our providers. SOURCE[../../libcommon.a]=digest_common.c - -# These are our implementations -$GOAL=../../libimplementations.a - -SOURCE[$GOAL]=sha2_prov.c sha3_prov.c diff --git a/providers/common/digests/digest_common.c b/providers/common/digests/digest_common.c index 062209f329..92610a1524 100644 --- a/providers/common/digests/digest_common.c +++ b/providers/common/digests/digest_common.c @@ -8,7 +8,7 @@ */ #include "openssl/err.h" -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/providercommonerr.h" int digest_default_get_params(OSSL_PARAM params[], size_t blksz, size_t paramsz, diff --git a/providers/common/include/internal/digestcommon.h b/providers/common/include/prov/digestcommon.h index 868cbbf79f..868cbbf79f 100644 --- a/providers/common/include/internal/digestcommon.h +++ b/providers/common/include/prov/digestcommon.h diff --git a/providers/default/build.info b/providers/default/build.info index 67b4d3a977..9a9760b799 100644 --- a/providers/default/build.info +++ b/providers/default/build.info @@ -1,4 +1,4 @@ -SUBDIRS=digests ciphers +SUBDIRS=ciphers $GOAL=../../libcrypto SOURCE[$GOAL]=defltprov.c INCLUDE[$GOAL]=include diff --git a/providers/default/digests/build.info b/providers/default/digests/build.info deleted file mode 100644 index 6869657ec9..0000000000 --- a/providers/default/digests/build.info +++ /dev/null @@ -1,16 +0,0 @@ -$GOAL=../../libimplementations.a - -IF[{- !$disabled{blake2} -}] - SOURCE[$GOAL]=\ - blake2_prov.c blake2b_prov.c blake2s_prov.c -ENDIF - -IF[{- !$disabled{sm3} -}] - SOURCE[$GOAL]=\ - sm3_prov.c -ENDIF - -IF[{- !$disabled{md5} -}] - SOURCE[$GOAL]=\ - md5_prov.c md5_sha1_prov.c -ENDIF diff --git a/providers/implementations/build.info b/providers/implementations/build.info index 1170ef96b3..86c581d7f7 100644 --- a/providers/implementations/build.info +++ b/providers/implementations/build.info @@ -1 +1 @@ -SUBDIRS=macs kdfs exchange keymgmt signature +SUBDIRS=digests macs kdfs exchange keymgmt signature diff --git a/providers/default/digests/blake2_impl.h b/providers/implementations/digests/blake2_impl.h index 52477a8fe2..52477a8fe2 100644 --- a/providers/default/digests/blake2_impl.h +++ b/providers/implementations/digests/blake2_impl.h diff --git a/providers/default/digests/blake2_prov.c b/providers/implementations/digests/blake2_prov.c index f299fb289d..16f301b177 100644 --- a/providers/default/digests/blake2_prov.c +++ b/providers/implementations/digests/blake2_prov.c @@ -8,8 +8,8 @@ */ #include <openssl/crypto.h> -#include "internal/blake2.h" -#include "internal/digestcommon.h" +#include "prov/blake2.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" OSSL_OP_digest_init_fn blake2s256_init; diff --git a/providers/default/digests/blake2b_prov.c b/providers/implementations/digests/blake2b_prov.c index 2f8081268e..baa33e922f 100644 --- a/providers/default/digests/blake2b_prov.c +++ b/providers/implementations/digests/blake2b_prov.c @@ -18,7 +18,7 @@ #include <string.h> #include <openssl/crypto.h> #include "blake2_impl.h" -#include "internal/blake2.h" +#include "prov/blake2.h" static const uint64_t blake2b_IV[8] = { diff --git a/providers/default/digests/blake2s_prov.c b/providers/implementations/digests/blake2s_prov.c index a9c757ea62..703d8a8fab 100644 --- a/providers/default/digests/blake2s_prov.c +++ b/providers/implementations/digests/blake2s_prov.c @@ -18,7 +18,7 @@ #include <string.h> #include <openssl/crypto.h> #include "blake2_impl.h" -#include "internal/blake2.h" +#include "prov/blake2.h" static const uint32_t blake2s_IV[8] = { diff --git a/providers/implementations/digests/build.info b/providers/implementations/digests/build.info new file mode 100644 index 0000000000..2026de95d7 --- /dev/null +++ b/providers/implementations/digests/build.info @@ -0,0 +1,52 @@ +# We make separate GOAL variables for each algorithm, to make it easy to +# switch each to the Legacy provider when needed. + +$SHA1_GOAL=../../libimplementations.a +$SHA2_GOAL=../../libimplementations.a +$SHA3_GOAL=../../libimplementations.a +$BLAKE2_GOAL=../../libimplementations.a +$SM3_GOAL=../../libimplementations.a +$MD5_GOAL=../../libimplementations.a + +$MD2_GOAL=../../liblegacy.a +$MD4_GOAL=../../liblegacy.a +$MDC2_GOAL=../../liblegacy.a +$WHIRLPOOL_GOAL=../../liblegacy.a +$RIPEMD_GOAL=../../liblegacy.a + +SOURCE[$SHA2_GOAL]=sha2_prov.c +SOURCE[$SHA3_GOAL]=sha3_prov.c + +$GOAL=../../libimplementations.a + +IF[{- !$disabled{blake2} -}] + SOURCE[$BLAKE2_GOAL]=blake2_prov.c blake2b_prov.c blake2s_prov.c +ENDIF + +IF[{- !$disabled{sm3} -}] + SOURCE[$SM3_GOAL]=sm3_prov.c +ENDIF + +IF[{- !$disabled{md5} -}] + SOURCE[$MD5_GOAL]=md5_prov.c md5_sha1_prov.c +ENDIF + +IF[{- !$disabled{md2} -}] + SOURCE[$MD2_GOAL]=md2_prov.c +ENDIF + +IF[{- !$disabled{md4} -}] + SOURCE[$MD4_GOAL]=md4_prov.c +ENDIF + +IF[{- !$disabled{mdc2} -}] + SOURCE[$MDC2_GOAL]=mdc2_prov.c +ENDIF + +IF[{- !$disabled{whirlpool} -}] + SOURCE[$WHIRLPOOL_GOAL]=wp_prov.c +ENDIF + +IF[{- !$disabled{rmd160} -}] + SOURCE[$RIPEMD_GOAL]=ripemd_prov.c +ENDIF diff --git a/providers/legacy/digests/md2_prov.c b/providers/implementations/digests/md2_prov.c index 2a4439d26c..ab1d605218 100644 --- a/providers/legacy/digests/md2_prov.c +++ b/providers/implementations/digests/md2_prov.c @@ -9,7 +9,7 @@ #include <openssl/crypto.h> #include <openssl/md2.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" /* md2_functions */ diff --git a/providers/legacy/digests/md4_prov.c b/providers/implementations/digests/md4_prov.c index 8486b7b48d..6b311c075d 100644 --- a/providers/legacy/digests/md4_prov.c +++ b/providers/implementations/digests/md4_prov.c @@ -9,7 +9,7 @@ #include <openssl/crypto.h> #include <openssl/md4.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" /* md4_functions */ diff --git a/providers/default/digests/md5_prov.c b/providers/implementations/digests/md5_prov.c index c688bebac0..1205888ff9 100644 --- a/providers/default/digests/md5_prov.c +++ b/providers/implementations/digests/md5_prov.c @@ -9,7 +9,7 @@ #include <openssl/crypto.h> #include <openssl/md5.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" /* md5_functions */ diff --git a/providers/default/digests/md5_sha1_prov.c b/providers/implementations/digests/md5_sha1_prov.c index 7f224cba4f..ff6e2ed121 100644 --- a/providers/default/digests/md5_sha1_prov.c +++ b/providers/implementations/digests/md5_sha1_prov.c @@ -12,8 +12,8 @@ #include <openssl/evp.h> #include <openssl/params.h> #include <openssl/core_names.h> -#include "internal/md5_sha1.h" -#include "internal/digestcommon.h" +#include "prov/md5_sha1.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" static OSSL_OP_digest_set_ctx_params_fn md5_sha1_set_ctx_params; diff --git a/providers/legacy/digests/mdc2_prov.c b/providers/implementations/digests/mdc2_prov.c index cf37b528e7..f0ae8b3742 100644 --- a/providers/legacy/digests/mdc2_prov.c +++ b/providers/implementations/digests/mdc2_prov.c @@ -12,7 +12,7 @@ #include <openssl/mdc2.h> #include <openssl/core_names.h> #include <openssl/err.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" #include "internal/providercommonerr.h" diff --git a/providers/legacy/digests/ripemd_prov.c b/providers/implementations/digests/ripemd_prov.c index 314b69a3fb..4f11f79e4c 100644 --- a/providers/legacy/digests/ripemd_prov.c +++ b/providers/implementations/digests/ripemd_prov.c @@ -9,7 +9,7 @@ #include <openssl/crypto.h> #include <openssl/ripemd.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" /* ripemd160_functions */ diff --git a/providers/common/digests/sha2_prov.c b/providers/implementations/digests/sha2_prov.c index d2c7df2ee6..3c07e784cf 100644 --- a/providers/common/digests/sha2_prov.c +++ b/providers/implementations/digests/sha2_prov.c @@ -14,7 +14,7 @@ #include <openssl/evp.h> #include <openssl/params.h> #include <openssl/core_names.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" #include "crypto/sha.h" diff --git a/providers/common/digests/sha3_prov.c b/providers/implementations/digests/sha3_prov.c index 0563d0cfc1..5adc7b2976 100644 --- a/providers/common/digests/sha3_prov.c +++ b/providers/implementations/digests/sha3_prov.c @@ -14,7 +14,7 @@ #include <openssl/params.h> #include <openssl/err.h> #include "internal/sha3.h" -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" #include "internal/providercommonerr.h" diff --git a/providers/default/digests/sm3_prov.c b/providers/implementations/digests/sm3_prov.c index 512e3cb1c1..bd9d833184 100644 --- a/providers/default/digests/sm3_prov.c +++ b/providers/implementations/digests/sm3_prov.c @@ -9,7 +9,7 @@ #include <openssl/crypto.h> #include "internal/sm3.h" -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" /* sm3_functions */ diff --git a/providers/legacy/digests/wp_prov.c b/providers/implementations/digests/wp_prov.c index eaa41b0af1..1dd5aa36e4 100644 --- a/providers/legacy/digests/wp_prov.c +++ b/providers/implementations/digests/wp_prov.c @@ -9,7 +9,7 @@ #include <openssl/crypto.h> #include <openssl/whrlpool.h> -#include "internal/digestcommon.h" +#include "prov/digestcommon.h" #include "internal/provider_algs.h" /* wp_functions */ diff --git a/providers/default/include/internal/blake2.h b/providers/implementations/include/prov/blake2.h index 895cfb87f0..895cfb87f0 100644 --- a/providers/default/include/internal/blake2.h +++ b/providers/implementations/include/prov/blake2.h diff --git a/providers/default/include/internal/md5_sha1.h b/providers/implementations/include/prov/md5_sha1.h index 3e80fdcf97..3e80fdcf97 100644 --- a/providers/default/include/internal/md5_sha1.h +++ b/providers/implementations/include/prov/md5_sha1.h diff --git a/providers/implementations/macs/blake2_mac_impl.c b/providers/implementations/macs/blake2_mac_impl.c index a190b91b98..a191e78def 100644 --- a/providers/implementations/macs/blake2_mac_impl.c +++ b/providers/implementations/macs/blake2_mac_impl.c @@ -11,7 +11,7 @@ #include <openssl/core_names.h> #include <openssl/params.h> -#include "internal/blake2.h" +#include "prov/blake2.h" #include "internal/cryptlib.h" #include "internal/providercommonerr.h" #include "internal/provider_algs.h" diff --git a/providers/legacy/build.info b/providers/legacy/build.info index 713c48dbe6..1236f15818 100644 --- a/providers/legacy/build.info +++ b/providers/legacy/build.info @@ -1,4 +1,3 @@ -SUBDIRS=digests IF[{- $disabled{module} -}] $GOAL=../../libcrypto ELSE diff --git a/providers/legacy/digests/build.info b/providers/legacy/digests/build.info deleted file mode 100644 index 4e1aeb6ddd..0000000000 --- a/providers/legacy/digests/build.info +++ /dev/null @@ -1,21 +0,0 @@ -$GOAL=../../liblegacy.a - -IF[{- !$disabled{md2} -}] - SOURCE[$GOAL]=md2_prov.c -ENDIF - -IF[{- !$disabled{md4} -}] - SOURCE[$GOAL]=md4_prov.c -ENDIF - -IF[{- !$disabled{mdc2} -}] - SOURCE[$GOAL]=mdc2_prov.c -ENDIF - -IF[{- !$disabled{whirlpool} -}] - SOURCE[$GOAL]=wp_prov.c -ENDIF - -IF[{- !$disabled{rmd160} -}] - SOURCE[$GOAL]=ripemd_prov.c -ENDIF |