[openssl] master update

Richard Levitte levitte at openssl.org
Wed Dec 11 11:56:04 UTC 2019


The branch master has been updated
       via  68a51d59a29796803af3b6e7f0142feca2622c9e (commit)
      from  436c21a0fd317cb929fb00eefb1ac84e90676097 (commit)


- Log -----------------------------------------------------------------
commit 68a51d59a29796803af3b6e7f0142feca2622c9e
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Dec 3 19:41:05 2019 +0100

    Move providers/common/{ciphers,digests}/* to providers/implementations
    
    The idea to have all these things in providers/common was viable as
    long as the implementations was spread around their main providers.
    This is, however, no longer the case, so we move the common blocks
    closer to the source that use them.
    
    Reviewed-by: Paul Dale <paul.dale at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/10564)

-----------------------------------------------------------------------

Summary of changes:
 providers/build.info                                           | 10 +++++-----
 providers/common/build.info                                    |  2 --
 providers/common/ciphers/build.info                            |  5 -----
 providers/common/digests/build.info                            |  2 --
 providers/implementations/ciphers/build.info                   |  8 ++++++++
 providers/implementations/ciphers/cipher_aes_ccm.c             |  2 +-
 providers/implementations/ciphers/cipher_aes_ccm_hw.c          |  2 +-
 providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc  |  2 +-
 providers/implementations/ciphers/cipher_aes_ccm_hw_s390x.inc  |  2 +-
 providers/implementations/ciphers/cipher_aes_ccm_hw_t4.inc     |  2 +-
 providers/implementations/ciphers/cipher_aes_gcm.c             |  2 +-
 providers/implementations/ciphers/cipher_aes_gcm_hw.c          |  2 +-
 providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc  |  2 +-
 providers/implementations/ciphers/cipher_aes_gcm_hw_s390x.inc  |  2 +-
 providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc     |  2 +-
 providers/implementations/ciphers/cipher_aes_ocb.c             |  2 +-
 providers/implementations/ciphers/cipher_aes_siv.c             |  2 +-
 providers/implementations/ciphers/cipher_aria_ccm.h            |  2 +-
 providers/implementations/ciphers/cipher_aria_gcm.h            |  2 +-
 .../cipher_common.c => implementations/ciphers/ciphercommon.c} |  2 +-
 .../block.c => implementations/ciphers/ciphercommon_block.c}   |  2 +-
 .../ciphers/ciphercommon_ccm.c}                                |  2 +-
 .../ciphers/ciphercommon_ccm_hw.c}                             |  2 +-
 .../ciphers/ciphercommon_gcm.c}                                |  2 +-
 .../ciphers/ciphercommon_gcm_hw.c}                             |  2 +-
 .../ciphers/ciphercommon_hw.c}                                 |  0
 .../ciphers/ciphercommon_local.h}                              |  0
 providers/implementations/digests/build.info                   |  7 +++++--
 .../digest_common.c => implementations/digests/digestcommon.c} |  0
 .../{common => implementations}/include/prov/ciphercommon.h    |  0
 .../include/prov/ciphercommon_aead.h}                          |  0
 .../include/prov/ciphercommon_ccm.h}                           |  2 +-
 .../include/prov/ciphercommon_gcm.h}                           |  2 +-
 .../{common => implementations}/include/prov/digestcommon.h    |  0
 34 files changed, 40 insertions(+), 38 deletions(-)
 delete mode 100644 providers/common/ciphers/build.info
 delete mode 100644 providers/common/digests/build.info
 rename providers/{common/ciphers/cipher_common.c => implementations/ciphers/ciphercommon.c} (99%)
 rename providers/{common/ciphers/block.c => implementations/ciphers/ciphercommon_block.c} (99%)
 rename providers/{common/ciphers/cipher_ccm.c => implementations/ciphers/ciphercommon_ccm.c} (99%)
 rename providers/{common/ciphers/cipher_ccm_hw.c => implementations/ciphers/ciphercommon_ccm_hw.c} (98%)
 rename providers/{common/ciphers/cipher_gcm.c => implementations/ciphers/ciphercommon_gcm.c} (99%)
 rename providers/{common/ciphers/cipher_gcm_hw.c => implementations/ciphers/ciphercommon_gcm_hw.c} (99%)
 rename providers/{common/ciphers/cipher_common_hw.c => implementations/ciphers/ciphercommon_hw.c} (100%)
 rename providers/{common/ciphers/cipher_local.h => implementations/ciphers/ciphercommon_local.h} (100%)
 rename providers/{common/digests/digest_common.c => implementations/digests/digestcommon.c} (100%)
 rename providers/{common => implementations}/include/prov/ciphercommon.h (100%)
 rename providers/{common/include/prov/cipher_aead.h => implementations/include/prov/ciphercommon_aead.h} (100%)
 rename providers/{common/include/prov/cipher_ccm.h => implementations/include/prov/ciphercommon_ccm.h} (99%)
 rename providers/{common/include/prov/cipher_gcm.h => implementations/include/prov/ciphercommon_gcm.h} (99%)
 rename providers/{common => implementations}/include/prov/digestcommon.h (100%)

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
similarity index 99%
rename from providers/common/ciphers/cipher_common.c
rename to 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
similarity index 99%
rename from providers/common/ciphers/block.c
rename to 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
similarity index 99%
rename from providers/common/ciphers/cipher_ccm.c
rename to 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
similarity index 98%
rename from providers/common/ciphers/cipher_ccm_hw.c
rename to 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
similarity index 99%
rename from providers/common/ciphers/cipher_gcm.c
rename to 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
similarity index 99%
rename from providers/common/ciphers/cipher_gcm_hw.c
rename to 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
similarity index 100%
rename from providers/common/ciphers/cipher_common_hw.c
rename to providers/implementations/ciphers/ciphercommon_hw.c
diff --git a/providers/common/ciphers/cipher_local.h b/providers/implementations/ciphers/ciphercommon_local.h
similarity index 100%
rename from providers/common/ciphers/cipher_local.h
rename to 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
similarity index 100%
rename from providers/common/digests/digest_common.c
rename to providers/implementations/digests/digestcommon.c
diff --git a/providers/common/include/prov/ciphercommon.h b/providers/implementations/include/prov/ciphercommon.h
similarity index 100%
rename from providers/common/include/prov/ciphercommon.h
rename to providers/implementations/include/prov/ciphercommon.h
diff --git a/providers/common/include/prov/cipher_aead.h b/providers/implementations/include/prov/ciphercommon_aead.h
similarity index 100%
rename from providers/common/include/prov/cipher_aead.h
rename to 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
similarity index 99%
rename from providers/common/include/prov/cipher_ccm.h
rename to 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
similarity index 99%
rename from providers/common/include/prov/cipher_gcm.h
rename to 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
similarity index 100%
rename from providers/common/include/prov/digestcommon.h
rename to providers/implementations/include/prov/digestcommon.h


More information about the openssl-commits mailing list