summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-04-09 12:47:46 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-04-09 12:47:46 +1000
commitf5056577ba08b3694aab2722eae1c97bf00acc80 (patch)
tree00492b31c1e6b69164d5a3be50557bac18cdcd2e /crypto
parentcc45a884bd499e8b84de0c0133746591c3712f4c (diff)
Move legacy ciphers into the legacy provider
DES, idea, seed, rc2, rc4, rc5, cast and blowfish have been moved out of the default provider. Code shared between desx and tdes has been moved into a seperate file (cipher_tdes_common.c). 3 test recipes failed due to using app/openssl calls that used legacy ciphers. These calls have been updated to supply both the default and legacy providers. Fixed openssl app '-provider' memory leak Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11419)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/bf/build.info10
-rw-r--r--crypto/cast/build.info10
-rw-r--r--crypto/des/build.info17
-rw-r--r--crypto/idea/build.info11
-rw-r--r--crypto/rc2/build.info12
-rw-r--r--crypto/rc4/build.info6
-rw-r--r--crypto/rc5/build.info11
-rw-r--r--crypto/seed/build.info10
8 files changed, 71 insertions, 16 deletions
diff --git a/crypto/bf/build.info b/crypto/bf/build.info
index 59d5bbcfe3..9fa8187818 100644
--- a/crypto/bf/build.info
+++ b/crypto/bf/build.info
@@ -11,7 +11,15 @@ IF[{- !$disabled{asm} -}]
ENDIF
ENDIF
-SOURCE[../../libcrypto]=bf_skey.c bf_ecb.c bf_cfb64.c bf_ofb64.c $BFASM
+$ALL=bf_skey.c bf_ecb.c bf_cfb64.c bf_ofb64.c $BFASM
+
+SOURCE[../../libcrypto]=$ALL
+
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# blowfish functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$ALL
+ENDIF
GENERATE[bf-586.s]=asm/bf-586.pl
DEPEND[bf-586.s]=../perlasm/x86asm.pl ../perlasm/cbc.pl
diff --git a/crypto/cast/build.info b/crypto/cast/build.info
index e21e6d55ee..8763f22405 100644
--- a/crypto/cast/build.info
+++ b/crypto/cast/build.info
@@ -12,7 +12,15 @@ IF[{- !$disabled{asm} && !$disabled{pic} -}]
ENDIF
ENDIF
-SOURCE[../../libcrypto]=c_skey.c c_ecb.c $CASTASM c_cfb64.c c_ofb64.c
+$ALL=c_skey.c c_ecb.c $CASTASM c_cfb64.c c_ofb64.c
+
+SOURCE[../../libcrypto]=$ALL
+
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# cast functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$ALL
+ENDIF
GENERATE[cast-586.s]=asm/cast-586.pl
DEPEND[cast-586.s]=../perlasm/x86asm.pl ../perlasm/cbc.pl
diff --git a/crypto/des/build.info b/crypto/des/build.info
index 1fbbcdf2f9..0e5fd171e2 100644
--- a/crypto/des/build.info
+++ b/crypto/des/build.info
@@ -15,20 +15,23 @@ ENDIF
LIBS=../../libcrypto
$COMMON=set_key.c ecb3_enc.c $DESASM
-SOURCE[../../libcrypto]=$COMMON\
- ecb_enc.c cbc_enc.c \
- cfb64enc.c cfb64ede.c cfb_enc.c \
- ofb64ede.c ofb64enc.c ofb_enc.c \
- str2key.c pcbc_enc.c qud_cksm.c rand_key.c \
- fcrypt.c xcbc_enc.c cbc_cksm.c
+$ALL=$COMMON\
+ ecb_enc.c cbc_enc.c \
+ cfb64enc.c cfb64ede.c cfb_enc.c \
+ ofb64ede.c ofb64enc.c ofb_enc.c \
+ str2key.c pcbc_enc.c qud_cksm.c rand_key.c \
+ fcrypt.c xcbc_enc.c cbc_cksm.c
+
+SOURCE[../../libcrypto]=$ALL
SOURCE[../../providers/libfips.a]=$COMMON
DEFINE[../../libcrypto]=$DESDEF
DEFINE[../../providers/libfips.a]=$DESDEF
+DEFINE[../../providers/liblegacy.a]=$DESDEF
# When all deprecated symbols are removed, libcrypto doesn't export the
# DES functions, so we must include them directly in liblegacy.a
IF[{- $disabled{'deprecated-3.0'} && !$disabled{"mdc2"} -}]
- SOURCE[../../providers/liblegacy.a]=set_key.c $DESASM
+ SOURCE[../../providers/liblegacy.a]=$ALL
DEFINE[../../providers/liblegacy.a]=$DESDEF
ENDIF
diff --git a/crypto/idea/build.info b/crypto/idea/build.info
index 2326123797..5441351b9c 100644
--- a/crypto/idea/build.info
+++ b/crypto/idea/build.info
@@ -1,3 +1,10 @@
LIBS=../../libcrypto
-SOURCE[../../libcrypto]=\
- i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c
+$ALL=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c
+
+SOURCE[../../libcrypto]=$ALL
+
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# idea functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$ALL
+ENDIF
diff --git a/crypto/rc2/build.info b/crypto/rc2/build.info
index 47a3fd0d4e..b6d60d6ee3 100644
--- a/crypto/rc2/build.info
+++ b/crypto/rc2/build.info
@@ -1,3 +1,11 @@
LIBS=../../libcrypto
-SOURCE[../../libcrypto]=\
- rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c
+
+$ALL=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c
+
+SOURCE[../../libcrypto]=$ALL
+
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# rc2 functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$ALL
+ENDIF
diff --git a/crypto/rc4/build.info b/crypto/rc4/build.info
index abc0c52d0c..c7f17ca5f5 100644
--- a/crypto/rc4/build.info
+++ b/crypto/rc4/build.info
@@ -19,6 +19,12 @@ ENDIF
SOURCE[../../libcrypto]=$RC4ASM
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# rc4 functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$RC4ASM
+ENDIF
+
GENERATE[rc4-586.s]=asm/rc4-586.pl
DEPEND[rc4-586.s]=../perlasm/x86asm.pl
diff --git a/crypto/rc5/build.info b/crypto/rc5/build.info
index c684d1ee2e..3e2def8a65 100644
--- a/crypto/rc5/build.info
+++ b/crypto/rc5/build.info
@@ -12,8 +12,15 @@ IF[{- !$disabled{asm} -}]
ENDIF
ENDIF
-SOURCE[../../libcrypto]=\
- rc5_skey.c rc5_ecb.c $RC5ASM rc5cfb64.c rc5ofb64.c
+$ALL=rc5_skey.c rc5_ecb.c $RC5ASM rc5cfb64.c rc5ofb64.c
+
+SOURCE[../../libcrypto]=$ALL
+
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# rc5 functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$ALL
+ENDIF
GENERATE[rc5-586.s]=asm/rc5-586.pl
DEPEND[rc5-586.s]=../perlasm/x86asm.pl ../perlasm/cbc.pl
diff --git a/crypto/seed/build.info b/crypto/seed/build.info
index abdcbcaa94..5336f0399c 100644
--- a/crypto/seed/build.info
+++ b/crypto/seed/build.info
@@ -1,2 +1,10 @@
LIBS=../../libcrypto
-SOURCE[../../libcrypto]=seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c
+$ALL=seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c
+
+SOURCE[../../libcrypto]=$ALL
+
+# When all deprecated symbols are removed, libcrypto doesn't export the
+# seed functions, so we must include them directly in liblegacy.a
+IF[{- $disabled{'deprecated-3.0'} -}]
+ SOURCE[../../providers/liblegacy.a]=$ALL
+ENDIF