Skip to content

Commit

Permalink
libcrypto: add missing symbols to the legacy provider
Browse files Browse the repository at this point in the history
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:	freebsd/freebsd-src#787
  • Loading branch information
khorben authored and bsdjhb committed Sep 2, 2023
2 parents caa41cb + 87e0801 commit 24929cc
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
3 changes: 2 additions & 1 deletion secure/lib/libcrypto/modules/Makefile.inc
Original file line number Diff line number Diff line change
Expand Up @@ -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
34 changes: 33 additions & 1 deletion secure/lib/libcrypto/modules/legacy/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 24929cc

Please sign in to comment.