The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=5c361eb2c0852b7a5fc59044c08f24db3cb9df52
commit 5c361eb2c0852b7a5fc59044c08f24db3cb9df52 Author: Enji Cooper <[email protected]> AuthorDate: 2025-10-11 20:45:20 +0000 Commit: Enji Cooper <[email protected]> CommitDate: 2026-02-22 04:08:44 +0000 openssl: add a simple smoke test for the legacy provider This change adds a simple smoke test for the legacy provider to ensure that the provider doesn't break in the future when performing updates. This is not a functional or system test; the OpenSSL test suite does a much better job at doing this than we can. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D53045 (cherry picked from commit 3b6442370a17c57c4c290b9a8e1e8328da820705) --- etc/mtree/BSD.tests.dist | 2 ++ secure/lib/libcrypto/Makefile | 3 +++ secure/lib/libcrypto/tests/Makefile | 5 ++++ secure/lib/libcrypto/tests/libcrypto_test.sh | 40 ++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index eed5db1c806f..f5d683630c92 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -490,6 +490,8 @@ .. secure lib + libcrypto + .. .. libexec .. diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index dc701d90451e..112080031d90 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -615,6 +615,9 @@ buildasm cleanasm: ${.TARGET:S/build/all/:S/asm$//} .endfor +HAS_TESTS= yes +SUBDIR.${MK_TESTS}= tests + .include <bsd.lib.mk> PICFLAG+= -DOPENSSL_PIC diff --git a/secure/lib/libcrypto/tests/Makefile b/secure/lib/libcrypto/tests/Makefile new file mode 100644 index 000000000000..d309a1b1100c --- /dev/null +++ b/secure/lib/libcrypto/tests/Makefile @@ -0,0 +1,5 @@ +PACKAGE= tests + +ATF_TESTS_SH+= libcrypto_test + +.include <bsd.test.mk> diff --git a/secure/lib/libcrypto/tests/libcrypto_test.sh b/secure/lib/libcrypto/tests/libcrypto_test.sh new file mode 100755 index 000000000000..83ef1686089d --- /dev/null +++ b/secure/lib/libcrypto/tests/libcrypto_test.sh @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 Enji Cooper + +atf_test_case legacy_provider +legacy_provider_head() { + atf_set "descr" "daemon should drop privileges" +} +legacy_provider_body() { + local passphrase="test" + local plaintext="test" + + export OPENSSL_CONF="$PWD/openssl.conf" + cat > "$OPENSSL_CONF" <<EOF +HOME = . + +openssl_conf = openssl_init + +[openssl_init] +providers = provider_sect + +# List of providers to load +[provider_sect] +default = default_sect +legacy = legacy_sect + +[default_sect] +activate = 1 + +[legacy_sect] +activate = 1 +EOF + + echo "$plaintext" | atf_check -s exit:0 -e empty -o not-empty \ + openssl rc4 -e -k "$passphrase" -a -pbkdf2 +} + +atf_init_test_cases() { + atf_add_test_case legacy_provider +}
