diff options
34 files changed, 40 insertions, 38 deletions
diff --git a/providers/build.info b/providers/build.info index c31c4271de..39e767fb0e 100644 --- a/providers/build.info +++ b/providers/build.info @@ -40,14 +40,14 @@ $LIBNONFIPS=libnonfips.a $LIBFIPS=libfips.a # Enough of our implementations include prov/ciphercommon.h (present in -# providers/common/include), which includes crypto/ciphermode_platform.h +# providers/implementations/include), which includes crypto/ciphermode_platform.h # (present in include), which in turn may include very internal header # files in crypto/, so let's have a common include list for them all. -$COMMON_INCLUDES=../crypto ../include common/include +$COMMON_INCLUDES=../crypto ../include implementations/include common/include INCLUDE[$LIBCOMMON]=$COMMON_INCLUDES -INCLUDE[$LIBIMPLEMENTATIONS]=.. $COMMON_INCLUDES implementations/include -INCLUDE[$LIBLEGACY]=$COMMON_INCLUDES implementations/include +INCLUDE[$LIBIMPLEMENTATIONS]=.. $COMMON_INCLUDES +INCLUDE[$LIBLEGACY]=$COMMON_INCLUDES INCLUDE[$LIBNONFIPS]=$COMMON_INCLUDES INCLUDE[$LIBFIPS]=.. $COMMON_INCLUDES DEFINE[$LIBFIPS]=FIPS_MODE @@ -84,7 +84,7 @@ $DEFAULTGOAL=../libcrypto SOURCE[$DEFAULTGOAL]=$LIBIMPLEMENTATIONS $LIBNONFIPS SOURCE[$DEFAULTGOAL]=defltprov.c # Some legacy implementations depend on provider header files -INCLUDE[../libcrypto]=implementations/include +INCLUDE[$DEFAULTGOAL]=implementations/include LIBS=$DEFAULTGOAL diff --git a/providers/common/build.info b/providers/common/build.info index 3f20fb3c09..ccc99e515b 100644 --- a/providers/common/build.info +++ b/providers/common/build.info @@ -1,5 +1,3 @@ -SUBDIRS=digests ciphers - SOURCE[../libcommon.a]=provider_err.c bio_prov.c $FIPSCOMMON=provider_util.c SOURCE[../libnonfips.a]=$FIPSCOMMON nid_to_name.c diff --git a/providers/common/ciphers/build.info b/providers/common/ciphers/build.info deleted file mode 100644 index b76b8ba10a..0000000000 --- a/providers/common/ciphers/build.info +++ /dev/null @@ -1,5 +0,0 @@ -# This source is common building blocks for all ciphers in all our providers. -SOURCE[../../libcommon.a]=\ - cipher_common.c cipher_common_hw.c block.c \ - cipher_gcm.c cipher_gcm_hw.c \ - cipher_ccm.c cipher_ccm_hw.c diff --git a/providers/common/digests/build.info b/providers/common/digests/build.info deleted file mode 100644 index 730046d670..0000000000 --- a/providers/common/digests/build.info +++ /dev/null @@ -1,2 +0,0 @@ -# This source is common for all digests in all our providers. -SOURCE[../../libcommon.a]=digest_common.c diff --git a/providers/implementations/ciphers/build.info b/providers/implementations/ciphers/build.info index 0a76962669..abc193bb1d 100644 --- a/providers/implementations/ciphers/build.info +++ b/providers/implementations/ciphers/build.info @@ -5,6 +5,8 @@ # The latter may become legacy sooner, so it's comfortable to have two # variables already now, to switch the non-FIPSable TDES to legacy if needed. +$COMMON_GOAL=../../libcommon.a + $AES_GOAL=../../libimplementations.a $TDES_1_GOAL=../../libimplementations.a $TDES_2_GOAL=../../libimplementations.a @@ -23,6 +25,12 @@ $CHACHA_GOAL=../../libimplementations.a $CHACHAPOLY_GOAL=../../libimplementations.a $SIV_GOAL=../../libimplementations.a +# This source is common building blocks for all ciphers in all our providers. +SOURCE[$COMMON_GOAL]=\ + ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \ + ciphercommon_gcm.c ciphercommon_gcm_hw.c \ + ciphercommon_ccm.c ciphercommon_ccm_hw.c + IF[{- !$disabled{des} -}] SOURCE[$TDES_1_GOAL]=cipher_tdes.c cipher_tdes_hw.c ENDIF diff --git a/providers/implementations/ciphers/cipher_aes_ccm.c b/providers/implementations/ciphers/cipher_aes_ccm.c index c1fb51b565..b6655143d9 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm.c +++ b/providers/implementations/ciphers/cipher_aes_ccm.c @@ -10,7 +10,7 @@ /* Dispatch functions for AES CCM mode */ #include "prov/ciphercommon.h" -#include "prov/cipher_ccm.h" +#include "prov/ciphercommon_ccm.h" #include "prov/implementations.h" static void *aes_ccm_newctx(void *provctx, size_t keybits) diff --git a/providers/implementations/ciphers/cipher_aes_ccm_hw.c b/providers/implementations/ciphers/cipher_aes_ccm_hw.c index ae200ebada..0b1e50163b 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm_hw.c +++ b/providers/implementations/ciphers/cipher_aes_ccm_hw.c @@ -10,7 +10,7 @@ /* AES CCM mode */ #include "prov/ciphercommon.h" -#include "prov/cipher_ccm.h" +#include "prov/ciphercommon_ccm.h" #define AES_HW_CCM_SET_KEY_FN(fn_set_enc_key, fn_blk, fn_ccm_enc, fn_ccm_dec) \ fn_set_enc_key(key, keylen * 8, &actx->ccm.ks.ks); \ diff --git a/providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc b/providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc index 3a5e4a740d..7e83565809 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc +++ b/providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc @@ -9,7 +9,7 @@ /*- * AES-NI support for AES CCM. - * This file is included by cipher_ccm_hw.c + * This file is included by cipher_aes_ccm_hw.c */ static int ccm_aesni_initkey(PROV_CCM_CTX *ctx, const unsigned char *key, diff --git a/providers/implementations/ciphers/cipher_aes_ccm_hw_s390x.inc b/providers/implementations/ciphers/cipher_aes_ccm_hw_s390x.inc index a5025e5960..cec7c96902 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm_hw_s390x.inc +++ b/providers/implementations/ciphers/cipher_aes_ccm_hw_s390x.inc @@ -9,7 +9,7 @@ /*- * S390X support for AES CCM. - * This file is included by cipher_ccm_hw.c + * This file is included by cipher_aes_ccm_hw.c */ #define S390X_CCM_AAD_FLAG 0x40 diff --git a/providers/implementations/ciphers/cipher_aes_ccm_hw_t4.inc b/providers/implementations/ciphers/cipher_aes_ccm_hw_t4.inc index 21bf6861e0..c4b6d15ed9 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm_hw_t4.inc +++ b/providers/implementations/ciphers/cipher_aes_ccm_hw_t4.inc @@ -9,7 +9,7 @@ /*- * Fujitsu SPARC64 X support for AES CCM. - * This file is included by cipher_ccm_hw.c + * This file is included by cipher_aes_ccm_hw.c */ static int ccm_t4_aes_initkey(PROV_CCM_CTX *ctx, const unsigned char *key, diff --git a/providers/implementations/ciphers/cipher_aes_gcm.c b/providers/implementations/ciphers/cipher_aes_gcm.c index 4ebc8140ee..18277c705e 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm.c +++ b/providers/implementations/ciphers/cipher_aes_gcm.c @@ -10,7 +10,7 @@ /* Dispatch functions for AES GCM mode */ #include "prov/ciphercommon.h" -#include "prov/cipher_gcm.h" +#include "prov/ciphercommon_gcm.h" #include "prov/implementations.h" static void *aes_gcm_newctx(void *provctx, size_t keybits) diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw.c b/providers/implementations/ciphers/cipher_aes_gcm_hw.c index f5dc0c4eed..6a2f8a5fd4 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw.c +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw.c @@ -10,7 +10,7 @@ /* Dispatch functions for AES GCM mode */ #include "prov/ciphercommon.h" -#include "prov/cipher_gcm.h" +#include "prov/ciphercommon_gcm.h" static int generic_aes_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char *key, size_t keylen) diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc b/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc index eb2a3f343a..2fc86982c0 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc @@ -9,7 +9,7 @@ /*- * AES-NI support for AES GCM. - * This file is included by cipher_gcm_hw.c + * This file is included by cipher_aes_gcm_hw.c */ static int aesni_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char *key, diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw_s390x.inc b/providers/implementations/ciphers/cipher_aes_gcm_hw_s390x.inc index 44c3bf332d..e13771a449 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw_s390x.inc +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw_s390x.inc @@ -9,7 +9,7 @@ /*- * IBM S390X support for AES GCM. - * This file is included by cipher_gcm_hw.c + * This file is included by cipher_aes_gcm_hw.c */ /* iv + padding length for iv lengths != 12 */ diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc b/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc index 19e9ccb760..cc7d4ba528 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc @@ -9,7 +9,7 @@ /*- * Fujitsu SPARC64 X support for AES GCM. - * This file is included by cipher_gcm_hw.c + * This file is included by cipher_aes_gcm_hw.c */ static int t4_aes_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char *key, diff --git a/providers/implementations/ciphers/cipher_aes_ocb.c b/providers/implementations/ciphers/cipher_aes_ocb.c index 6b07caaa52..03ec70b949 100644 --- a/providers/implementations/ciphers/cipher_aes_ocb.c +++ b/providers/implementations/ciphers/cipher_aes_ocb.c @@ -9,7 +9,7 @@ #include "cipher_aes_ocb.h" #include "prov/providercommonerr.h" -#include "prov/cipher_aead.h" +#include "prov/ciphercommon_aead.h" #include "prov/implementations.h" #define AES_OCB_FLAGS AEAD_FLAGS diff --git a/providers/implementations/ciphers/cipher_aes_siv.c b/providers/implementations/ciphers/cipher_aes_siv.c index 864ebc725e..ada6b27435 100644 --- a/providers/implementations/ciphers/cipher_aes_siv.c +++ b/providers/implementations/ciphers/cipher_aes_siv.c @@ -12,7 +12,7 @@ #include "cipher_aes_siv.h" #include "prov/implementations.h" #include "prov/providercommonerr.h" -#include "prov/cipher_aead.h" +#include "prov/ciphercommon_aead.h" #define siv_stream_update siv_cipher #define SIV_FLAGS AEAD_FLAGS diff --git a/providers/implementations/ciphers/cipher_aria_ccm.h b/providers/implementations/ciphers/cipher_aria_ccm.h index 301ce14306..a85cf899ef 100644 --- a/providers/implementations/ciphers/cipher_aria_ccm.h +++ b/providers/implementations/ciphers/cipher_aria_ccm.h @@ -9,7 +9,7 @@ #include "crypto/aria.h" #include "prov/ciphercommon.h" -#include "prov/cipher_ccm.h" +#include "prov/ciphercommon_ccm.h" typedef struct prov_aria_ccm_ctx_st { PROV_CCM_CTX base; /* Must be first */ diff --git a/providers/implementations/ciphers/cipher_aria_gcm.h b/providers/implementations/ciphers/cipher_aria_gcm.h index 13fbe175d9..2d08a59029 100644 --- a/providers/implementations/ciphers/cipher_aria_gcm.h +++ b/providers/implementations/ciphers/cipher_aria_gcm.h @@ -9,7 +9,7 @@ #include "crypto/aria.h" #include "prov/ciphercommon.h" -#include "prov/cipher_gcm.h" +#include "prov/ciphercommon_gcm.h" typedef struct prov_aria_gcm_ctx_st { PROV_GCM_CTX base; /* must be first entry in struct */ diff --git a/providers/common/ciphers/cipher_common.c b/providers/implementations/ciphers/ciphercommon.c index 83c370793b..a6b890704e 100644 --- a/providers/common/ciphers/cipher_common.c +++ b/providers/implementations/ciphers/ciphercommon.c @@ -11,7 +11,7 @@ * Generic dispatch table functions for ciphers. */ -#include "cipher_local.h" +#include "ciphercommon_local.h" #include "prov/provider_ctx.h" #include "prov/providercommonerr.h" diff --git a/providers/common/ciphers/block.c b/providers/implementations/ciphers/ciphercommon_block.c index 95acfaf323..eff94842ed 100644 --- a/providers/common/ciphers/block.c +++ b/providers/implementations/ciphers/ciphercommon_block.c @@ -8,7 +8,7 @@ */ #include <assert.h> -#include "cipher_local.h" +#include "ciphercommon_local.h" #include "prov/providercommonerr.h" /* diff --git a/providers/common/ciphers/cipher_ccm.c b/providers/implementations/ciphers/ciphercommon_ccm.c index 021a004276..edb8e81bf9 100644 --- a/providers/common/ciphers/cipher_ccm.c +++ b/providers/implementations/ciphers/ciphercommon_ccm.c @@ -10,7 +10,7 @@ /* Dispatch functions for ccm mode */ #include "prov/ciphercommon.h" -#include "prov/cipher_ccm.h" +#include "prov/ciphercommon_ccm.h" #include "prov/providercommonerr.h" static int ccm_cipher_internal(PROV_CCM_CTX *ctx, unsigned char *out, diff --git a/providers/common/ciphers/cipher_ccm_hw.c b/providers/implementations/ciphers/ciphercommon_ccm_hw.c index 5503a41687..96cc744f87 100644 --- a/providers/common/ciphers/cipher_ccm_hw.c +++ b/providers/implementations/ciphers/ciphercommon_ccm_hw.c @@ -8,7 +8,7 @@ */ #include "prov/ciphercommon.h" -#include "prov/cipher_ccm.h" +#include "prov/ciphercommon_ccm.h" int ccm_generic_setiv(PROV_CCM_CTX *ctx, const unsigned char *nonce, size_t nlen, size_t mlen) diff --git a/providers/common/ciphers/cipher_gcm.c b/providers/implementations/ciphers/ciphercommon_gcm.c index 619d4f61b0..803f810a30 100644 --- a/providers/common/ciphers/cipher_gcm.c +++ b/providers/implementations/ciphers/ciphercommon_gcm.c @@ -10,7 +10,7 @@ /* Dispatch functions for gcm mode */ #include "prov/ciphercommon.h" -#include "prov/cipher_gcm.h" +#include "prov/ciphercommon_gcm.h" #include "prov/providercommonerr.h" #include "crypto/rand.h" #include "prov/provider_ctx.h" diff --git a/providers/common/ciphers/cipher_gcm_hw.c b/providers/implementations/ciphers/ciphercommon_gcm_hw.c index 09e3c27400..60c7ac5d8f 100644 --- a/providers/common/ciphers/cipher_gcm_hw.c +++ b/providers/implementations/ciphers/ciphercommon_gcm_hw.c @@ -8,7 +8,7 @@ */ #include "prov/ciphercommon.h" -#include "prov/cipher_gcm.h" +#include "prov/ciphercommon_gcm.h" int gcm_setiv(PROV_GCM_CTX *ctx, const unsigned char *iv, size_t ivlen) diff --git a/providers/common/ciphers/cipher_common_hw.c b/providers/implementations/ciphers/ciphercommon_hw.c index f1c466edc8..f1c466edc8 100644 --- a/providers/common/ciphers/cipher_common_hw.c +++ b/providers/implementations/ciphers/ciphercommon_hw.c diff --git a/providers/common/ciphers/cipher_local.h b/providers/implementations/ciphers/ciphercommon_local.h index 1c4716f357..1c4716f357 100644 --- a/providers/common/ciphers/cipher_local.h +++ b/providers/implementations/ciphers/ciphercommon_local.h diff --git a/providers/implementations/digests/build.info b/providers/implementations/digests/build.info index 2026de95d7..a90636cbb9 100644 --- a/providers/implementations/digests/build.info +++ b/providers/implementations/digests/build.info @@ -1,6 +1,8 @@ # We make separate GOAL variables for each algorithm, to make it easy to # switch each to the Legacy provider when needed. +$COMMON_GOAL=../../libcommon.a + $SHA1_GOAL=../../libimplementations.a $SHA2_GOAL=../../libimplementations.a $SHA3_GOAL=../../libimplementations.a @@ -14,11 +16,12 @@ $MDC2_GOAL=../../liblegacy.a $WHIRLPOOL_GOAL=../../liblegacy.a $RIPEMD_GOAL=../../liblegacy.a +# This source is common for all digests in all our providers. +SOURCE[$COMMON_GOAL]=digestcommon.c + 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 diff --git a/providers/common/digests/digest_common.c b/providers/implementations/digests/digestcommon.c index 9d30b2be2c..9d30b2be2c 100644 --- a/providers/common/digests/digest_common.c +++ b/providers/implementations/digests/digestcommon.c diff --git a/providers/common/include/prov/ciphercommon.h b/providers/implementations/include/prov/ciphercommon.h index 1072b577fe..1072b577fe 100644 --- a/providers/common/include/prov/ciphercommon.h +++ b/providers/implementations/include/prov/ciphercommon.h diff --git a/providers/common/include/prov/cipher_aead.h b/providers/implementations/include/prov/ciphercommon_aead.h index db938d7fbe..db938d7fbe 100644 --- a/providers/common/include/prov/cipher_aead.h +++ b/providers/implementations/include/prov/ciphercommon_aead.h diff --git a/providers/common/include/prov/cipher_ccm.h b/providers/implementations/include/prov/ciphercommon_ccm.h index 2214b5fc64..0c2af15d54 100644 --- a/providers/common/include/prov/cipher_ccm.h +++ b/providers/implementations/include/prov/ciphercommon_ccm.h @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "cipher_aead.h" +#include "ciphercommon_aead.h" typedef struct prov_ccm_hw_st PROV_CCM_HW; diff --git a/providers/common/include/prov/cipher_gcm.h b/providers/implementations/include/prov/ciphercommon_gcm.h index 711b40cdd4..1932e14c4c 100644 --- a/providers/common/include/prov/cipher_gcm.h +++ b/providers/implementations/include/prov/ciphercommon_gcm.h @@ -9,7 +9,7 @@ */ #include <openssl/aes.h> -#include "cipher_aead.h" +#include "ciphercommon_aead.h" typedef struct prov_gcm_hw_st PROV_GCM_HW; diff --git a/providers/common/include/prov/digestcommon.h b/providers/implementations/include/prov/digestcommon.h index e5b76ff49f..e5b76ff49f 100644 --- a/providers/common/include/prov/digestcommon.h +++ b/providers/implementations/include/prov/digestcommon.h |