aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Pronchery <pierre@freebsdfoundation.org>2023-06-29 21:32:59 +0000
committerMark Johnston <markj@FreeBSD.org>2023-07-05 20:00:53 +0000
commit87e08018b175e564b6a19ee41bc65af66f55e078 (patch)
treee24307dbe79544c1395641e8ab5a76b022a2f076
parent9c3478cb226385c468c0d029337f4e78e69931c8 (diff)
downloadsrc-87e08018b175e564b6a19ee41bc65af66f55e078.tar.gz
src-87e08018b175e564b6a19ee41bc65af66f55e078.zip
libcrypto: add missing symbols to the legacy provider
OpenSSL 3 supports a modular architecture, allowing different providers to bring specific implementations of cryptographical algorithms. One such provider, "legacy", ships with OpenSSL 3 directly, and groups obsoleted algorithms that can still optionally be used anyway. The import of OpenSSL 3.0.9 was building this provider incorrectly, missing symbols required for proper operation. Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/787
-rw-r--r--secure/lib/libcrypto/modules/Makefile.inc3
-rw-r--r--secure/lib/libcrypto/modules/legacy/Makefile34
2 files changed, 35 insertions, 2 deletions
diff --git a/secure/lib/libcrypto/modules/Makefile.inc b/secure/lib/libcrypto/modules/Makefile.inc
index e2f8e9437953..9047c938ef1d 100644
--- a/secure/lib/libcrypto/modules/Makefile.inc
+++ b/secure/lib/libcrypto/modules/Makefile.inc
@@ -11,6 +11,7 @@ CFLAGS+= -I${LCRYPTO_SRC}/providers/implementations/include
.include <bsd.endian.mk>
-.PATH: ${LCRYPTO_SRC}/providers
+.PATH: ${LCRYPTO_SRC}/providers \
+ ${LCRYPTO_SRC}/providers/common
WARNS?= 0
diff --git a/secure/lib/libcrypto/modules/legacy/Makefile b/secure/lib/libcrypto/modules/legacy/Makefile
index 3ed4bed6cd52..3eef2549d44f 100644
--- a/secure/lib/libcrypto/modules/legacy/Makefile
+++ b/secure/lib/libcrypto/modules/legacy/Makefile
@@ -2,6 +2,38 @@
SHLIB_NAME?= legacy.so
-SRCS= legacyprov.c
+SRCS= legacyprov.c prov_running.c
+
+# common
+SRCS+= provider_err.c provider_ctx.c
+SRCS+= provider_util.c
+
+# ciphers
+SRCS+= ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \
+ ciphercommon_gcm.c ciphercommon_gcm_hw.c \
+ ciphercommon_ccm.c ciphercommon_ccm_hw.c
+SRCS+= cipher_desx.c cipher_desx_hw.c cipher_des.c cipher_des_hw.c
+SRCS+= cipher_tdes_common.c
+SRCS+= cipher_blowfish.c cipher_blowfish_hw.c
+SRCS+= cipher_cast5.c cipher_cast5_hw.c
+SRCS+= cipher_rc2.c cipher_rc2_hw.c
+SRCS+= cipher_rc4.c cipher_rc4_hw.c
+SRCS+= cipher_rc4_hmac_md5.c cipher_rc4_hmac_md5_hw.c
+SRCS+= cipher_seed.c cipher_seed_hw.c
+
+# digests
+SRCS+= digestcommon.c
+SRCS+= md4_prov.c wp_prov.c ripemd_prov.c
+
+# kdfs
+SRCS+= pbkdf1.c
+
+# ssl
+SRCS+= record/tls_pad.c
.include <bsd.lib.mk>
+
+.PATH: ${LCRYPTO_SRC}/providers/implementations/ciphers \
+ ${LCRYPTO_SRC}/providers/implementations/digests \
+ ${LCRYPTO_SRC}/providers/implementations/kdfs \
+ ${LCRYPTO_SRC}/ssl