diff options
83 files changed, 1339 insertions, 2392 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index d65d1c86deac..d899f994a40d 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1051,7 +1051,7 @@ DESTDIR_MTREE= ${DISTR_MTREECMD} ${DESTDIR_MTREEFLAGS} METALOG_SORT_CMD= env -i LC_COLLATE=C sort # kernel stage -KMAKEENV= ${WMAKEENV:NSYSROOT=*} +KMAKEENV= ${WMAKEENV} KMAKE= ${TIME_ENV} ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} # @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +dc5ba6b8b4f0: + The WITHOUT_GSSAPI src.conf(5) option has been removed. The GSSAPI + libraries are now always built unless WITHOUT_KERBEROS is set. + c43cad871720: jemalloc 5.3.0 has landed. See contrib/jemalloc/ChangeLog for the long list of changes. diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile new file mode 100644 index 000000000000..bd2bfe0ea033 --- /dev/null +++ b/crypto/openssl/BSDmakefile @@ -0,0 +1,99 @@ +# This BSD makefile helps provide a deterministic means of doing a "clean" +# vendor import of OpenSSL. +# +# Recommended use: +# +# % make clean +# % make all + +NO_OBJ= + +LCRYPTO_SRC= ${SRCTOP}/crypto/openssl +LCRYPTO_DOC= ${LCRYPTO_SRC}/doc + +CAT?= /bin/cat +MV?= /bin/mv +PERL?= perl + +BN_CONF_H= include/crypto/bn_conf.h +BN_CONF_H_ORIG= ${BN_CONF_H}.orig +CONFIGURATION_H= include/openssl/configuration.h +CONFIGURATION_H_ORIG= ${CONFIGURATION_H}.orig + +.PHONY: configure patch all +.ORDER: configure patch all + +configure: + @cd ${.CURDIR} && \ + ${PERL} ./Configure \ + disable-aria \ + disable-egd \ + disable-idea \ + disable-mdc2 \ + disable-sm2 \ + disable-sm3 \ + disable-sm4 \ + enable-ec_nistp_64_gcc_128 \ + enable-ktls \ + enable-sctp \ + --openssldir=etc \ + --prefix=/usr + @cd ${.CURDIR} && gmake configdata.pm + @cd ${LCRYPTO_SRC} && ${PERL} \ + ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \ + ${SRCTOP}/secure/lib/libcrypto/Makefile.version + +all: patch + # Passing `-j ${.MAKE.JOBS}` doesn't work here for some reason. + @cd ${.CURDIR} && gmake build_all_generated + + # Clean the pkgconfig files: + # 1. Fix --prefix (not sure why configure --prefix isn't honored properly). + # 2. Remove duplicate path in CFLAGS. + # 3. Remove duplicate path in includedir(s). + @find . -name \*.pc -print -exec sed -i '' -E \ + -e 's,^prefix=.+,prefix=/usr,' \ + -e 's,[[:space:]]+(\-I)?\$\{prefix\}/\./include[[:space:]]*,,g' \ + {} + + + @cd ${SRCTOP}/secure/lib/libcrypto && \ + ${MAKE} cleanasm && \ + ${MAKE} buildasm + + @rsync -a --delete \ + --exclude 'Makefile*' --exclude '*.1' \ + ${LCRYPTO_DOC}/man/ \ + ${SRCTOP}/secure/lib/libcrypto/man + + @rsync -a --delete \ + --exclude 'Makefile*' --exclude '*.[357]' \ + ${LCRYPTO_DOC}/man/man1/ \ + ${SRCTOP}/secure/usr.bin/openssl/man + + +# This doesn't use standard patching since the generated files can vary +# depending on the host architecture. +patch: configure + # Spam arch-specific overrides to config files. + + @cd ${.CURDIR} && gmake ${BN_CONF_H} && \ + ${MV} ${BN_CONF_H} ${BN_CONF_H_ORIG} && \ + ${CAT} ${BN_CONF_H}.orig \ + ${LCRYPTO_SRC}/freebsd/${BN_CONF_H} >> \ + ${BN_CONF_H} + + @cd ${.CURDIR} && \ + ${MV} ${CONFIGURATION_H} ${CONFIGURATION_H_ORIG} && \ + ${CAT} ${CONFIGURATION_H_ORIG} \ + ${LCRYPTO_SRC}/freebsd/${CONFIGURATION_H} >> \ + ${CONFIGURATION_H} + + +clean: .PHONY + @cd ${.CURDIR} && rm -f ${BN_CONF_H_ORIG} ${CONFIGURATION_H_ORIG} + + @cd ${SRCTOP}/secure/lib/libcrypto && ${MAKE} cleanasm + + -@cd ${.CURDIR} && gmake ${.TARGET} + +.include <sys.mk> diff --git a/crypto/openssl/apps/CA.pl b/crypto/openssl/apps/CA.pl index 70ad231fff04..0861fd7a4da7 100755 --- a/crypto/openssl/apps/CA.pl +++ b/crypto/openssl/apps/CA.pl @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl +#!/usr/bin/env perl # Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/openssl/apps/progs.c b/crypto/openssl/apps/progs.c index 2646a1a35bf3..acc204a3e6e7 100644 --- a/crypto/openssl/apps/progs.c +++ b/crypto/openssl/apps/progs.c @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -89,6 +89,7 @@ FUNCTION functions[] = { {FT_general, "s_time", s_time_main, s_time_options, NULL, NULL}, #endif {FT_general, "sess_id", sess_id_main, sess_id_options, NULL, NULL}, + {FT_general, "skeyutl", skeyutl_main, skeyutl_options, NULL, NULL}, {FT_general, "smime", smime_main, smime_options, NULL, NULL}, {FT_general, "speed", speed_main, speed_options, NULL, NULL}, {FT_general, "spkac", spkac_main, spkac_options, NULL, NULL}, @@ -225,9 +226,15 @@ FUNCTION functions[] = { {FT_cipher, "camellia-256-ecb", enc_main, enc_options, NULL}, #endif {FT_cipher, "base64", enc_main, enc_options, NULL}, -#ifdef ZLIB +#ifndef OPENSSL_NO_ZLIB {FT_cipher, "zlib", enc_main, enc_options, NULL}, #endif +#ifndef OPENSSL_NO_BROTLI + {FT_cipher, "brotli", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ZSTD + {FT_cipher, "zstd", enc_main, enc_options, NULL}, +#endif #ifndef OPENSSL_NO_DES {FT_cipher, "des", enc_main, enc_options, NULL}, #endif diff --git a/crypto/openssl/apps/progs.h b/crypto/openssl/apps/progs.h index 83c829a721bf..1b62ec37dec1 100644 --- a/crypto/openssl/apps/progs.h +++ b/crypto/openssl/apps/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -56,6 +56,7 @@ extern int s_client_main(int argc, char *argv[]); extern int s_server_main(int argc, char *argv[]); extern int s_time_main(int argc, char *argv[]); extern int sess_id_main(int argc, char *argv[]); +extern int skeyutl_main(int argc, char *argv[]); extern int smime_main(int argc, char *argv[]); extern int speed_main(int argc, char *argv[]); extern int spkac_main(int argc, char *argv[]); @@ -110,6 +111,7 @@ extern const OPTIONS s_client_options[]; extern const OPTIONS s_server_options[]; extern const OPTIONS s_time_options[]; extern const OPTIONS sess_id_options[]; +extern const OPTIONS skeyutl_options[]; extern const OPTIONS smime_options[]; extern const OPTIONS speed_options[]; extern const OPTIONS spkac_options[]; diff --git a/crypto/openssl/configdata.pm b/crypto/openssl/configdata.pm index b2ea8dcd87ca..ec70eaba9f07 100755 --- a/crypto/openssl/configdata.pm +++ b/crypto/openssl/configdata.pm @@ -1,4 +1,4 @@ -#! /usr/local/bin/perl +#! /usr/bin/env perl # -*- mode: perl -*- package configdata; @@ -21,24 +21,16 @@ our %config = ( "ASFLAGS" => [], "CC" => "cc", "CFLAGS" => [ - "-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " + "-Wall -O3" ], - "CPP" => "cpp", "CPPDEFINES" => [], - "CPPFLAGS" => [ - "" - ], + "CPPFLAGS" => [], "CPPINCLUDES" => [], - "CXX" => "c++", - "CXXFLAGS" => [ - "-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " - ], + "CXXFLAGS" => [], "FIPSKEY" => "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813", - "FIPS_VENDOR" => "OpenSSL FIPS Provider", - "HASHBANGPERL" => "/usr/local/bin/perl", - "LDFLAGS" => [ - " " - ], + "FIPS_VENDOR" => "OpenSSL non-compliant FIPS Provider", + "HASHBANGPERL" => "/usr/bin/env perl", + "LDFLAGS" => [], "LDLIBS" => [], "OBJCOPY" => "objcopy", "PERL" => "/usr/local/bin/perl", @@ -139,7 +131,6 @@ our %config = ( "apps/lib/build.info", "providers/common/build.info", "providers/implementations/build.info", - "providers/fips/build.info", "doc/man1/build.info", "ssl/record/methods/build.info", "providers/common/der/build.info", @@ -178,6 +169,7 @@ our %config = ( "ex_libs" => [], "full_version" => "3.5.1", "includes" => [], + "ktls" => "", "lflags" => [], "lib_defines" => [ "OPENSSL_PIC" @@ -192,6 +184,7 @@ our %config = ( "openssl_feature_defines" => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_THREADS", + "OPENSSL_NO_ACVP_TESTS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ARIA", "OPENSSL_NO_ASAN", @@ -203,13 +196,14 @@ our %config = ( "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FIPS_JITTER", + "OPENSSL_NO_FIPS_POST", + "OPENSSL_NO_FIPS_SECURITYCHECKS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_H3DEMO", "OPENSSL_NO_HQINTEROP", "OPENSSL_NO_IDEA", "OPENSSL_NO_JITTER", - "OPENSSL_NO_KTLS", "OPENSSL_NO_MD2", "OPENSSL_NO_MDC2", "OPENSSL_NO_MSAN", @@ -222,7 +216,6 @@ our %config = ( "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_SSLKEYLOG", "OPENSSL_NO_TFO", - "OPENSSL_NO_TLS_DEPRECATED_EC", "OPENSSL_NO_TRACE", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", @@ -235,30 +228,26 @@ our %config = ( "OPENSSL_NO_ZSTD_DYNAMIC", "OPENSSL_NO_STATIC_ENGINE" ], - "openssl_other_defines" => [ - "OPENSSL_NO_KTLS" - ], "openssl_sys_defines" => [], - "openssldir" => "/usr/local/openssl", - "options" => "--openssldir=/usr/local/openssl --prefix=/usr/local enable-ec_nistp_64_gcc_128 enable-fips enable-sctp no-afalgeng no-aria no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-idea no-jitter no-ktls no-legacy no-md2 no-mdc2 no-msan no-pie no-rc5 no-sm2 no-sm3 no-sm4 no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-tls-deprecated-ec no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", + "openssldir" => "etc", + "options" => "enable-ec_nistp_64_gcc_128 enable-ktls enable-sctp --openssldir=etc --prefix=/usr no-acvp-tests no-afalgeng no-aria no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-egd no-external-tests no-fips no-fips-jitter no-fips-post no-fips-securitychecks no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-idea no-jitter no-md2 no-mdc2 no-msan no-pie no-rc5 no-sm2 no-sm3 no-sm4 no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", "patch" => "1", "perl_archname" => "amd64-freebsd-thread-multi", "perl_cmd" => "/usr/local/bin/perl", "perl_version" => "5.40.2", "perlargv" => [ - "--openssldir=/usr/local/openssl", - "--prefix=/usr/local", - "no-aria", + "disable-aria", + "disable-egd", + "disable-idea", + "disable-mdc2", + "disable-sm2", + "disable-sm3", + "disable-sm4", "enable-ec_nistp_64_gcc_128", - "enable-fips", - "no-idea", - "no-legacy", - "no-mdc2", + "enable-ktls", "enable-sctp", - "no-sm2", - "no-sm3", - "no-sm4", - "no-tls-deprecated-ec" + "--openssldir=etc", + "--prefix=/usr" ], "perlenv" => { "AR" => undef, @@ -266,24 +255,24 @@ our %config = ( "AS" => undef, "ASFLAGS" => undef, "BUILDFILE" => undef, - "CC" => "cc", - "CFLAGS" => "-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ", - "CPP" => "cpp", + "CC" => undef, + "CFLAGS" => undef, + "CPP" => undef, "CPPDEFINES" => undef, - "CPPFLAGS" => "", + "CPPFLAGS" => undef, "CPPINCLUDES" => undef, "CROSS_COMPILE" => undef, - "CXX" => "c++", - "CXXFLAGS" => "-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ", + "CXX" => undef, + "CXXFLAGS" => undef, "HASHBANGPERL" => undef, "LD" => undef, - "LDFLAGS" => " ", + "LDFLAGS" => undef, "LDLIBS" => undef, "MT" => undef, "MTFLAGS" => undef, "OBJCOPY" => undef, "OPENSSL_LOCAL_CONFIG_DIR" => undef, - "PERL" => "/usr/local/bin/perl", + "PERL" => undef, "RANLIB" => undef, "RC" => undef, "RCFLAGS" => undef, @@ -297,12 +286,12 @@ our %config = ( "__CNF_LDFLAGS" => undef, "__CNF_LDLIBS" => undef }, - "prefix" => "/usr/local", + "prefix" => "/usr", "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", "release_date" => "1 Jul 2025", - "shlib_version" => "17", + "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86_64", "version" => "3.5.1" @@ -521,6 +510,7 @@ our @disablables_int = ( "crmf" ); our %disabled = ( + "acvp-tests" => "cascade", "afalgeng" => "not-linux", "aria" => "option", "asan" => "default", @@ -530,17 +520,18 @@ our %disabled = ( "crypto-mdebug" => "default", "crypto-mdebug-backtrace" => "default", "demos" => "default", - "egd" => "default", + "egd" => "option", "external-tests" => "default", + "fips" => "default", "fips-jitter" => "default", + "fips-post" => "cascade", + "fips-securitychecks" => "cascade", "fuzz-afl" => "default", "fuzz-libfuzzer" => "default", "h3demo" => "default", "hqinterop" => "default", "idea" => "option", "jitter" => "default", - "ktls" => "default", - "legacy" => "option", "md2" => "default", "mdc2" => "option", "msan" => "default", @@ -553,7 +544,6 @@ our %disabled = ( "ssl3-method" => "default", "sslkeylog" => "default", "tfo" => "default", - "tls-deprecated-ec" => "option", "trace" => "default", "ubsan" => "default", "unit-test" => "default", @@ -880,7 +870,7 @@ our %unified_info = ( "providers/libdefault.a" => { "noinst" => "1" }, - "providers/libfips.a" => { + "providers/liblegacy.a" => { "noinst" => "1" }, "providers/libtemplate.a" => { @@ -912,9 +902,6 @@ our %unified_info = ( "engines/padlock" => { "engine" => "1" }, - "providers/fips" => { - "fips" => "1" - }, "test/p_minimal" => { "noinst" => "1" }, @@ -1016,9 +1003,6 @@ our %unified_info = ( "test/aborttest" => { "noinst" => "1" }, - "test/acvp_test" => { - "noinst" => "1" - }, "test/aesgcmtest" => { "noinst" => "1" }, @@ -1142,6 +1126,9 @@ our %unified_info = ( "test/buildtest_c_conf_api" => { "noinst" => "1" }, + "test/buildtest_c_configuration" => { + "noinst" => "1" + }, "test/buildtest_c_conftypes" => { "noinst" => "1" }, @@ -1996,9 +1983,6 @@ our %unified_info = ( "libssl" => [ "AES_ASM" ], - "providers/fips" => [ - "FIPS_MODULE" - ], "providers/legacy" => [ "OPENSSL_CPUID_OBJ" ], @@ -2053,8 +2037,11 @@ our %unified_info = ( "VPAES_ASM", "X25519_ASM" ], - "test/evp_test" => [ - "NO_LEGACY_MODULE" + "test/endecode_test" => [ + "STATIC_LEGACY" + ], + "test/evp_extra_test" => [ + "STATIC_LEGACY" ], "test/provider_internal_test" => [ "PROVIDER_INIT_FUNCTION_NAME=p_test_init" @@ -2296,9 +2283,6 @@ our %unified_info = ( "apps/progs.h" => [ "apps/progs.c" ], - "build_modules_nodep" => [ - "providers/fipsmodule.cnf" - ], "crypto/aes/aes-586.S" => [ "crypto/perlasm/x86asm.pl" ], @@ -8214,10 +8198,6 @@ our %unified_info = ( "providers/common/include/prov/der_digests.h", "providers/common/include/prov/der_rsa.h" ], - "providers/common/der/libfips-lib-der_rsa_sig.o" => [ - "providers/common/include/prov/der_digests.h", - "providers/common/include/prov/der_rsa.h" - ], "providers/common/include/prov/der_digests.h" => [ "providers/common/der/DIGESTS.asn1", "providers/common/der/NIST.asn1", @@ -8252,21 +8232,12 @@ our %unified_info = ( "providers/common/der/oids_to_c.pm", "providers/common/der/wrap.asn1" ], - "providers/fips" => [ - "providers/libfips.a" - ], - "providers/fipsmodule.cnf" => [ - "providers/fips" - ], "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [ "providers/common/include/prov/der_rsa.h" ], "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [ "providers/common/include/prov/der_wrap.h" ], - "providers/implementations/kdfs/libfips-lib-x942kdf.o" => [ - "providers/common/include/prov/der_wrap.h" - ], "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [ "providers/common/include/prov/der_dsa.h" ], @@ -8285,27 +8256,13 @@ our %unified_info = ( "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" => [ "providers/common/include/prov/der_slh_dsa.h" ], - "providers/implementations/signature/libfips-lib-dsa_sig.o" => [ - "providers/common/include/prov/der_dsa.h" - ], - "providers/implementations/signature/libfips-lib-ecdsa_sig.o" => [ - "providers/common/include/prov/der_ec.h" - ], - "providers/implementations/signature/libfips-lib-eddsa_sig.o" => [ - "providers/common/include/prov/der_ecx.h" - ], - "providers/implementations/signature/libfips-lib-ml_dsa_sig.o" => [ - "providers/common/include/prov/der_ml_dsa.h" - ], - "providers/implementations/signature/libfips-lib-rsa_sig.o" => [ - "providers/common/include/prov/der_rsa.h" - ], - "providers/implementations/signature/libfips-lib-slh_dsa_sig.o" => [ - "providers/common/include/prov/der_slh_dsa.h" - ], "providers/implementations/signature/sm2_sig.o" => [ "providers/common/include/prov/der_sm2.h" ], + "providers/legacy" => [ + "libcrypto", + "providers/liblegacy.a" + ], "providers/libcommon.a" => [ "libcrypto" ], @@ -8318,10 +8275,6 @@ our %unified_info = ( "test/aborttest" => [ "libcrypto" ], - "test/acvp_test" => [ - "libcrypto.a", - "test/libtestutil.a" - ], "test/aesgcmtest" => [ "libcrypto", "test/libtestutil.a" @@ -8487,6 +8440,10 @@ our %unified_info = ( "libcrypto", "libssl" ], + "test/buildtest_c_configuration" => [ + "libcrypto", + "libssl" + ], "test/buildtest_c_conftypes" => [ "libcrypto", "libssl" @@ -8917,6 +8874,8 @@ our %unified_info = ( ], "test/endecode_test" => [ "libcrypto.a", + "providers/libcommon.a", + "providers/liblegacy.a", "test/libtestutil.a" ], "test/endecoder_legacy_test" => [ @@ -8937,6 +8896,8 @@ our %unified_info = ( ], "test/evp_extra_test" => [ "libcrypto.a", + "providers/libcommon.a", + "providers/liblegacy.a", "test/libtestutil.a" ], "test/evp_extra_test2" => [ @@ -9676,6 +9637,9 @@ our %unified_info = ( "crypto/packettest-bin-quic_vlint.o", "crypto/tls13secretstest-bin-packet.o", "crypto/tls13secretstest-bin-quic_vlint.o", + "crypto/legacy-dso-cpuid.o", + "crypto/legacy-dso-ctype.o", + "crypto/legacy-dso-x86_64cpuid.o", "crypto/libcrypto-lib-asn1_dsa.o", "crypto/libcrypto-lib-bsearch.o", "crypto/libcrypto-lib-comp_methods.o", @@ -9792,37 +9756,7 @@ our %unified_info = ( "crypto/libssl-shlib-getenv.o", "crypto/libssl-shlib-packet.o", "crypto/libssl-shlib-quic_vlint.o", - "crypto/libssl-shlib-time.o", - "crypto/libfips-lib-asn1_dsa.o", - "crypto/libfips-lib-bsearch.o", - "crypto/libfips-lib-context.o", - "crypto/libfips-lib-core_algorithm.o", - "crypto/libfips-lib-core_fetch.o", - "crypto/libfips-lib-core_namemap.o", - "crypto/libfips-lib-cpuid.o", - "crypto/libfips-lib-cryptlib.o", - "crypto/libfips-lib-ctype.o", - "crypto/libfips-lib-der_writer.o", - "crypto/libfips-lib-ex_data.o", - "crypto/libfips-lib-initthread.o", - "crypto/libfips-lib-o_str.o", - "crypto/libfips-lib-packet.o", - "crypto/libfips-lib-param_build.o", - "crypto/libfips-lib-param_build_set.o", - "crypto/libfips-lib-params.o", - "crypto/libfips-lib-params_dup.o", - "crypto/libfips-lib-params_from_text.o", - "crypto/libfips-lib-params_idx.o", - "crypto/libfips-lib-provider_core.o", - "crypto/libfips-lib-provider_predefined.o", - "crypto/libfips-lib-self_test_core.o", - "crypto/libfips-lib-sparse_array.o", - "crypto/libfips-lib-threads_lib.o", - "crypto/libfips-lib-threads_none.o", - "crypto/libfips-lib-threads_pthread.o", - "crypto/libfips-lib-threads_win.o", - "crypto/libfips-lib-time.o", - "crypto/libfips-lib-x86_64cpuid.o" + "crypto/libssl-shlib-time.o" ], "products" => { "bin" => [ @@ -9831,10 +9765,12 @@ our %unified_info = ( "test/packettest", "test/tls13secretstest" ], + "dso" => [ + "providers/legacy" + ], "lib" => [ "libcrypto", - "libssl", - "providers/libfips.a" + "libssl" ] } }, @@ -9867,22 +9803,11 @@ our %unified_info = ( "crypto/aes/libcrypto-shlib-aesni-x86_64.o", "crypto/aes/libcrypto-shlib-aesni-xts-avx512.o", "crypto/aes/libcrypto-shlib-bsaes-x86_64.o", - "crypto/aes/libcrypto-shlib-vpaes-x86_64.o", - "crypto/aes/libfips-lib-aes-x86_64.o", - "crypto/aes/libfips-lib-aes_ecb.o", - "crypto/aes/libfips-lib-aes_misc.o", - "crypto/aes/libfips-lib-aesni-mb-x86_64.o", - "crypto/aes/libfips-lib-aesni-sha1-x86_64.o", - "crypto/aes/libfips-lib-aesni-sha256-x86_64.o", - "crypto/aes/libfips-lib-aesni-x86_64.o", - "crypto/aes/libfips-lib-aesni-xts-avx512.o", - "crypto/aes/libfips-lib-bsaes-x86_64.o", - "crypto/aes/libfips-lib-vpaes-x86_64.o" + "crypto/aes/libcrypto-shlib-vpaes-x86_64.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10234,65 +10159,22 @@ our %unified_info = ( "crypto/bn/libcrypto-shlib-rsaz_exp_x2.o", "crypto/bn/libcrypto-shlib-x86_64-gf2m.o", "crypto/bn/libcrypto-shlib-x86_64-mont.o", - "crypto/bn/libcrypto-shlib-x86_64-mont5.o", - "crypto/bn/libfips-lib-bn_add.o", - "crypto/bn/libfips-lib-bn_blind.o", - "crypto/bn/libfips-lib-bn_const.o", - "crypto/bn/libfips-lib-bn_conv.o", - "crypto/bn/libfips-lib-bn_ctx.o", - "crypto/bn/libfips-lib-bn_dh.o", - "crypto/bn/libfips-lib-bn_div.o", - "crypto/bn/libfips-lib-bn_exp.o", - "crypto/bn/libfips-lib-bn_exp2.o", - "crypto/bn/libfips-lib-bn_gcd.o", - "crypto/bn/libfips-lib-bn_gf2m.o", - "crypto/bn/libfips-lib-bn_intern.o", - "crypto/bn/libfips-lib-bn_kron.o", - "crypto/bn/libfips-lib-bn_lib.o", - "crypto/bn/libfips-lib-bn_mod.o", - "crypto/bn/libfips-lib-bn_mont.o", - "crypto/bn/libfips-lib-bn_mpi.o", - "crypto/bn/libfips-lib-bn_mul.o", - "crypto/bn/libfips-lib-bn_nist.o", - "crypto/bn/libfips-lib-bn_prime.o", - "crypto/bn/libfips-lib-bn_rand.o", - "crypto/bn/libfips-lib-bn_recp.o", - "crypto/bn/libfips-lib-bn_rsa_fips186_4.o", - "crypto/bn/libfips-lib-bn_shift.o", - "crypto/bn/libfips-lib-bn_sqr.o", - "crypto/bn/libfips-lib-bn_sqrt.o", - "crypto/bn/libfips-lib-bn_word.o", - "crypto/bn/libfips-lib-rsaz-2k-avx512.o", - "crypto/bn/libfips-lib-rsaz-2k-avxifma.o", - "crypto/bn/libfips-lib-rsaz-3k-avx512.o", - "crypto/bn/libfips-lib-rsaz-3k-avxifma.o", - "crypto/bn/libfips-lib-rsaz-4k-avx512.o", - "crypto/bn/libfips-lib-rsaz-4k-avxifma.o", - "crypto/bn/libfips-lib-rsaz-avx2.o", - "crypto/bn/libfips-lib-rsaz-x86_64.o", - "crypto/bn/libfips-lib-rsaz_exp.o", - "crypto/bn/libfips-lib-rsaz_exp_x2.o", - "crypto/bn/libfips-lib-x86_64-gf2m.o", - "crypto/bn/libfips-lib-x86_64-mont.o", - "crypto/bn/libfips-lib-x86_64-mont5.o" + "crypto/bn/libcrypto-shlib-x86_64-mont5.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, "crypto/bn/asm" => { "deps" => [ "crypto/bn/asm/libcrypto-lib-x86_64-gcc.o", - "crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o", - "crypto/bn/asm/libfips-lib-x86_64-gcc.o" + "crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10301,13 +10183,11 @@ our %unified_info = ( "crypto/buffer/libcrypto-lib-buf_err.o", "crypto/buffer/libcrypto-lib-buffer.o", "crypto/buffer/libcrypto-shlib-buf_err.o", - "crypto/buffer/libcrypto-shlib-buffer.o", - "crypto/buffer/libfips-lib-buffer.o" + "crypto/buffer/libcrypto-shlib-buffer.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10365,13 +10245,11 @@ our %unified_info = ( "crypto/cmac" => { "deps" => [ "crypto/cmac/libcrypto-lib-cmac.o", - "crypto/cmac/libcrypto-shlib-cmac.o", - "crypto/cmac/libfips-lib-cmac.o" + "crypto/cmac/libcrypto-shlib-cmac.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10583,15 +10461,13 @@ our %unified_info = ( "crypto/des/libcrypto-shlib-set_key.o", "crypto/des/libcrypto-shlib-str2key.o", "crypto/des/libcrypto-shlib-xcbc_enc.o", - "crypto/des/libfips-lib-des_enc.o", - "crypto/des/libfips-lib-ecb3_enc.o", - "crypto/des/libfips-lib-fcrypt_b.o", - "crypto/des/libfips-lib-set_key.o" + "crypto/des/liblegacy-lib-des_enc.o", + "crypto/des/liblegacy-lib-fcrypt_b.o" ], "products" => { "lib" => [ "libcrypto", - "providers/libfips.a" + "providers/liblegacy.a" ] } }, @@ -10626,19 +10502,11 @@ our %unified_info = ( "crypto/dh/libcrypto-shlib-dh_meth.o", "crypto/dh/libcrypto-shlib-dh_pmeth.o", "crypto/dh/libcrypto-shlib-dh_prn.o", - "crypto/dh/libcrypto-shlib-dh_rfc5114.o", - "crypto/dh/libfips-lib-dh_backend.o", - "crypto/dh/libfips-lib-dh_check.o", - "crypto/dh/libfips-lib-dh_gen.o", - "crypto/dh/libfips-lib-dh_group_params.o", - "crypto/dh/libfips-lib-dh_kdf.o", - "crypto/dh/libfips-lib-dh_key.o", - "crypto/dh/libfips-lib-dh_lib.o" + "crypto/dh/libcrypto-shlib-dh_rfc5114.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10673,20 +10541,11 @@ our %unified_info = ( "crypto/dsa/libcrypto-shlib-dsa_pmeth.o", "crypto/dsa/libcrypto-shlib-dsa_prn.o", "crypto/dsa/libcrypto-shlib-dsa_sign.o", - "crypto/dsa/libcrypto-shlib-dsa_vrf.o", - "crypto/dsa/libfips-lib-dsa_backend.o", - "crypto/dsa/libfips-lib-dsa_check.o", - "crypto/dsa/libfips-lib-dsa_gen.o", - "crypto/dsa/libfips-lib-dsa_key.o", - "crypto/dsa/libfips-lib-dsa_lib.o", - "crypto/dsa/libfips-lib-dsa_ossl.o", - "crypto/dsa/libfips-lib-dsa_sign.o", - "crypto/dsa/libfips-lib-dsa_vrf.o" + "crypto/dsa/libcrypto-shlib-dsa_vrf.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10792,44 +10651,11 @@ our %unified_info = ( "crypto/ec/libcrypto-shlib-ecx_backend.o", "crypto/ec/libcrypto-shlib-ecx_key.o", "crypto/ec/libcrypto-shlib-ecx_meth.o", - "crypto/ec/libcrypto-shlib-x25519-x86_64.o", - "crypto/ec/libfips-lib-curve25519.o", - "crypto/ec/libfips-lib-ec2_oct.o", - "crypto/ec/libfips-lib-ec2_smpl.o", - "crypto/ec/libfips-lib-ec_asn1.o", - "crypto/ec/libfips-lib-ec_backend.o", - "crypto/ec/libfips-lib-ec_check.o", - "crypto/ec/libfips-lib-ec_curve.o", - "crypto/ec/libfips-lib-ec_cvt.o", - "crypto/ec/libfips-lib-ec_key.o", - "crypto/ec/libfips-lib-ec_kmeth.o", - "crypto/ec/libfips-lib-ec_lib.o", - "crypto/ec/libfips-lib-ec_mult.o", - "crypto/ec/libfips-lib-ec_oct.o", - "crypto/ec/libfips-lib-ecdh_kdf.o", - "crypto/ec/libfips-lib-ecdh_ossl.o", - "crypto/ec/libfips-lib-ecdsa_ossl.o", - "crypto/ec/libfips-lib-ecdsa_sign.o", - "crypto/ec/libfips-lib-ecdsa_vrf.o", - "crypto/ec/libfips-lib-ecp_mont.o", - "crypto/ec/libfips-lib-ecp_nist.o", - "crypto/ec/libfips-lib-ecp_nistp224.o", - "crypto/ec/libfips-lib-ecp_nistp256.o", - "crypto/ec/libfips-lib-ecp_nistp384.o", - "crypto/ec/libfips-lib-ecp_nistp521.o", - "crypto/ec/libfips-lib-ecp_nistputil.o", - "crypto/ec/libfips-lib-ecp_nistz256-x86_64.o", - "crypto/ec/libfips-lib-ecp_nistz256.o", - "crypto/ec/libfips-lib-ecp_oct.o", - "crypto/ec/libfips-lib-ecp_smpl.o", - "crypto/ec/libfips-lib-ecx_backend.o", - "crypto/ec/libfips-lib-ecx_key.o", - "crypto/ec/libfips-lib-x25519-x86_64.o" + "crypto/ec/libcrypto-shlib-x25519-x86_64.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -10844,43 +10670,33 @@ our %unified_info = ( "crypto/ec/curve448/libcrypto-shlib-curve448_tables.o", "crypto/ec/curve448/libcrypto-shlib-eddsa.o", "crypto/ec/curve448/libcrypto-shlib-f_generic.o", - "crypto/ec/curve448/libcrypto-shlib-scalar.o", - "crypto/ec/curve448/libfips-lib-curve448.o", - "crypto/ec/curve448/libfips-lib-curve448_tables.o", - "crypto/ec/curve448/libfips-lib-eddsa.o", - "crypto/ec/curve448/libfips-lib-f_generic.o", - "crypto/ec/curve448/libfips-lib-scalar.o" + "crypto/ec/curve448/libcrypto-shlib-scalar.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, "crypto/ec/curve448/arch_32" => { "deps" => [ "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o", - "crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl32.o", - "crypto/ec/curve448/arch_32/libfips-lib-f_impl32.o" + "crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl32.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, "crypto/ec/curve448/arch_64" => { "deps" => [ "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o", - "crypto/ec/curve448/arch_64/libcrypto-shlib-f_impl64.o", - "crypto/ec/curve448/arch_64/libfips-lib-f_impl64.o" + "crypto/ec/curve448/arch_64/libcrypto-shlib-f_impl64.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11163,36 +10979,11 @@ our %unified_info = ( "crypto/evp/libcrypto-shlib-pmeth_lib.o", "crypto/evp/libcrypto-shlib-s_lib.o", "crypto/evp/libcrypto-shlib-signature.o", - "crypto/evp/libcrypto-shlib-skeymgmt_meth.o", - "crypto/evp/libfips-lib-asymcipher.o", - "crypto/evp/libfips-lib-dh_support.o", - "crypto/evp/libfips-lib-digest.o", - "crypto/evp/libfips-lib-ec_support.o", - "crypto/evp/libfips-lib-evp_enc.o", - "crypto/evp/libfips-lib-evp_fetch.o", - "crypto/evp/libfips-lib-evp_lib.o", - "crypto/evp/libfips-lib-evp_rand.o", - "crypto/evp/libfips-lib-evp_utils.o", - "crypto/evp/libfips-lib-exchange.o", - "crypto/evp/libfips-lib-kdf_lib.o", - "crypto/evp/libfips-lib-kdf_meth.o", - "crypto/evp/libfips-lib-kem.o", - "crypto/evp/libfips-lib-keymgmt_lib.o", - "crypto/evp/libfips-lib-keymgmt_meth.o", - "crypto/evp/libfips-lib-mac_lib.o", - "crypto/evp/libfips-lib-mac_meth.o", - "crypto/evp/libfips-lib-p_lib.o", - "crypto/evp/libfips-lib-pmeth_check.o", - "crypto/evp/libfips-lib-pmeth_gn.o", - "crypto/evp/libfips-lib-pmeth_lib.o", - "crypto/evp/libfips-lib-s_lib.o", - "crypto/evp/libfips-lib-signature.o", - "crypto/evp/libfips-lib-skeymgmt_meth.o" + "crypto/evp/libcrypto-shlib-skeymgmt_meth.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11211,19 +11002,11 @@ our %unified_info = ( "crypto/ffc/libcrypto-shlib-ffc_key_validate.o", "crypto/ffc/libcrypto-shlib-ffc_params.o", "crypto/ffc/libcrypto-shlib-ffc_params_generate.o", - "crypto/ffc/libcrypto-shlib-ffc_params_validate.o", - "crypto/ffc/libfips-lib-ffc_backend.o", - "crypto/ffc/libfips-lib-ffc_dh.o", - "crypto/ffc/libfips-lib-ffc_key_generate.o", - "crypto/ffc/libfips-lib-ffc_key_validate.o", - "crypto/ffc/libfips-lib-ffc_params.o", - "crypto/ffc/libfips-lib-ffc_params_generate.o", - "crypto/ffc/libfips-lib-ffc_params_validate.o" + "crypto/ffc/libcrypto-shlib-ffc_params_validate.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11233,28 +11016,23 @@ our %unified_info = ( "crypto/hashtable/libcrypto-lib-hashtable.o", "crypto/hashtable/libcrypto-shlib-hashfunc.o", "crypto/hashtable/libcrypto-shlib-hashtable.o", - "crypto/hashtable/libssl-shlib-hashfunc.o", - "crypto/hashtable/libfips-lib-hashfunc.o", - "crypto/hashtable/libfips-lib-hashtable.o" + "crypto/hashtable/libssl-shlib-hashfunc.o" ], "products" => { "lib" => [ "libcrypto", - "libssl", - "providers/libfips.a" + "libssl" ] } }, "crypto/hmac" => { "deps" => [ "crypto/hmac/libcrypto-lib-hmac.o", - "crypto/hmac/libcrypto-shlib-hmac.o", - "crypto/hmac/libfips-lib-hmac.o" + "crypto/hmac/libcrypto-shlib-hmac.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11302,13 +11080,11 @@ our %unified_info = ( "crypto/lhash/libcrypto-lib-lh_stats.o", "crypto/lhash/libcrypto-lib-lhash.o", "crypto/lhash/libcrypto-shlib-lh_stats.o", - "crypto/lhash/libcrypto-shlib-lhash.o", - "crypto/lhash/libfips-lib-lhash.o" + "crypto/lhash/libcrypto-shlib-lhash.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11334,11 +11110,16 @@ our %unified_info = ( "crypto/md5/libcrypto-shlib-md5-x86_64.o", "crypto/md5/libcrypto-shlib-md5_dgst.o", "crypto/md5/libcrypto-shlib-md5_one.o", - "crypto/md5/libcrypto-shlib-md5_sha1.o" + "crypto/md5/libcrypto-shlib-md5_sha1.o", + "crypto/md5/liblegacy-lib-md5-x86_64.o", + "crypto/md5/liblegacy-lib-md5_dgst.o", + "crypto/md5/liblegacy-lib-md5_one.o", + "crypto/md5/liblegacy-lib-md5_sha1.o" ], "products" => { "lib" => [ - "libcrypto" + "libcrypto", + "providers/liblegacy.a" ] } }, @@ -11359,33 +11140,22 @@ our %unified_info = ( "crypto/ml_dsa/libcrypto-shlib-ml_dsa_ntt.o", "crypto/ml_dsa/libcrypto-shlib-ml_dsa_params.o", "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sample.o", - "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sign.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_encoders.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_key.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_key_compress.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_matrix.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_ntt.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_params.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_sample.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_sign.o" + "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sign.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, "crypto/ml_kem" => { "deps" => [ "crypto/ml_kem/libcrypto-lib-ml_kem.o", - "crypto/ml_kem/libcrypto-shlib-ml_kem.o", - "crypto/ml_kem/libfips-lib-ml_kem.o" + "crypto/ml_kem/libcrypto-shlib-ml_kem.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11420,24 +11190,11 @@ our %unified_info = ( "crypto/modes/libcrypto-shlib-siv128.o", "crypto/modes/libcrypto-shlib-wrap128.o", "crypto/modes/libcrypto-shlib-xts128.o", - "crypto/modes/libcrypto-shlib-xts128gb.o", - "crypto/modes/libfips-lib-aes-gcm-avx512.o", - "crypto/modes/libfips-lib-aesni-gcm-x86_64.o", - "crypto/modes/libfips-lib-cbc128.o", - "crypto/modes/libfips-lib-ccm128.o", - "crypto/modes/libfips-lib-cfb128.o", - "crypto/modes/libfips-lib-ctr128.o", - "crypto/modes/libfips-lib-gcm128.o", - "crypto/modes/libfips-lib-ghash-x86_64.o", - "crypto/modes/libfips-lib-ofb128.o", - "crypto/modes/libfips-lib-wrap128.o", - "crypto/modes/libfips-lib-xts128.o", - "crypto/modes/libfips-lib-xts128gb.o" + "crypto/modes/libcrypto-shlib-xts128gb.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11616,17 +11373,11 @@ our %unified_info = ( "crypto/property/libcrypto-shlib-property_err.o", "crypto/property/libcrypto-shlib-property_parse.o", "crypto/property/libcrypto-shlib-property_query.o", - "crypto/property/libcrypto-shlib-property_string.o", - "crypto/property/libfips-lib-defn_cache.o", - "crypto/property/libfips-lib-property.o", - "crypto/property/libfips-lib-property_parse.o", - "crypto/property/libfips-lib-property_query.o", - "crypto/property/libfips-lib-property_string.o" + "crypto/property/libcrypto-shlib-property_string.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11647,13 +11398,11 @@ our %unified_info = ( "crypto/rand/libcrypto-shlib-rand_meth.o", "crypto/rand/libcrypto-shlib-rand_pool.o", "crypto/rand/libcrypto-shlib-rand_uniform.o", - "crypto/rand/libcrypto-shlib-randfile.o", - "crypto/rand/libfips-lib-rand_lib.o" + "crypto/rand/libcrypto-shlib-randfile.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11681,11 +11430,14 @@ our %unified_info = ( "crypto/rc4/libcrypto-lib-rc4-md5-x86_64.o", "crypto/rc4/libcrypto-lib-rc4-x86_64.o", "crypto/rc4/libcrypto-shlib-rc4-md5-x86_64.o", - "crypto/rc4/libcrypto-shlib-rc4-x86_64.o" + "crypto/rc4/libcrypto-shlib-rc4-x86_64.o", + "crypto/rc4/liblegacy-lib-rc4-md5-x86_64.o", + "crypto/rc4/liblegacy-lib-rc4-x86_64.o" ], "products" => { "lib" => [ - "libcrypto" + "libcrypto", + "providers/liblegacy.a" ] } }, @@ -11755,29 +11507,11 @@ our %unified_info = ( "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_check.o", "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_gen.o", "crypto/rsa/libcrypto-shlib-rsa_x931.o", - "crypto/rsa/libcrypto-shlib-rsa_x931g.o", - "crypto/rsa/libfips-lib-rsa_acvp_test_params.o", - "crypto/rsa/libfips-lib-rsa_backend.o", - "crypto/rsa/libfips-lib-rsa_chk.o", - "crypto/rsa/libfips-lib-rsa_crpt.o", - "crypto/rsa/libfips-lib-rsa_gen.o", - "crypto/rsa/libfips-lib-rsa_lib.o", - "crypto/rsa/libfips-lib-rsa_mp_names.o", - "crypto/rsa/libfips-lib-rsa_none.o", - "crypto/rsa/libfips-lib-rsa_oaep.o", - "crypto/rsa/libfips-lib-rsa_ossl.o", - "crypto/rsa/libfips-lib-rsa_pk1.o", - "crypto/rsa/libfips-lib-rsa_pss.o", - "crypto/rsa/libfips-lib-rsa_schemes.o", - "crypto/rsa/libfips-lib-rsa_sign.o", - "crypto/rsa/libfips-lib-rsa_sp800_56b_check.o", - "crypto/rsa/libfips-lib-rsa_sp800_56b_gen.o", - "crypto/rsa/libfips-lib-rsa_x931.o" + "crypto/rsa/libcrypto-shlib-rsa_x931g.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11823,22 +11557,11 @@ our %unified_info = ( "crypto/sha/libcrypto-shlib-sha256.o", "crypto/sha/libcrypto-shlib-sha3.o", "crypto/sha/libcrypto-shlib-sha512-x86_64.o", - "crypto/sha/libcrypto-shlib-sha512.o", - "crypto/sha/libfips-lib-keccak1600-x86_64.o", - "crypto/sha/libfips-lib-sha1-mb-x86_64.o", - "crypto/sha/libfips-lib-sha1-x86_64.o", - "crypto/sha/libfips-lib-sha1dgst.o", - "crypto/sha/libfips-lib-sha256-mb-x86_64.o", - "crypto/sha/libfips-lib-sha256-x86_64.o", - "crypto/sha/libfips-lib-sha256.o", - "crypto/sha/libfips-lib-sha3.o", - "crypto/sha/libfips-lib-sha512-x86_64.o", - "crypto/sha/libfips-lib-sha512.o" + "crypto/sha/libcrypto-shlib-sha512.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11876,22 +11599,11 @@ our %unified_info = ( "crypto/slh_dsa/libcrypto-shlib-slh_hypertree.o", "crypto/slh_dsa/libcrypto-shlib-slh_params.o", "crypto/slh_dsa/libcrypto-shlib-slh_wots.o", - "crypto/slh_dsa/libcrypto-shlib-slh_xmss.o", - "crypto/slh_dsa/libfips-lib-slh_adrs.o", - "crypto/slh_dsa/libfips-lib-slh_dsa.o", - "crypto/slh_dsa/libfips-lib-slh_dsa_hash_ctx.o", - "crypto/slh_dsa/libfips-lib-slh_dsa_key.o", - "crypto/slh_dsa/libfips-lib-slh_fors.o", - "crypto/slh_dsa/libfips-lib-slh_hash.o", - "crypto/slh_dsa/libfips-lib-slh_hypertree.o", - "crypto/slh_dsa/libfips-lib-slh_params.o", - "crypto/slh_dsa/libfips-lib-slh_wots.o", - "crypto/slh_dsa/libfips-lib-slh_xmss.o" + "crypto/slh_dsa/libcrypto-shlib-slh_xmss.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11911,13 +11623,11 @@ our %unified_info = ( "crypto/stack" => { "deps" => [ "crypto/stack/libcrypto-lib-stack.o", - "crypto/stack/libcrypto-shlib-stack.o", - "crypto/stack/libfips-lib-stack.o" + "crypto/stack/libcrypto-shlib-stack.o" ], "products" => { "lib" => [ - "libcrypto", - "providers/libfips.a" + "libcrypto" ] } }, @@ -11952,16 +11662,12 @@ our %unified_info = ( "crypto/thread/libcrypto-shlib-api.o", "crypto/thread/libcrypto-shlib-arch.o", "crypto/thread/libcrypto-shlib-internal.o", - "crypto/thread/libssl-shlib-arch.o", - "crypto/thread/libfips-lib-api.o", - "crypto/thread/libfips-lib-arch.o", - "crypto/thread/libfips-lib-internal.o" + "crypto/thread/libssl-shlib-arch.o" ], "products" => { "lib" => [ "libcrypto", - "libssl", - "providers/libfips.a" + "libssl" ] } }, @@ -11975,16 +11681,12 @@ our %unified_info = ( "crypto/thread/arch/libcrypto-shlib-thread_win.o", "crypto/thread/arch/libssl-shlib-thread_none.o", "crypto/thread/arch/libssl-shlib-thread_posix.o", - "crypto/thread/arch/libssl-shlib-thread_win.o", - "crypto/thread/arch/libfips-lib-thread_none.o", - "crypto/thread/arch/libfips-lib-thread_posix.o", - "crypto/thread/arch/libfips-lib-thread_win.o" + "crypto/thread/arch/libssl-shlib-thread_win.o" ], "products" => { "lib" => [ "libcrypto", - "libssl", - "providers/libfips.a" + "libssl" ] } }, @@ -12317,6 +12019,8 @@ our %unified_info = ( }, "providers" => { "deps" => [ + "providers/endecode_test-bin-legacyprov.o", + "providers/evp_extra_test-bin-legacyprov.o", "providers/libcrypto-lib-baseprov.o", "providers/libcrypto-lib-defltprov.o", "providers/libcrypto-lib-nullprov.o", @@ -12329,12 +12033,16 @@ our %unified_info = ( "providers/libdefault.a" ], "products" => { + "bin" => [ + "test/endecode_test", + "test/evp_extra_test" + ], "dso" => [ - "providers/fips" + "providers/legacy" ], "lib" => [ "libcrypto", - "providers/libfips.a" + "providers/liblegacy.a" ] } }, @@ -12349,19 +12057,13 @@ our %unified_info = ( "providers/common/libdefault-lib-provider_util.o", "providers/common/libdefault-lib-securitycheck.o", "providers/common/libdefault-lib-securitycheck_default.o", - "providers/common/libfips-lib-bio_prov.o", - "providers/common/libfips-lib-capabilities.o", - "providers/common/libfips-lib-digest_to_nid.o", - "providers/common/libfips-lib-provider_seeding.o", - "providers/common/libfips-lib-provider_util.o", - "providers/common/libfips-lib-securitycheck.o", - "providers/common/libfips-lib-securitycheck_fips.o" + "providers/common/liblegacy-lib-provider_util.o" ], "products" => { "lib" => [ "providers/libcommon.a", "providers/libdefault.a", - "providers/libfips.a" + "providers/liblegacy.a" ] } }, @@ -12383,43 +12085,22 @@ our %unified_info = ( "providers/common/der/libcommon-lib-der_slh_dsa_gen.o", "providers/common/der/libcommon-lib-der_slh_dsa_key.o", "providers/common/der/libcommon-lib-der_wrap_gen.o", - "providers/common/der/libdefault-lib-der_rsa_sig.o", - "providers/common/der/libfips-lib-der_rsa_sig.o" + "providers/common/der/libdefault-lib-der_rsa_sig.o" ], "products" => { "lib" => [ "providers/libcommon.a", - "providers/libdefault.a", - "providers/libfips.a" - ] - } - }, - "providers/fips" => { - "deps" => [ - "providers/fips/fips-dso-fips_entry.o", - "providers/fips/libfips-lib-fipsindicator.o", - "providers/fips/libfips-lib-fipsprov.o", - "providers/fips/libfips-lib-self_test.o", - "providers/fips/libfips-lib-self_test_kats.o" - ], - "products" => { - "dso" => [ - "providers/fips" - ], - "lib" => [ - "providers/libfips.a" + "providers/libdefault.a" ] } }, "providers/implementations/asymciphers" => { "deps" => [ - "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o", - "providers/implementations/asymciphers/libfips-lib-rsa_enc.o" + "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o" ], "products" => { "lib" => [ - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, @@ -12467,31 +12148,29 @@ our %unified_info = ( "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o", "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o", "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha1_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha256_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_wrp.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_fips.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_cts.o", - "providers/implementations/ciphers/libfips-lib-cipher_tdes.o", - "providers/implementations/ciphers/libfips-lib-cipher_tdes_common.o", - "providers/implementations/ciphers/libfips-lib-cipher_tdes_hw.o" + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o" ], "products" => { "lib" => [ "providers/libcommon.a", "providers/libdefault.a", - "providers/libfips.a" + "providers/liblegacy.a" ] } }, @@ -12507,14 +12186,15 @@ our %unified_info = ( "providers/implementations/digests/libdefault-lib-ripemd_prov.o", "providers/implementations/digests/libdefault-lib-sha2_prov.o", "providers/implementations/digests/libdefault-lib-sha3_prov.o", - "providers/implementations/digests/libfips-lib-sha2_prov.o", - "providers/implementations/digests/libfips-lib-sha3_prov.o" + "providers/implementations/digests/liblegacy-lib-md4_prov.o", + "providers/implementations/digests/liblegacy-lib-ripemd_prov.o", + "providers/implementations/digests/liblegacy-lib-wp_prov.o" ], "products" => { "lib" => [ "providers/libcommon.a", "providers/libdefault.a", - "providers/libfips.a" + "providers/liblegacy.a" ] } }, @@ -12546,16 +12226,11 @@ our %unified_info = ( "providers/implementations/exchange/libdefault-lib-dh_exch.o", "providers/implementations/exchange/libdefault-lib-ecdh_exch.o", "providers/implementations/exchange/libdefault-lib-ecx_exch.o", - "providers/implementations/exchange/libdefault-lib-kdf_exch.o", - "providers/implementations/exchange/libfips-lib-dh_exch.o", - "providers/implementations/exchange/libfips-lib-ecdh_exch.o", - "providers/implementations/exchange/libfips-lib-ecx_exch.o", - "providers/implementations/exchange/libfips-lib-kdf_exch.o" + "providers/implementations/exchange/libdefault-lib-kdf_exch.o" ], "products" => { "lib" => [ - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, @@ -12574,19 +12249,13 @@ our %unified_info = ( "providers/implementations/kdfs/libdefault-lib-sskdf.o", "providers/implementations/kdfs/libdefault-lib-tls1_prf.o", "providers/implementations/kdfs/libdefault-lib-x942kdf.o", - "providers/implementations/kdfs/libfips-lib-hkdf.o", - "providers/implementations/kdfs/libfips-lib-kbkdf.o", - "providers/implementations/kdfs/libfips-lib-pbkdf2.o", - "providers/implementations/kdfs/libfips-lib-pbkdf2_fips.o", - "providers/implementations/kdfs/libfips-lib-sshkdf.o", - "providers/implementations/kdfs/libfips-lib-sskdf.o", - "providers/implementations/kdfs/libfips-lib-tls1_prf.o", - "providers/implementations/kdfs/libfips-lib-x942kdf.o" + "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o", + "providers/implementations/kdfs/liblegacy-lib-pvkkdf.o" ], "products" => { "lib" => [ "providers/libdefault.a", - "providers/libfips.a" + "providers/liblegacy.a" ] } }, @@ -12598,15 +12267,11 @@ our %unified_info = ( "providers/implementations/kem/libdefault-lib-ml_kem_kem.o", "providers/implementations/kem/libdefault-lib-mlx_kem.o", "providers/implementations/kem/libdefault-lib-rsa_kem.o", - "providers/implementations/kem/libfips-lib-ml_kem_kem.o", - "providers/implementations/kem/libfips-lib-mlx_kem.o", - "providers/implementations/kem/libfips-lib-rsa_kem.o", "providers/implementations/kem/libtemplate-lib-template_kem.o" ], "products" => { "lib" => [ "providers/libdefault.a", - "providers/libfips.a", "providers/libtemplate.a" ] } @@ -12624,23 +12289,11 @@ our %unified_info = ( "providers/implementations/keymgmt/libdefault-lib-mlx_kmgmt.o", "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o", "providers/implementations/keymgmt/libdefault-lib-slh_dsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-dh_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-dsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ec_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ecx_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-kdf_legacy_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-mac_legacy_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ml_dsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ml_kem_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-mlx_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-rsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-slh_dsa_kmgmt.o", "providers/implementations/keymgmt/libtemplate-lib-template_kmgmt.o" ], "products" => { "lib" => [ "providers/libdefault.a", - "providers/libfips.a", "providers/libtemplate.a" ] } @@ -12654,16 +12307,11 @@ our %unified_info = ( "providers/implementations/macs/libdefault-lib-hmac_prov.o", "providers/implementations/macs/libdefault-lib-kmac_prov.o", "providers/implementations/macs/libdefault-lib-poly1305_prov.o", - "providers/implementations/macs/libdefault-lib-siphash_prov.o", - "providers/implementations/macs/libfips-lib-cmac_prov.o", - "providers/implementations/macs/libfips-lib-gmac_prov.o", - "providers/implementations/macs/libfips-lib-hmac_prov.o", - "providers/implementations/macs/libfips-lib-kmac_prov.o" + "providers/implementations/macs/libdefault-lib-siphash_prov.o" ], "products" => { "lib" => [ - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, @@ -12675,18 +12323,11 @@ our %unified_info = ( "providers/implementations/rands/libdefault-lib-drbg_hmac.o", "providers/implementations/rands/libdefault-lib-seed_src.o", "providers/implementations/rands/libdefault-lib-seed_src_jitter.o", - "providers/implementations/rands/libdefault-lib-test_rng.o", - "providers/implementations/rands/libfips-lib-drbg.o", - "providers/implementations/rands/libfips-lib-drbg_ctr.o", - "providers/implementations/rands/libfips-lib-drbg_hash.o", - "providers/implementations/rands/libfips-lib-drbg_hmac.o", - "providers/implementations/rands/libfips-lib-fips_crng_test.o", - "providers/implementations/rands/libfips-lib-test_rng.o" + "providers/implementations/rands/libdefault-lib-test_rng.o" ], "products" => { "lib" => [ - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, @@ -12711,33 +12352,22 @@ our %unified_info = ( "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o", "providers/implementations/signature/libdefault-lib-ml_dsa_sig.o", "providers/implementations/signature/libdefault-lib-rsa_sig.o", - "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o", - "providers/implementations/signature/libfips-lib-dsa_sig.o", - "providers/implementations/signature/libfips-lib-ecdsa_sig.o", - "providers/implementations/signature/libfips-lib-eddsa_sig.o", - "providers/implementations/signature/libfips-lib-mac_legacy_sig.o", - "providers/implementations/signature/libfips-lib-ml_dsa_sig.o", - "providers/implementations/signature/libfips-lib-rsa_sig.o", - "providers/implementations/signature/libfips-lib-slh_dsa_sig.o" + "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" ], "products" => { "lib" => [ - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, "providers/implementations/skeymgmt" => { "deps" => [ "providers/implementations/skeymgmt/libdefault-lib-aes_skmgmt.o", - "providers/implementations/skeymgmt/libdefault-lib-generic.o", - "providers/implementations/skeymgmt/libfips-lib-aes_skmgmt.o", - "providers/implementations/skeymgmt/libfips-lib-generic.o" + "providers/implementations/skeymgmt/libdefault-lib-generic.o" ], "products" => { "lib" => [ - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, @@ -12936,6 +12566,7 @@ our %unified_info = ( "ssl/record/methods" => { "deps" => [ "ssl/record/methods/libssl-lib-dtls_meth.o", + "ssl/record/methods/libssl-lib-ktls_meth.o", "ssl/record/methods/libssl-lib-ssl3_meth.o", "ssl/record/methods/libssl-lib-tls13_meth.o", "ssl/record/methods/libssl-lib-tls1_meth.o", @@ -12943,6 +12574,7 @@ our %unified_info = ( "ssl/record/methods/libssl-lib-tls_multib.o", "ssl/record/methods/libssl-lib-tlsany_meth.o", "ssl/record/methods/libssl-shlib-dtls_meth.o", + "ssl/record/methods/libssl-shlib-ktls_meth.o", "ssl/record/methods/libssl-shlib-ssl3_cbc.o", "ssl/record/methods/libssl-shlib-ssl3_meth.o", "ssl/record/methods/libssl-shlib-tls13_meth.o", @@ -12952,15 +12584,13 @@ our %unified_info = ( "ssl/record/methods/libssl-shlib-tls_pad.o", "ssl/record/methods/libssl-shlib-tlsany_meth.o", "ssl/record/methods/libcommon-lib-tls_pad.o", - "ssl/record/methods/libdefault-lib-ssl3_cbc.o", - "ssl/record/methods/libfips-lib-ssl3_cbc.o" + "ssl/record/methods/libdefault-lib-ssl3_cbc.o" ], "products" => { "lib" => [ "libssl", "providers/libcommon.a", - "providers/libdefault.a", - "providers/libfips.a" + "providers/libdefault.a" ] } }, @@ -19584,18 +19214,9 @@ our %unified_info = ( "providers/common/include/prov/der_wrap.h" => [ "providers/common/include/prov/der_wrap.h.in" ], - "providers/fips.ld" => [ + "providers/legacy.ld" => [ "util/providers.num" ], - "providers/fipsmodule.cnf" => [ - "util/mk-fipsmodule-cnf.pl", - "-module", - "\$(FIPSMODULE)", - "-section_name", - "fips_sect", - "-key", - "\$(FIPSKEY)" - ], "test/buildtest_aes.c" => [ "test/generate_buildtest.pl", "aes" @@ -19640,6 +19261,10 @@ our %unified_info = ( "test/generate_buildtest.pl", "conf_api" ], + "test/buildtest_configuration.c" => [ + "test/generate_buildtest.pl", + "configuration" + ], "test/buildtest_conftypes.c" => [ "test/generate_buildtest.pl", "conftypes" @@ -21222,9 +20847,6 @@ our %unified_info = ( "crypto/bn/libcrypto-shlib-bn_exp.o" => [ "crypto" ], - "crypto/bn/libfips-lib-bn_exp.o" => [ - "crypto" - ], "crypto/bn/mips-mont.o" => [ "crypto" ], @@ -21321,15 +20943,6 @@ our %unified_info = ( "crypto/ec/libcrypto-shlib-ecx_meth.o" => [ "crypto" ], - "crypto/ec/libfips-lib-ecp_nistp384.o" => [ - "crypto" - ], - "crypto/ec/libfips-lib-ecp_nistp521.o" => [ - "crypto" - ], - "crypto/ec/libfips-lib-ecx_key.o" => [ - "crypto" - ], "crypto/evp/e_aes.o" => [ "crypto", "crypto/modes" @@ -21417,6 +21030,9 @@ our %unified_info = ( "crypto/info.o" => [ "crypto" ], + "crypto/legacy-dso-cpuid.o" => [ + "." + ], "crypto/libcrypto-lib-cpuid.o" => [ "." ], @@ -21435,9 +21051,6 @@ our %unified_info = ( "crypto/libcrypto-shlib-info.o" => [ "crypto" ], - "crypto/libfips-lib-cpuid.o" => [ - "." - ], "crypto/md5/md5-aarch64.o" => [ "crypto" ], @@ -21474,9 +21087,6 @@ our %unified_info = ( "crypto/modes/libcrypto-shlib-gcm128.o" => [ "crypto" ], - "crypto/modes/libfips-lib-gcm128.o" => [ - "crypto" - ], "crypto/params_idx.c" => [ "util/perl" ], @@ -21993,9 +21603,6 @@ our %unified_info = ( "providers/common/der/libdefault-lib-der_rsa_sig.o" => [ "providers/common/include/prov" ], - "providers/common/der/libfips-lib-der_rsa_sig.o" => [ - "providers/common/include/prov" - ], "providers/common/include/prov/der_digests.h" => [ "providers/common/der" ], @@ -22020,9 +21627,6 @@ our %unified_info = ( "providers/common/include/prov/der_wrap.h" => [ "providers/common/der" ], - "providers/fips" => [ - "include" - ], "providers/implementations/encode_decode/encode_key2any.o" => [ "providers/common/include/prov" ], @@ -22032,9 +21636,6 @@ our %unified_info = ( "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [ "providers/common/include/prov" ], - "providers/implementations/kdfs/libfips-lib-x942kdf.o" => [ - "providers/common/include/prov" - ], "providers/implementations/kdfs/x942kdf.o" => [ "providers/common/include/prov" ], @@ -22065,24 +21666,6 @@ our %unified_info = ( "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" => [ "providers/common/include/prov" ], - "providers/implementations/signature/libfips-lib-dsa_sig.o" => [ - "providers/common/include/prov" - ], - "providers/implementations/signature/libfips-lib-ecdsa_sig.o" => [ - "providers/common/include/prov" - ], - "providers/implementations/signature/libfips-lib-eddsa_sig.o" => [ - "providers/common/include/prov" - ], - "providers/implementations/signature/libfips-lib-ml_dsa_sig.o" => [ - "providers/common/include/prov" - ], - "providers/implementations/signature/libfips-lib-rsa_sig.o" => [ - "providers/common/include/prov" - ], - "providers/implementations/signature/libfips-lib-slh_dsa_sig.o" => [ - "providers/common/include/prov" - ], "providers/implementations/signature/ml_dsa_sig.o" => [ "providers/common/include/prov" ], @@ -22095,6 +21678,11 @@ our %unified_info = ( "providers/implementations/signature/sm2_sig.o" => [ "providers/common/include/prov" ], + "providers/legacy" => [ + "include", + "providers/implementations/include", + "providers/common/include" + ], "providers/libcommon.a" => [ "crypto", "include", @@ -22137,10 +21725,6 @@ our %unified_info = ( "include", "apps/include" ], - "test/acvp_test" => [ - "include", - "apps/include" - ], "test/aesgcmtest" => [ "include", "apps/include", @@ -22301,6 +21885,9 @@ our %unified_info = ( "test/buildtest_c_conf_api" => [ "include" ], + "test/buildtest_c_configuration" => [ + "include" + ], "test/buildtest_c_conftypes" => [ "include" ], @@ -22686,7 +22273,9 @@ our %unified_info = ( "test/endecode_test" => [ ".", "include", - "apps/include" + "apps/include", + "providers/common/include", + "providers/implementations/include" ], "test/endecoder_legacy_test" => [ ".", @@ -23564,7 +23153,7 @@ our %unified_info = ( "libssl", "providers/libcommon.a", "providers/libdefault.a", - "providers/libfips.a", + "providers/liblegacy.a", "providers/libtemplate.a", "test/libtestutil.a" ], @@ -24478,7 +24067,7 @@ our %unified_info = ( "engines/loader_attic", "engines/ossltest", "engines/padlock", - "providers/fips", + "providers/legacy", "test/p_minimal", "test/p_test" ], @@ -24515,7 +24104,6 @@ our %unified_info = ( "fuzz/v3name-test", "fuzz/x509-test", "test/aborttest", - "test/acvp_test", "test/aesgcmtest", "test/afalgtest", "test/algorithmid_test", @@ -24557,6 +24145,7 @@ our %unified_info = ( "test/buildtest_c_cmac", "test/buildtest_c_cmp_util", "test/buildtest_c_conf_api", + "test/buildtest_c_configuration", "test/buildtest_c_conftypes", "test/buildtest_c_core", "test/buildtest_c_core_dispatch", @@ -25750,6 +25339,7 @@ our %unified_info = ( "ssl/record/libssl-shlib-rec_layer_d1.o", "ssl/record/libssl-shlib-rec_layer_s3.o", "ssl/record/methods/libssl-shlib-dtls_meth.o", + "ssl/record/methods/libssl-shlib-ktls_meth.o", "ssl/record/methods/libssl-shlib-ssl3_cbc.o", "ssl/record/methods/libssl-shlib-ssl3_meth.o", "ssl/record/methods/libssl-shlib-tls13_meth.o", @@ -26203,36 +25793,6 @@ our %unified_info = ( "crypto/aes/libcrypto-shlib-vpaes-x86_64.o" => [ "crypto/aes/vpaes-x86_64.s" ], - "crypto/aes/libfips-lib-aes-x86_64.o" => [ - "crypto/aes/aes-x86_64.s" - ], - "crypto/aes/libfips-lib-aes_ecb.o" => [ - "crypto/aes/aes_ecb.c" - ], - "crypto/aes/libfips-lib-aes_misc.o" => [ - "crypto/aes/aes_misc.c" - ], - "crypto/aes/libfips-lib-aesni-mb-x86_64.o" => [ - "crypto/aes/aesni-mb-x86_64.s" - ], - "crypto/aes/libfips-lib-aesni-sha1-x86_64.o" => [ - "crypto/aes/aesni-sha1-x86_64.s" - ], - "crypto/aes/libfips-lib-aesni-sha256-x86_64.o" => [ - "crypto/aes/aesni-sha256-x86_64.s" - ], - "crypto/aes/libfips-lib-aesni-x86_64.o" => [ - "crypto/aes/aesni-x86_64.s" - ], - "crypto/aes/libfips-lib-aesni-xts-avx512.o" => [ - "crypto/aes/aesni-xts-avx512.s" - ], - "crypto/aes/libfips-lib-bsaes-x86_64.o" => [ - "crypto/aes/bsaes-x86_64.s" - ], - "crypto/aes/libfips-lib-vpaes-x86_64.o" => [ - "crypto/aes/vpaes-x86_64.s" - ], "crypto/asn1/asn1_time_test-bin-a_time.o" => [ "crypto/asn1/a_time.c" ], @@ -26866,9 +26426,6 @@ our %unified_info = ( "crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o" => [ "crypto/bn/asm/x86_64-gcc.c" ], - "crypto/bn/asm/libfips-lib-x86_64-gcc.o" => [ - "crypto/bn/asm/x86_64-gcc.c" - ], "crypto/bn/libcrypto-lib-bn_add.o" => [ "crypto/bn/bn_add.c" ], @@ -27139,126 +26696,6 @@ our %unified_info = ( "crypto/bn/libcrypto-shlib-x86_64-mont5.o" => [ "crypto/bn/x86_64-mont5.s" ], - "crypto/bn/libfips-lib-bn_add.o" => [ - "crypto/bn/bn_add.c" - ], - "crypto/bn/libfips-lib-bn_blind.o" => [ - "crypto/bn/bn_blind.c" - ], - "crypto/bn/libfips-lib-bn_const.o" => [ - "crypto/bn/bn_const.c" - ], - "crypto/bn/libfips-lib-bn_conv.o" => [ - "crypto/bn/bn_conv.c" - ], - "crypto/bn/libfips-lib-bn_ctx.o" => [ - "crypto/bn/bn_ctx.c" - ], - "crypto/bn/libfips-lib-bn_dh.o" => [ - "crypto/bn/bn_dh.c" - ], - "crypto/bn/libfips-lib-bn_div.o" => [ - "crypto/bn/bn_div.c" - ], - "crypto/bn/libfips-lib-bn_exp.o" => [ - "crypto/bn/bn_exp.c" - ], - "crypto/bn/libfips-lib-bn_exp2.o" => [ - "crypto/bn/bn_exp2.c" - ], - "crypto/bn/libfips-lib-bn_gcd.o" => [ - "crypto/bn/bn_gcd.c" - ], - "crypto/bn/libfips-lib-bn_gf2m.o" => [ - "crypto/bn/bn_gf2m.c" - ], - "crypto/bn/libfips-lib-bn_intern.o" => [ - "crypto/bn/bn_intern.c" - ], - "crypto/bn/libfips-lib-bn_kron.o" => [ - "crypto/bn/bn_kron.c" - ], - "crypto/bn/libfips-lib-bn_lib.o" => [ - "crypto/bn/bn_lib.c" - ], - "crypto/bn/libfips-lib-bn_mod.o" => [ - "crypto/bn/bn_mod.c" - ], - "crypto/bn/libfips-lib-bn_mont.o" => [ - "crypto/bn/bn_mont.c" - ], - "crypto/bn/libfips-lib-bn_mpi.o" => [ - "crypto/bn/bn_mpi.c" - ], - "crypto/bn/libfips-lib-bn_mul.o" => [ - "crypto/bn/bn_mul.c" - ], - "crypto/bn/libfips-lib-bn_nist.o" => [ - "crypto/bn/bn_nist.c" - ], - "crypto/bn/libfips-lib-bn_prime.o" => [ - "crypto/bn/bn_prime.c" - ], - "crypto/bn/libfips-lib-bn_rand.o" => [ - "crypto/bn/bn_rand.c" - ], - "crypto/bn/libfips-lib-bn_recp.o" => [ - "crypto/bn/bn_recp.c" - ], - "crypto/bn/libfips-lib-bn_rsa_fips186_4.o" => [ - "crypto/bn/bn_rsa_fips186_4.c" - ], - "crypto/bn/libfips-lib-bn_shift.o" => [ - "crypto/bn/bn_shift.c" - ], - "crypto/bn/libfips-lib-bn_sqr.o" => [ - "crypto/bn/bn_sqr.c" - ], - "crypto/bn/libfips-lib-bn_sqrt.o" => [ - "crypto/bn/bn_sqrt.c" - ], - "crypto/bn/libfips-lib-bn_word.o" => [ - "crypto/bn/bn_word.c" - ], - "crypto/bn/libfips-lib-rsaz-2k-avx512.o" => [ - "crypto/bn/rsaz-2k-avx512.s" - ], - "crypto/bn/libfips-lib-rsaz-2k-avxifma.o" => [ - "crypto/bn/rsaz-2k-avxifma.s" - ], - "crypto/bn/libfips-lib-rsaz-3k-avx512.o" => [ - "crypto/bn/rsaz-3k-avx512.s" - ], - "crypto/bn/libfips-lib-rsaz-3k-avxifma.o" => [ - "crypto/bn/rsaz-3k-avxifma.s" - ], - "crypto/bn/libfips-lib-rsaz-4k-avx512.o" => [ - "crypto/bn/rsaz-4k-avx512.s" - ], - "crypto/bn/libfips-lib-rsaz-4k-avxifma.o" => [ - "crypto/bn/rsaz-4k-avxifma.s" - ], - "crypto/bn/libfips-lib-rsaz-avx2.o" => [ - "crypto/bn/rsaz-avx2.s" - ], - "crypto/bn/libfips-lib-rsaz-x86_64.o" => [ - "crypto/bn/rsaz-x86_64.s" - ], - "crypto/bn/libfips-lib-rsaz_exp.o" => [ - "crypto/bn/rsaz_exp.c" - ], - "crypto/bn/libfips-lib-rsaz_exp_x2.o" => [ - "crypto/bn/rsaz_exp_x2.c" - ], - "crypto/bn/libfips-lib-x86_64-gf2m.o" => [ - "crypto/bn/x86_64-gf2m.s" - ], - "crypto/bn/libfips-lib-x86_64-mont.o" => [ - "crypto/bn/x86_64-mont.s" - ], - "crypto/bn/libfips-lib-x86_64-mont5.o" => [ - "crypto/bn/x86_64-mont5.s" - ], "crypto/buffer/libcrypto-lib-buf_err.o" => [ "crypto/buffer/buf_err.c" ], @@ -27271,9 +26708,6 @@ our %unified_info = ( "crypto/buffer/libcrypto-shlib-buffer.o" => [ "crypto/buffer/buffer.c" ], - "crypto/buffer/libfips-lib-buffer.o" => [ - "crypto/buffer/buffer.c" - ], "crypto/ca_internals_test-bin-ctype.o" => [ "crypto/ctype.c" ], @@ -27355,9 +26789,6 @@ our %unified_info = ( "crypto/cmac/libcrypto-shlib-cmac.o" => [ "crypto/cmac/cmac.c" ], - "crypto/cmac/libfips-lib-cmac.o" => [ - "crypto/cmac/cmac.c" - ], "crypto/cmp/libcrypto-lib-cmp_asn.o" => [ "crypto/cmp/cmp_asn.c" ], @@ -27814,18 +27245,12 @@ our %unified_info = ( "crypto/des/libcrypto-shlib-xcbc_enc.o" => [ "crypto/des/xcbc_enc.c" ], - "crypto/des/libfips-lib-des_enc.o" => [ + "crypto/des/liblegacy-lib-des_enc.o" => [ "crypto/des/des_enc.c" ], - "crypto/des/libfips-lib-ecb3_enc.o" => [ - "crypto/des/ecb3_enc.c" - ], - "crypto/des/libfips-lib-fcrypt_b.o" => [ + "crypto/des/liblegacy-lib-fcrypt_b.o" => [ "crypto/des/fcrypt_b.c" ], - "crypto/des/libfips-lib-set_key.o" => [ - "crypto/des/set_key.c" - ], "crypto/dh/libcrypto-lib-dh_ameth.o" => [ "crypto/dh/dh_ameth.c" ], @@ -27916,27 +27341,6 @@ our %unified_info = ( "crypto/dh/libcrypto-shlib-dh_rfc5114.o" => [ "crypto/dh/dh_rfc5114.c" ], - "crypto/dh/libfips-lib-dh_backend.o" => [ - "crypto/dh/dh_backend.c" - ], - "crypto/dh/libfips-lib-dh_check.o" => [ - "crypto/dh/dh_check.c" - ], - "crypto/dh/libfips-lib-dh_gen.o" => [ - "crypto/dh/dh_gen.c" - ], - "crypto/dh/libfips-lib-dh_group_params.o" => [ - "crypto/dh/dh_group_params.c" - ], - "crypto/dh/libfips-lib-dh_kdf.o" => [ - "crypto/dh/dh_kdf.c" - ], - "crypto/dh/libfips-lib-dh_key.o" => [ - "crypto/dh/dh_key.c" - ], - "crypto/dh/libfips-lib-dh_lib.o" => [ - "crypto/dh/dh_lib.c" - ], "crypto/dsa/libcrypto-lib-dsa_ameth.o" => [ "crypto/dsa/dsa_ameth.c" ], @@ -28027,30 +27431,6 @@ our %unified_info = ( "crypto/dsa/libcrypto-shlib-dsa_vrf.o" => [ "crypto/dsa/dsa_vrf.c" ], - "crypto/dsa/libfips-lib-dsa_backend.o" => [ - "crypto/dsa/dsa_backend.c" - ], - "crypto/dsa/libfips-lib-dsa_check.o" => [ - "crypto/dsa/dsa_check.c" - ], - "crypto/dsa/libfips-lib-dsa_gen.o" => [ - "crypto/dsa/dsa_gen.c" - ], - "crypto/dsa/libfips-lib-dsa_key.o" => [ - "crypto/dsa/dsa_key.c" - ], - "crypto/dsa/libfips-lib-dsa_lib.o" => [ - "crypto/dsa/dsa_lib.c" - ], - "crypto/dsa/libfips-lib-dsa_ossl.o" => [ - "crypto/dsa/dsa_ossl.c" - ], - "crypto/dsa/libfips-lib-dsa_sign.o" => [ - "crypto/dsa/dsa_sign.c" - ], - "crypto/dsa/libfips-lib-dsa_vrf.o" => [ - "crypto/dsa/dsa_vrf.c" - ], "crypto/dso/libcrypto-lib-dso_dl.o" => [ "crypto/dso/dso_dl.c" ], @@ -28099,18 +27479,12 @@ our %unified_info = ( "crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl32.o" => [ "crypto/ec/curve448/arch_32/f_impl32.c" ], - "crypto/ec/curve448/arch_32/libfips-lib-f_impl32.o" => [ - "crypto/ec/curve448/arch_32/f_impl32.c" - ], "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o" => [ "crypto/ec/curve448/arch_64/f_impl64.c" ], "crypto/ec/curve448/arch_64/libcrypto-shlib-f_impl64.o" => [ "crypto/ec/curve448/arch_64/f_impl64.c" ], - "crypto/ec/curve448/arch_64/libfips-lib-f_impl64.o" => [ - "crypto/ec/curve448/arch_64/f_impl64.c" - ], "crypto/ec/curve448/libcrypto-lib-curve448.o" => [ "crypto/ec/curve448/curve448.c" ], @@ -28141,21 +27515,6 @@ our %unified_info = ( "crypto/ec/curve448/libcrypto-shlib-scalar.o" => [ "crypto/ec/curve448/scalar.c" ], - "crypto/ec/curve448/libfips-lib-curve448.o" => [ - "crypto/ec/curve448/curve448.c" - ], - "crypto/ec/curve448/libfips-lib-curve448_tables.o" => [ - "crypto/ec/curve448/curve448_tables.c" - ], - "crypto/ec/curve448/libfips-lib-eddsa.o" => [ - "crypto/ec/curve448/eddsa.c" - ], - "crypto/ec/curve448/libfips-lib-f_generic.o" => [ - "crypto/ec/curve448/f_generic.c" - ], - "crypto/ec/curve448/libfips-lib-scalar.o" => [ - "crypto/ec/curve448/scalar.c" - ], "crypto/ec/libcrypto-lib-curve25519.o" => [ "crypto/ec/curve25519.c" ], @@ -28390,102 +27749,6 @@ our %unified_info = ( "crypto/ec/libcrypto-shlib-x25519-x86_64.o" => [ "crypto/ec/x25519-x86_64.s" ], - "crypto/ec/libfips-lib-curve25519.o" => [ - "crypto/ec/curve25519.c" - ], - "crypto/ec/libfips-lib-ec2_oct.o" => [ - "crypto/ec/ec2_oct.c" - ], - "crypto/ec/libfips-lib-ec2_smpl.o" => [ - "crypto/ec/ec2_smpl.c" - ], - "crypto/ec/libfips-lib-ec_asn1.o" => [ - "crypto/ec/ec_asn1.c" - ], - "crypto/ec/libfips-lib-ec_backend.o" => [ - "crypto/ec/ec_backend.c" - ], - "crypto/ec/libfips-lib-ec_check.o" => [ - "crypto/ec/ec_check.c" - ], - "crypto/ec/libfips-lib-ec_curve.o" => [ - "crypto/ec/ec_curve.c" - ], - "crypto/ec/libfips-lib-ec_cvt.o" => [ - "crypto/ec/ec_cvt.c" - ], - "crypto/ec/libfips-lib-ec_key.o" => [ - "crypto/ec/ec_key.c" - ], - "crypto/ec/libfips-lib-ec_kmeth.o" => [ - "crypto/ec/ec_kmeth.c" - ], - "crypto/ec/libfips-lib-ec_lib.o" => [ - "crypto/ec/ec_lib.c" - ], - "crypto/ec/libfips-lib-ec_mult.o" => [ - "crypto/ec/ec_mult.c" - ], - "crypto/ec/libfips-lib-ec_oct.o" => [ - "crypto/ec/ec_oct.c" - ], - "crypto/ec/libfips-lib-ecdh_kdf.o" => [ - "crypto/ec/ecdh_kdf.c" - ], - "crypto/ec/libfips-lib-ecdh_ossl.o" => [ - "crypto/ec/ecdh_ossl.c" - ], - "crypto/ec/libfips-lib-ecdsa_ossl.o" => [ - "crypto/ec/ecdsa_ossl.c" - ], - "crypto/ec/libfips-lib-ecdsa_sign.o" => [ - "crypto/ec/ecdsa_sign.c" - ], - "crypto/ec/libfips-lib-ecdsa_vrf.o" => [ - "crypto/ec/ecdsa_vrf.c" - ], - "crypto/ec/libfips-lib-ecp_mont.o" => [ - "crypto/ec/ecp_mont.c" - ], - "crypto/ec/libfips-lib-ecp_nist.o" => [ - "crypto/ec/ecp_nist.c" - ], - "crypto/ec/libfips-lib-ecp_nistp224.o" => [ - "crypto/ec/ecp_nistp224.c" - ], - "crypto/ec/libfips-lib-ecp_nistp256.o" => [ - "crypto/ec/ecp_nistp256.c" - ], - "crypto/ec/libfips-lib-ecp_nistp384.o" => [ - "crypto/ec/ecp_nistp384.c" - ], - "crypto/ec/libfips-lib-ecp_nistp521.o" => [ - "crypto/ec/ecp_nistp521.c" - ], - "crypto/ec/libfips-lib-ecp_nistputil.o" => [ - "crypto/ec/ecp_nistputil.c" - ], - "crypto/ec/libfips-lib-ecp_nistz256-x86_64.o" => [ - "crypto/ec/ecp_nistz256-x86_64.s" - ], - "crypto/ec/libfips-lib-ecp_nistz256.o" => [ - "crypto/ec/ecp_nistz256.c" - ], - "crypto/ec/libfips-lib-ecp_oct.o" => [ - "crypto/ec/ecp_oct.c" - ], - "crypto/ec/libfips-lib-ecp_smpl.o" => [ - "crypto/ec/ecp_smpl.c" - ], - "crypto/ec/libfips-lib-ecx_backend.o" => [ - "crypto/ec/ecx_backend.c" - ], - "crypto/ec/libfips-lib-ecx_key.o" => [ - "crypto/ec/ecx_key.c" - ], - "crypto/ec/libfips-lib-x25519-x86_64.o" => [ - "crypto/ec/x25519-x86_64.s" - ], "crypto/encode_decode/libcrypto-lib-decoder_err.o" => [ "crypto/encode_decode/decoder_err.c" ], @@ -29212,78 +28475,6 @@ our %unified_info = ( "crypto/evp/libcrypto-shlib-skeymgmt_meth.o" => [ "crypto/evp/skeymgmt_meth.c" ], - "crypto/evp/libfips-lib-asymcipher.o" => [ - "crypto/evp/asymcipher.c" - ], - "crypto/evp/libfips-lib-dh_support.o" => [ - "crypto/evp/dh_support.c" - ], - "crypto/evp/libfips-lib-digest.o" => [ - "crypto/evp/digest.c" - ], - "crypto/evp/libfips-lib-ec_support.o" => [ - "crypto/evp/ec_support.c" - ], - "crypto/evp/libfips-lib-evp_enc.o" => [ - "crypto/evp/evp_enc.c" - ], - "crypto/evp/libfips-lib-evp_fetch.o" => [ - "crypto/evp/evp_fetch.c" - ], - "crypto/evp/libfips-lib-evp_lib.o" => [ - "crypto/evp/evp_lib.c" - ], - "crypto/evp/libfips-lib-evp_rand.o" => [ - "crypto/evp/evp_rand.c" - ], - "crypto/evp/libfips-lib-evp_utils.o" => [ - "crypto/evp/evp_utils.c" - ], - "crypto/evp/libfips-lib-exchange.o" => [ - "crypto/evp/exchange.c" - ], - "crypto/evp/libfips-lib-kdf_lib.o" => [ - "crypto/evp/kdf_lib.c" - ], - "crypto/evp/libfips-lib-kdf_meth.o" => [ - "crypto/evp/kdf_meth.c" - ], - "crypto/evp/libfips-lib-kem.o" => [ - "crypto/evp/kem.c" - ], - "crypto/evp/libfips-lib-keymgmt_lib.o" => [ - "crypto/evp/keymgmt_lib.c" - ], - "crypto/evp/libfips-lib-keymgmt_meth.o" => [ - "crypto/evp/keymgmt_meth.c" - ], - "crypto/evp/libfips-lib-mac_lib.o" => [ - "crypto/evp/mac_lib.c" - ], - "crypto/evp/libfips-lib-mac_meth.o" => [ - "crypto/evp/mac_meth.c" - ], - "crypto/evp/libfips-lib-p_lib.o" => [ - "crypto/evp/p_lib.c" - ], - "crypto/evp/libfips-lib-pmeth_check.o" => [ - "crypto/evp/pmeth_check.c" - ], - "crypto/evp/libfips-lib-pmeth_gn.o" => [ - "crypto/evp/pmeth_gn.c" - ], - "crypto/evp/libfips-lib-pmeth_lib.o" => [ - "crypto/evp/pmeth_lib.c" - ], - "crypto/evp/libfips-lib-s_lib.o" => [ - "crypto/evp/s_lib.c" - ], - "crypto/evp/libfips-lib-signature.o" => [ - "crypto/evp/signature.c" - ], - "crypto/evp/libfips-lib-skeymgmt_meth.o" => [ - "crypto/evp/skeymgmt_meth.c" - ], "crypto/ffc/libcrypto-lib-ffc_backend.o" => [ "crypto/ffc/ffc_backend.c" ], @@ -29326,27 +28517,6 @@ our %unified_info = ( "crypto/ffc/libcrypto-shlib-ffc_params_validate.o" => [ "crypto/ffc/ffc_params_validate.c" ], - "crypto/ffc/libfips-lib-ffc_backend.o" => [ - "crypto/ffc/ffc_backend.c" - ], - "crypto/ffc/libfips-lib-ffc_dh.o" => [ - "crypto/ffc/ffc_dh.c" - ], - "crypto/ffc/libfips-lib-ffc_key_generate.o" => [ - "crypto/ffc/ffc_key_generate.c" - ], - "crypto/ffc/libfips-lib-ffc_key_validate.o" => [ - "crypto/ffc/ffc_key_validate.c" - ], - "crypto/ffc/libfips-lib-ffc_params.o" => [ - "crypto/ffc/ffc_params.c" - ], - "crypto/ffc/libfips-lib-ffc_params_generate.o" => [ - "crypto/ffc/ffc_params_generate.c" - ], - "crypto/ffc/libfips-lib-ffc_params_validate.o" => [ - "crypto/ffc/ffc_params_validate.c" - ], "crypto/hashtable/libcrypto-lib-hashfunc.o" => [ "crypto/hashtable/hashfunc.c" ], @@ -29359,12 +28529,6 @@ our %unified_info = ( "crypto/hashtable/libcrypto-shlib-hashtable.o" => [ "crypto/hashtable/hashtable.c" ], - "crypto/hashtable/libfips-lib-hashfunc.o" => [ - "crypto/hashtable/hashfunc.c" - ], - "crypto/hashtable/libfips-lib-hashtable.o" => [ - "crypto/hashtable/hashtable.c" - ], "crypto/hashtable/libssl-shlib-hashfunc.o" => [ "crypto/hashtable/hashfunc.c" ], @@ -29374,9 +28538,6 @@ our %unified_info = ( "crypto/hmac/libcrypto-shlib-hmac.o" => [ "crypto/hmac/hmac.c" ], - "crypto/hmac/libfips-lib-hmac.o" => [ - "crypto/hmac/hmac.c" - ], "crypto/hpke/libcrypto-lib-hpke.o" => [ "crypto/hpke/hpke.c" ], @@ -29413,6 +28574,15 @@ our %unified_info = ( "crypto/kdf/libcrypto-shlib-kdf_err.o" => [ "crypto/kdf/kdf_err.c" ], + "crypto/legacy-dso-cpuid.o" => [ + "crypto/cpuid.c" + ], + "crypto/legacy-dso-ctype.o" => [ + "crypto/ctype.c" + ], + "crypto/legacy-dso-x86_64cpuid.o" => [ + "crypto/x86_64cpuid.s" + ], "crypto/lhash/libcrypto-lib-lh_stats.o" => [ "crypto/lhash/lh_stats.c" ], @@ -29425,9 +28595,6 @@ our %unified_info = ( "crypto/lhash/libcrypto-shlib-lhash.o" => [ "crypto/lhash/lhash.c" ], - "crypto/lhash/libfips-lib-lhash.o" => [ - "crypto/lhash/lhash.c" - ], "crypto/libcrypto-lib-asn1_dsa.o" => [ "crypto/asn1_dsa.c" ], @@ -29764,96 +28931,6 @@ our %unified_info = ( "crypto/libcrypto-shlib-x86_64cpuid.o" => [ "crypto/x86_64cpuid.s" ], - "crypto/libfips-lib-asn1_dsa.o" => [ - "crypto/asn1_dsa.c" - ], - "crypto/libfips-lib-bsearch.o" => [ - "crypto/bsearch.c" - ], - "crypto/libfips-lib-context.o" => [ - "crypto/context.c" - ], - "crypto/libfips-lib-core_algorithm.o" => [ - "crypto/core_algorithm.c" - ], - "crypto/libfips-lib-core_fetch.o" => [ - "crypto/core_fetch.c" - ], - "crypto/libfips-lib-core_namemap.o" => [ - "crypto/core_namemap.c" - ], - "crypto/libfips-lib-cpuid.o" => [ - "crypto/cpuid.c" - ], - "crypto/libfips-lib-cryptlib.o" => [ - "crypto/cryptlib.c" - ], - "crypto/libfips-lib-ctype.o" => [ - "crypto/ctype.c" - ], - "crypto/libfips-lib-der_writer.o" => [ - "crypto/der_writer.c" - ], - "crypto/libfips-lib-ex_data.o" => [ - "crypto/ex_data.c" - ], - "crypto/libfips-lib-initthread.o" => [ - "crypto/initthread.c" - ], - "crypto/libfips-lib-o_str.o" => [ - "crypto/o_str.c" - ], - "crypto/libfips-lib-packet.o" => [ - "crypto/packet.c" - ], - "crypto/libfips-lib-param_build.o" => [ - "crypto/param_build.c" - ], - "crypto/libfips-lib-param_build_set.o" => [ - "crypto/param_build_set.c" - ], - "crypto/libfips-lib-params.o" => [ - "crypto/params.c" - ], - "crypto/libfips-lib-params_dup.o" => [ - "crypto/params_dup.c" - ], - "crypto/libfips-lib-params_from_text.o" => [ - "crypto/params_from_text.c" - ], - "crypto/libfips-lib-params_idx.o" => [ - "crypto/params_idx.c" - ], - "crypto/libfips-lib-provider_core.o" => [ - "crypto/provider_core.c" - ], - "crypto/libfips-lib-provider_predefined.o" => [ - "crypto/provider_predefined.c" - ], - "crypto/libfips-lib-self_test_core.o" => [ - "crypto/self_test_core.c" - ], - "crypto/libfips-lib-sparse_array.o" => [ - "crypto/sparse_array.c" - ], - "crypto/libfips-lib-threads_lib.o" => [ - "crypto/threads_lib.c" - ], - "crypto/libfips-lib-threads_none.o" => [ - "crypto/threads_none.c" - ], - "crypto/libfips-lib-threads_pthread.o" => [ - "crypto/threads_pthread.c" - ], - "crypto/libfips-lib-threads_win.o" => [ - "crypto/threads_win.c" - ], - "crypto/libfips-lib-time.o" => [ - "crypto/time.c" - ], - "crypto/libfips-lib-x86_64cpuid.o" => [ - "crypto/x86_64cpuid.s" - ], "crypto/libssl-shlib-ctype.o" => [ "crypto/ctype.c" ], @@ -29905,6 +28982,18 @@ our %unified_info = ( "crypto/md5/libcrypto-shlib-md5_sha1.o" => [ "crypto/md5/md5_sha1.c" ], + "crypto/md5/liblegacy-lib-md5-x86_64.o" => [ + "crypto/md5/md5-x86_64.s" + ], + "crypto/md5/liblegacy-lib-md5_dgst.o" => [ + "crypto/md5/md5_dgst.c" + ], + "crypto/md5/liblegacy-lib-md5_one.o" => [ + "crypto/md5/md5_one.c" + ], + "crypto/md5/liblegacy-lib-md5_sha1.o" => [ + "crypto/md5/md5_sha1.c" + ], "crypto/ml_dsa/libcrypto-lib-ml_dsa_encoders.o" => [ "crypto/ml_dsa/ml_dsa_encoders.c" ], @@ -29953,39 +29042,12 @@ our %unified_info = ( "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sign.o" => [ "crypto/ml_dsa/ml_dsa_sign.c" ], - "crypto/ml_dsa/libfips-lib-ml_dsa_encoders.o" => [ - "crypto/ml_dsa/ml_dsa_encoders.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_key.o" => [ - "crypto/ml_dsa/ml_dsa_key.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_key_compress.o" => [ - "crypto/ml_dsa/ml_dsa_key_compress.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_matrix.o" => [ - "crypto/ml_dsa/ml_dsa_matrix.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_ntt.o" => [ - "crypto/ml_dsa/ml_dsa_ntt.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_params.o" => [ - "crypto/ml_dsa/ml_dsa_params.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_sample.o" => [ - "crypto/ml_dsa/ml_dsa_sample.c" - ], - "crypto/ml_dsa/libfips-lib-ml_dsa_sign.o" => [ - "crypto/ml_dsa/ml_dsa_sign.c" - ], "crypto/ml_kem/libcrypto-lib-ml_kem.o" => [ "crypto/ml_kem/ml_kem.c" ], "crypto/ml_kem/libcrypto-shlib-ml_kem.o" => [ "crypto/ml_kem/ml_kem.c" ], - "crypto/ml_kem/libfips-lib-ml_kem.o" => [ - "crypto/ml_kem/ml_kem.c" - ], "crypto/modes/libcrypto-lib-aes-gcm-avx512.o" => [ "crypto/modes/aes-gcm-avx512.s" ], @@ -30076,42 +29138,6 @@ our %unified_info = ( "crypto/modes/libcrypto-shlib-xts128gb.o" => [ "crypto/modes/xts128gb.c" ], - "crypto/modes/libfips-lib-aes-gcm-avx512.o" => [ - "crypto/modes/aes-gcm-avx512.s" - ], - "crypto/modes/libfips-lib-aesni-gcm-x86_64.o" => [ - "crypto/modes/aesni-gcm-x86_64.s" - ], - "crypto/modes/libfips-lib-cbc128.o" => [ - "crypto/modes/cbc128.c" - ], - "crypto/modes/libfips-lib-ccm128.o" => [ - "crypto/modes/ccm128.c" - ], - "crypto/modes/libfips-lib-cfb128.o" => [ - "crypto/modes/cfb128.c" - ], - "crypto/modes/libfips-lib-ctr128.o" => [ - "crypto/modes/ctr128.c" - ], - "crypto/modes/libfips-lib-gcm128.o" => [ - "crypto/modes/gcm128.c" - ], - "crypto/modes/libfips-lib-ghash-x86_64.o" => [ - "crypto/modes/ghash-x86_64.s" - ], - "crypto/modes/libfips-lib-ofb128.o" => [ - "crypto/modes/ofb128.c" - ], - "crypto/modes/libfips-lib-wrap128.o" => [ - "crypto/modes/wrap128.c" - ], - "crypto/modes/libfips-lib-xts128.o" => [ - "crypto/modes/xts128.c" - ], - "crypto/modes/libfips-lib-xts128gb.o" => [ - "crypto/modes/xts128gb.c" - ], "crypto/objects/libcrypto-lib-o_names.o" => [ "crypto/objects/o_names.c" ], @@ -30466,21 +29492,6 @@ our %unified_info = ( "crypto/property/libcrypto-shlib-property_string.o" => [ "crypto/property/property_string.c" ], - "crypto/property/libfips-lib-defn_cache.o" => [ - "crypto/property/defn_cache.c" - ], - "crypto/property/libfips-lib-property.o" => [ - "crypto/property/property.c" - ], - "crypto/property/libfips-lib-property_parse.o" => [ - "crypto/property/property_parse.c" - ], - "crypto/property/libfips-lib-property_query.o" => [ - "crypto/property/property_query.c" - ], - "crypto/property/libfips-lib-property_string.o" => [ - "crypto/property/property_string.c" - ], "crypto/rand/libcrypto-lib-prov_seed.o" => [ "crypto/rand/prov_seed.c" ], @@ -30529,9 +29540,6 @@ our %unified_info = ( "crypto/rand/libcrypto-shlib-randfile.o" => [ "crypto/rand/randfile.c" ], - "crypto/rand/libfips-lib-rand_lib.o" => [ - "crypto/rand/rand_lib.c" - ], "crypto/rc2/libcrypto-lib-rc2_cbc.o" => [ "crypto/rc2/rc2_cbc.c" ], @@ -30574,6 +29582,12 @@ our %unified_info = ( "crypto/rc4/libcrypto-shlib-rc4-x86_64.o" => [ "crypto/rc4/rc4-x86_64.s" ], + "crypto/rc4/liblegacy-lib-rc4-md5-x86_64.o" => [ + "crypto/rc4/rc4-md5-x86_64.s" + ], + "crypto/rc4/liblegacy-lib-rc4-x86_64.o" => [ + "crypto/rc4/rc4-x86_64.s" + ], "crypto/ripemd/libcrypto-lib-rmd_dgst.o" => [ "crypto/ripemd/rmd_dgst.c" ], @@ -30742,57 +29756,6 @@ our %unified_info = ( "crypto/rsa/libcrypto-shlib-rsa_x931g.o" => [ "crypto/rsa/rsa_x931g.c" ], - "crypto/rsa/libfips-lib-rsa_acvp_test_params.o" => [ - "crypto/rsa/rsa_acvp_test_params.c" - ], - "crypto/rsa/libfips-lib-rsa_backend.o" => [ - "crypto/rsa/rsa_backend.c" - ], - "crypto/rsa/libfips-lib-rsa_chk.o" => [ - "crypto/rsa/rsa_chk.c" - ], - "crypto/rsa/libfips-lib-rsa_crpt.o" => [ - "crypto/rsa/rsa_crpt.c" - ], - "crypto/rsa/libfips-lib-rsa_gen.o" => [ - "crypto/rsa/rsa_gen.c" - ], - "crypto/rsa/libfips-lib-rsa_lib.o" => [ - "crypto/rsa/rsa_lib.c" - ], - "crypto/rsa/libfips-lib-rsa_mp_names.o" => [ - "crypto/rsa/rsa_mp_names.c" - ], - "crypto/rsa/libfips-lib-rsa_none.o" => [ - "crypto/rsa/rsa_none.c" - ], - "crypto/rsa/libfips-lib-rsa_oaep.o" => [ - "crypto/rsa/rsa_oaep.c" - ], - "crypto/rsa/libfips-lib-rsa_ossl.o" => [ - "crypto/rsa/rsa_ossl.c" - ], - "crypto/rsa/libfips-lib-rsa_pk1.o" => [ - "crypto/rsa/rsa_pk1.c" - ], - "crypto/rsa/libfips-lib-rsa_pss.o" => [ - "crypto/rsa/rsa_pss.c" - ], - "crypto/rsa/libfips-lib-rsa_schemes.o" => [ - "crypto/rsa/rsa_schemes.c" - ], - "crypto/rsa/libfips-lib-rsa_sign.o" => [ - "crypto/rsa/rsa_sign.c" - ], - "crypto/rsa/libfips-lib-rsa_sp800_56b_check.o" => [ - "crypto/rsa/rsa_sp800_56b_check.c" - ], - "crypto/rsa/libfips-lib-rsa_sp800_56b_gen.o" => [ - "crypto/rsa/rsa_sp800_56b_gen.c" - ], - "crypto/rsa/libfips-lib-rsa_x931.o" => [ - "crypto/rsa/rsa_x931.c" - ], "crypto/seed/libcrypto-lib-seed.o" => [ "crypto/seed/seed.c" ], @@ -30889,36 +29852,6 @@ our %unified_info = ( "crypto/sha/libcrypto-shlib-sha512.o" => [ "crypto/sha/sha512.c" ], - "crypto/sha/libfips-lib-keccak1600-x86_64.o" => [ - "crypto/sha/keccak1600-x86_64.s" - ], - "crypto/sha/libfips-lib-sha1-mb-x86_64.o" => [ - "crypto/sha/sha1-mb-x86_64.s" - ], - "crypto/sha/libfips-lib-sha1-x86_64.o" => [ - "crypto/sha/sha1-x86_64.s" - ], - "crypto/sha/libfips-lib-sha1dgst.o" => [ - "crypto/sha/sha1dgst.c" - ], - "crypto/sha/libfips-lib-sha256-mb-x86_64.o" => [ - "crypto/sha/sha256-mb-x86_64.s" - ], - "crypto/sha/libfips-lib-sha256-x86_64.o" => [ - "crypto/sha/sha256-x86_64.s" - ], - "crypto/sha/libfips-lib-sha256.o" => [ - "crypto/sha/sha256.c" - ], - "crypto/sha/libfips-lib-sha3.o" => [ - "crypto/sha/sha3.c" - ], - "crypto/sha/libfips-lib-sha512-x86_64.o" => [ - "crypto/sha/sha512-x86_64.s" - ], - "crypto/sha/libfips-lib-sha512.o" => [ - "crypto/sha/sha512.c" - ], "crypto/siphash/libcrypto-lib-siphash.o" => [ "crypto/siphash/siphash.c" ], @@ -30988,36 +29921,6 @@ our %unified_info = ( "crypto/slh_dsa/libcrypto-shlib-slh_xmss.o" => [ "crypto/slh_dsa/slh_xmss.c" ], - "crypto/slh_dsa/libfips-lib-slh_adrs.o" => [ - "crypto/slh_dsa/slh_adrs.c" - ], - "crypto/slh_dsa/libfips-lib-slh_dsa.o" => [ - "crypto/slh_dsa/slh_dsa.c" - ], - "crypto/slh_dsa/libfips-lib-slh_dsa_hash_ctx.o" => [ - "crypto/slh_dsa/slh_dsa_hash_ctx.c" - ], - "crypto/slh_dsa/libfips-lib-slh_dsa_key.o" => [ - "crypto/slh_dsa/slh_dsa_key.c" - ], - "crypto/slh_dsa/libfips-lib-slh_fors.o" => [ - "crypto/slh_dsa/slh_fors.c" - ], - "crypto/slh_dsa/libfips-lib-slh_hash.o" => [ - "crypto/slh_dsa/slh_hash.c" - ], - "crypto/slh_dsa/libfips-lib-slh_hypertree.o" => [ - "crypto/slh_dsa/slh_hypertree.c" - ], - "crypto/slh_dsa/libfips-lib-slh_params.o" => [ - "crypto/slh_dsa/slh_params.c" - ], - "crypto/slh_dsa/libfips-lib-slh_wots.o" => [ - "crypto/slh_dsa/slh_wots.c" - ], - "crypto/slh_dsa/libfips-lib-slh_xmss.o" => [ - "crypto/slh_dsa/slh_xmss.c" - ], "crypto/srp/libcrypto-lib-srp_lib.o" => [ "crypto/srp/srp_lib.c" ], @@ -31036,9 +29939,6 @@ our %unified_info = ( "crypto/stack/libcrypto-shlib-stack.o" => [ "crypto/stack/stack.c" ], - "crypto/stack/libfips-lib-stack.o" => [ - "crypto/stack/stack.c" - ], "crypto/store/libcrypto-lib-store_err.o" => [ "crypto/store/store_err.c" ], @@ -31099,15 +29999,6 @@ our %unified_info = ( "crypto/thread/arch/libcrypto-shlib-thread_win.o" => [ "crypto/thread/arch/thread_win.c" ], - "crypto/thread/arch/libfips-lib-thread_none.o" => [ - "crypto/thread/arch/thread_none.c" - ], - "crypto/thread/arch/libfips-lib-thread_posix.o" => [ - "crypto/thread/arch/thread_posix.c" - ], - "crypto/thread/arch/libfips-lib-thread_win.o" => [ - "crypto/thread/arch/thread_win.c" - ], "crypto/thread/arch/libssl-shlib-thread_none.o" => [ "crypto/thread/arch/thread_none.c" ], @@ -31135,15 +30026,6 @@ our %unified_info = ( "crypto/thread/libcrypto-shlib-internal.o" => [ "crypto/thread/internal.c" ], - "crypto/thread/libfips-lib-api.o" => [ - "crypto/thread/api.c" - ], - "crypto/thread/libfips-lib-arch.o" => [ - "crypto/thread/arch.c" - ], - "crypto/thread/libfips-lib-internal.o" => [ - "crypto/thread/internal.c" - ], "crypto/thread/libssl-shlib-arch.o" => [ "crypto/thread/arch.c" ], @@ -33177,6 +32059,7 @@ our %unified_info = ( "ssl/record/libssl-lib-rec_layer_d1.o", "ssl/record/libssl-lib-rec_layer_s3.o", "ssl/record/methods/libssl-lib-dtls_meth.o", + "ssl/record/methods/libssl-lib-ktls_meth.o", "ssl/record/methods/libssl-lib-ssl3_meth.o", "ssl/record/methods/libssl-lib-tls13_meth.o", "ssl/record/methods/libssl-lib-tls1_meth.o", @@ -33247,9 +32130,6 @@ our %unified_info = ( "providers/common/der/libdefault-lib-der_rsa_sig.o" => [ "providers/common/der/der_rsa_sig.c" ], - "providers/common/der/libfips-lib-der_rsa_sig.o" => [ - "providers/common/der/der_rsa_sig.c" - ], "providers/common/libcommon-lib-provider_ctx.o" => [ "providers/common/provider_ctx.c" ], @@ -33277,52 +32157,18 @@ our %unified_info = ( "providers/common/libdefault-lib-securitycheck_default.o" => [ "providers/common/securitycheck_default.c" ], - "providers/common/libfips-lib-bio_prov.o" => [ - "providers/common/bio_prov.c" - ], - "providers/common/libfips-lib-capabilities.o" => [ - "providers/common/capabilities.c" - ], - "providers/common/libfips-lib-digest_to_nid.o" => [ - "providers/common/digest_to_nid.c" - ], - "providers/common/libfips-lib-provider_seeding.o" => [ - "providers/common/provider_seeding.c" - ], - "providers/common/libfips-lib-provider_util.o" => [ + "providers/common/liblegacy-lib-provider_util.o" => [ "providers/common/provider_util.c" ], - "providers/common/libfips-lib-securitycheck.o" => [ - "providers/common/securitycheck.c" - ], - "providers/common/libfips-lib-securitycheck_fips.o" => [ - "providers/common/securitycheck_fips.c" - ], - "providers/fips" => [ - "providers/fips.ld", - "providers/fips/fips-dso-fips_entry.o" - ], - "providers/fips/fips-dso-fips_entry.o" => [ - "providers/fips/fips_entry.c" + "providers/endecode_test-bin-legacyprov.o" => [ + "providers/legacyprov.c" ], - "providers/fips/libfips-lib-fipsindicator.o" => [ - "providers/fips/fipsindicator.c" - ], - "providers/fips/libfips-lib-fipsprov.o" => [ - "providers/fips/fipsprov.c" - ], - "providers/fips/libfips-lib-self_test.o" => [ - "providers/fips/self_test.c" - ], - "providers/fips/libfips-lib-self_test_kats.o" => [ - "providers/fips/self_test_kats.c" + "providers/evp_extra_test-bin-legacyprov.o" => [ + "providers/legacyprov.c" ], "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o" => [ "providers/implementations/asymciphers/rsa_enc.c" ], - "providers/implementations/asymciphers/libfips-lib-rsa_enc.o" => [ - "providers/implementations/asymciphers/rsa_enc.c" - ], "providers/implementations/ciphers/libcommon-lib-ciphercommon.o" => [ "providers/implementations/ciphers/ciphercommon.c" ], @@ -33449,63 +32295,57 @@ our %unified_info = ( "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o" => [ "providers/implementations/ciphers/cipher_tdes_wrap_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes.o" => [ - "providers/implementations/ciphers/cipher_aes.c" - ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha.o" => [ - "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o" => [ + "providers/implementations/ciphers/cipher_blowfish.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha1_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o" => [ + "providers/implementations/ciphers/cipher_blowfish_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha256_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o" => [ + "providers/implementations/ciphers/cipher_cast5.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm.o" => [ - "providers/implementations/ciphers/cipher_aes_ccm.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o" => [ + "providers/implementations/ciphers/cipher_cast5_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_ccm_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_des.o" => [ + "providers/implementations/ciphers/cipher_des.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm.o" => [ - "providers/implementations/ciphers/cipher_aes_gcm.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o" => [ + "providers/implementations/ciphers/cipher_des_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_gcm_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o" => [ + "providers/implementations/ciphers/cipher_desx.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o" => [ + "providers/implementations/ciphers/cipher_desx_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb.o" => [ - "providers/implementations/ciphers/cipher_aes_ocb.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o" => [ + "providers/implementations/ciphers/cipher_rc2.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_ocb_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o" => [ + "providers/implementations/ciphers/cipher_rc2_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_wrp.o" => [ - "providers/implementations/ciphers/cipher_aes_wrp.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o" => [ + "providers/implementations/ciphers/cipher_rc4.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts.o" => [ - "providers/implementations/ciphers/cipher_aes_xts.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o" => [ + "providers/implementations/ciphers/cipher_rc4_hmac_md5.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_fips.o" => [ - "providers/implementations/ciphers/cipher_aes_xts_fips.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o" => [ + "providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_hw.o" => [ - "providers/implementations/ciphers/cipher_aes_xts_hw.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o" => [ + "providers/implementations/ciphers/cipher_rc4_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_cts.o" => [ - "providers/implementations/ciphers/cipher_cts.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o" => [ + "providers/implementations/ciphers/cipher_seed.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_tdes.o" => [ - "providers/implementations/ciphers/cipher_tdes.c" + "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o" => [ + "providers/implementations/ciphers/cipher_seed_hw.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_tdes_common.o" => [ + "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o" => [ "providers/implementations/ciphers/cipher_tdes_common.c" ], - "providers/implementations/ciphers/libfips-lib-cipher_tdes_hw.o" => [ - "providers/implementations/ciphers/cipher_tdes_hw.c" - ], "providers/implementations/digests/libcommon-lib-digestcommon.o" => [ "providers/implementations/digests/digestcommon.c" ], @@ -33536,11 +32376,14 @@ our %unified_info = ( "providers/implementations/digests/libdefault-lib-sha3_prov.o" => [ "providers/implementations/digests/sha3_prov.c" ], - "providers/implementations/digests/libfips-lib-sha2_prov.o" => [ - "providers/implementations/digests/sha2_prov.c" + "providers/implementations/digests/liblegacy-lib-md4_prov.o" => [ + "providers/implementations/digests/md4_prov.c" ], - "providers/implementations/digests/libfips-lib-sha3_prov.o" => [ - "providers/implementations/digests/sha3_prov.c" + "providers/implementations/digests/liblegacy-lib-ripemd_prov.o" => [ + "providers/implementations/digests/ripemd_prov.c" + ], + "providers/implementations/digests/liblegacy-lib-wp_prov.o" => [ + "providers/implementations/digests/wp_prov.c" ], "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o" => [ "providers/implementations/encode_decode/decode_der2key.c" @@ -33596,18 +32439,6 @@ our %unified_info = ( "providers/implementations/exchange/libdefault-lib-kdf_exch.o" => [ "providers/implementations/exchange/kdf_exch.c" ], - "providers/implementations/exchange/libfips-lib-dh_exch.o" => [ - "providers/implementations/exchange/dh_exch.c" - ], - "providers/implementations/exchange/libfips-lib-ecdh_exch.o" => [ - "providers/implementations/exchange/ecdh_exch.c" - ], - "providers/implementations/exchange/libfips-lib-ecx_exch.o" => [ - "providers/implementations/exchange/ecx_exch.c" - ], - "providers/implementations/exchange/libfips-lib-kdf_exch.o" => [ - "providers/implementations/exchange/kdf_exch.c" - ], "providers/implementations/kdfs/libdefault-lib-argon2.o" => [ "providers/implementations/kdfs/argon2.c" ], @@ -33647,29 +32478,11 @@ our %unified_info = ( "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [ "providers/implementations/kdfs/x942kdf.c" ], - "providers/implementations/kdfs/libfips-lib-hkdf.o" => [ - "providers/implementations/kdfs/hkdf.c" - ], - "providers/implementations/kdfs/libfips-lib-kbkdf.o" => [ - "providers/implementations/kdfs/kbkdf.c" - ], - "providers/implementations/kdfs/libfips-lib-pbkdf2.o" => [ - "providers/implementations/kdfs/pbkdf2.c" + "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o" => [ + "providers/implementations/kdfs/pbkdf1.c" ], - "providers/implementations/kdfs/libfips-lib-pbkdf2_fips.o" => [ - "providers/implementations/kdfs/pbkdf2_fips.c" - ], - "providers/implementations/kdfs/libfips-lib-sshkdf.o" => [ - "providers/implementations/kdfs/sshkdf.c" - ], - "providers/implementations/kdfs/libfips-lib-sskdf.o" => [ - "providers/implementations/kdfs/sskdf.c" - ], - "providers/implementations/kdfs/libfips-lib-tls1_prf.o" => [ - "providers/implementations/kdfs/tls1_prf.c" - ], - "providers/implementations/kdfs/libfips-lib-x942kdf.o" => [ - "providers/implementations/kdfs/x942kdf.c" + "providers/implementations/kdfs/liblegacy-lib-pvkkdf.o" => [ + "providers/implementations/kdfs/pvkkdf.c" ], "providers/implementations/kem/libdefault-lib-ec_kem.o" => [ "providers/implementations/kem/ec_kem.c" @@ -33689,15 +32502,6 @@ our %unified_info = ( "providers/implementations/kem/libdefault-lib-rsa_kem.o" => [ "providers/implementations/kem/rsa_kem.c" ], - "providers/implementations/kem/libfips-lib-ml_kem_kem.o" => [ - "providers/implementations/kem/ml_kem_kem.c" - ], - "providers/implementations/kem/libfips-lib-mlx_kem.o" => [ - "providers/implementations/kem/mlx_kem.c" - ], - "providers/implementations/kem/libfips-lib-rsa_kem.o" => [ - "providers/implementations/kem/rsa_kem.c" - ], "providers/implementations/kem/libtemplate-lib-template_kem.o" => [ "providers/implementations/kem/template_kem.c" ], @@ -33734,39 +32538,6 @@ our %unified_info = ( "providers/implementations/keymgmt/libdefault-lib-slh_dsa_kmgmt.o" => [ "providers/implementations/keymgmt/slh_dsa_kmgmt.c" ], - "providers/implementations/keymgmt/libfips-lib-dh_kmgmt.o" => [ - "providers/implementations/keymgmt/dh_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-dsa_kmgmt.o" => [ - "providers/implementations/keymgmt/dsa_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-ec_kmgmt.o" => [ - "providers/implementations/keymgmt/ec_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-ecx_kmgmt.o" => [ - "providers/implementations/keymgmt/ecx_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-kdf_legacy_kmgmt.o" => [ - "providers/implementations/keymgmt/kdf_legacy_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-mac_legacy_kmgmt.o" => [ - "providers/implementations/keymgmt/mac_legacy_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-ml_dsa_kmgmt.o" => [ - "providers/implementations/keymgmt/ml_dsa_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-ml_kem_kmgmt.o" => [ - "providers/implementations/keymgmt/ml_kem_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-mlx_kmgmt.o" => [ - "providers/implementations/keymgmt/mlx_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-rsa_kmgmt.o" => [ - "providers/implementations/keymgmt/rsa_kmgmt.c" - ], - "providers/implementations/keymgmt/libfips-lib-slh_dsa_kmgmt.o" => [ - "providers/implementations/keymgmt/slh_dsa_kmgmt.c" - ], "providers/implementations/keymgmt/libtemplate-lib-template_kmgmt.o" => [ "providers/implementations/keymgmt/template_kmgmt.c" ], @@ -33794,18 +32565,6 @@ our %unified_info = ( "providers/implementations/macs/libdefault-lib-siphash_prov.o" => [ "providers/implementations/macs/siphash_prov.c" ], - "providers/implementations/macs/libfips-lib-cmac_prov.o" => [ - "providers/implementations/macs/cmac_prov.c" - ], - "providers/implementations/macs/libfips-lib-gmac_prov.o" => [ - "providers/implementations/macs/gmac_prov.c" - ], - "providers/implementations/macs/libfips-lib-hmac_prov.o" => [ - "providers/implementations/macs/hmac_prov.c" - ], - "providers/implementations/macs/libfips-lib-kmac_prov.o" => [ - "providers/implementations/macs/kmac_prov.c" - ], "providers/implementations/rands/libdefault-lib-drbg.o" => [ "providers/implementations/rands/drbg.c" ], @@ -33827,24 +32586,6 @@ our %unified_info = ( "providers/implementations/rands/libdefault-lib-test_rng.o" => [ "providers/implementations/rands/test_rng.c" ], - "providers/implementations/rands/libfips-lib-drbg.o" => [ - "providers/implementations/rands/drbg.c" - ], - "providers/implementations/rands/libfips-lib-drbg_ctr.o" => [ - "providers/implementations/rands/drbg_ctr.c" - ], - "providers/implementations/rands/libfips-lib-drbg_hash.o" => [ - "providers/implementations/rands/drbg_hash.c" - ], - "providers/implementations/rands/libfips-lib-drbg_hmac.o" => [ - "providers/implementations/rands/drbg_hmac.c" - ], - "providers/implementations/rands/libfips-lib-fips_crng_test.o" => [ - "providers/implementations/rands/fips_crng_test.c" - ], - "providers/implementations/rands/libfips-lib-test_rng.o" => [ - "providers/implementations/rands/test_rng.c" - ], "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o" => [ "providers/implementations/rands/seeding/rand_cpu_x86.c" ], @@ -33878,45 +32619,28 @@ our %unified_info = ( "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" => [ "providers/implementations/signature/slh_dsa_sig.c" ], - "providers/implementations/signature/libfips-lib-dsa_sig.o" => [ - "providers/implementations/signature/dsa_sig.c" - ], - "providers/implementations/signature/libfips-lib-ecdsa_sig.o" => [ - "providers/implementations/signature/ecdsa_sig.c" - ], - "providers/implementations/signature/libfips-lib-eddsa_sig.o" => [ - "providers/implementations/signature/eddsa_sig.c" - ], - "providers/implementations/signature/libfips-lib-mac_legacy_sig.o" => [ - "providers/implementations/signature/mac_legacy_sig.c" - ], - "providers/implementations/signature/libfips-lib-ml_dsa_sig.o" => [ - "providers/implementations/signature/ml_dsa_sig.c" - ], - "providers/implementations/signature/libfips-lib-rsa_sig.o" => [ - "providers/implementations/signature/rsa_sig.c" - ], - "providers/implementations/signature/libfips-lib-slh_dsa_sig.o" => [ - "providers/implementations/signature/slh_dsa_sig.c" - ], "providers/implementations/skeymgmt/libdefault-lib-aes_skmgmt.o" => [ "providers/implementations/skeymgmt/aes_skmgmt.c" ], "providers/implementations/skeymgmt/libdefault-lib-generic.o" => [ "providers/implementations/skeymgmt/generic.c" ], - "providers/implementations/skeymgmt/libfips-lib-aes_skmgmt.o" => [ - "providers/implementations/skeymgmt/aes_skmgmt.c" - ], - "providers/implementations/skeymgmt/libfips-lib-generic.o" => [ - "providers/implementations/skeymgmt/generic.c" - ], "providers/implementations/storemgmt/libdefault-lib-file_store.o" => [ "providers/implementations/storemgmt/file_store.c" ], "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o" => [ "providers/implementations/storemgmt/file_store_any2obj.c" ], + "providers/legacy" => [ + "crypto/legacy-dso-cpuid.o", + "crypto/legacy-dso-ctype.o", + "crypto/legacy-dso-x86_64cpuid.o", + "providers/legacy-dso-legacyprov.o", + "providers/legacy.ld" + ], + "providers/legacy-dso-legacyprov.o" => [ + "providers/legacyprov.c" + ], "providers/libcommon.a" => [ "providers/common/der/libcommon-lib-der_digests_gen.o", "providers/common/der/libcommon-lib-der_dsa_gen.o", @@ -34104,335 +32828,42 @@ our %unified_info = ( "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o", "ssl/record/methods/libdefault-lib-ssl3_cbc.o" ], - "providers/libfips.a" => [ - "crypto/aes/libfips-lib-aes-x86_64.o", - "crypto/aes/libfips-lib-aes_ecb.o", - "crypto/aes/libfips-lib-aes_misc.o", - "crypto/aes/libfips-lib-aesni-mb-x86_64.o", - "crypto/aes/libfips-lib-aesni-sha1-x86_64.o", - "crypto/aes/libfips-lib-aesni-sha256-x86_64.o", - "crypto/aes/libfips-lib-aesni-x86_64.o", - "crypto/aes/libfips-lib-aesni-xts-avx512.o", - "crypto/aes/libfips-lib-bsaes-x86_64.o", - "crypto/aes/libfips-lib-vpaes-x86_64.o", - "crypto/bn/asm/libfips-lib-x86_64-gcc.o", - "crypto/bn/libfips-lib-bn_add.o", - "crypto/bn/libfips-lib-bn_blind.o", - "crypto/bn/libfips-lib-bn_const.o", - "crypto/bn/libfips-lib-bn_conv.o", - "crypto/bn/libfips-lib-bn_ctx.o", - "crypto/bn/libfips-lib-bn_dh.o", - "crypto/bn/libfips-lib-bn_div.o", - "crypto/bn/libfips-lib-bn_exp.o", - "crypto/bn/libfips-lib-bn_exp2.o", - "crypto/bn/libfips-lib-bn_gcd.o", - "crypto/bn/libfips-lib-bn_gf2m.o", - "crypto/bn/libfips-lib-bn_intern.o", - "crypto/bn/libfips-lib-bn_kron.o", - "crypto/bn/libfips-lib-bn_lib.o", - "crypto/bn/libfips-lib-bn_mod.o", - "crypto/bn/libfips-lib-bn_mont.o", - "crypto/bn/libfips-lib-bn_mpi.o", - "crypto/bn/libfips-lib-bn_mul.o", - "crypto/bn/libfips-lib-bn_nist.o", - "crypto/bn/libfips-lib-bn_prime.o", - "crypto/bn/libfips-lib-bn_rand.o", - "crypto/bn/libfips-lib-bn_recp.o", - "crypto/bn/libfips-lib-bn_rsa_fips186_4.o", - "crypto/bn/libfips-lib-bn_shift.o", - "crypto/bn/libfips-lib-bn_sqr.o", - "crypto/bn/libfips-lib-bn_sqrt.o", - "crypto/bn/libfips-lib-bn_word.o", - "crypto/bn/libfips-lib-rsaz-2k-avx512.o", - "crypto/bn/libfips-lib-rsaz-2k-avxifma.o", - "crypto/bn/libfips-lib-rsaz-3k-avx512.o", - "crypto/bn/libfips-lib-rsaz-3k-avxifma.o", - "crypto/bn/libfips-lib-rsaz-4k-avx512.o", - "crypto/bn/libfips-lib-rsaz-4k-avxifma.o", - "crypto/bn/libfips-lib-rsaz-avx2.o", - "crypto/bn/libfips-lib-rsaz-x86_64.o", - "crypto/bn/libfips-lib-rsaz_exp.o", - "crypto/bn/libfips-lib-rsaz_exp_x2.o", - "crypto/bn/libfips-lib-x86_64-gf2m.o", - "crypto/bn/libfips-lib-x86_64-mont.o", - "crypto/bn/libfips-lib-x86_64-mont5.o", - "crypto/buffer/libfips-lib-buffer.o", - "crypto/cmac/libfips-lib-cmac.o", - "crypto/des/libfips-lib-des_enc.o", - "crypto/des/libfips-lib-ecb3_enc.o", - "crypto/des/libfips-lib-fcrypt_b.o", - "crypto/des/libfips-lib-set_key.o", - "crypto/dh/libfips-lib-dh_backend.o", - "crypto/dh/libfips-lib-dh_check.o", - "crypto/dh/libfips-lib-dh_gen.o", - "crypto/dh/libfips-lib-dh_group_params.o", - "crypto/dh/libfips-lib-dh_kdf.o", - "crypto/dh/libfips-lib-dh_key.o", - "crypto/dh/libfips-lib-dh_lib.o", - "crypto/dsa/libfips-lib-dsa_backend.o", - "crypto/dsa/libfips-lib-dsa_check.o", - "crypto/dsa/libfips-lib-dsa_gen.o", - "crypto/dsa/libfips-lib-dsa_key.o", - "crypto/dsa/libfips-lib-dsa_lib.o", - "crypto/dsa/libfips-lib-dsa_ossl.o", - "crypto/dsa/libfips-lib-dsa_sign.o", - "crypto/dsa/libfips-lib-dsa_vrf.o", - "crypto/ec/curve448/arch_32/libfips-lib-f_impl32.o", - "crypto/ec/curve448/arch_64/libfips-lib-f_impl64.o", - "crypto/ec/curve448/libfips-lib-curve448.o", - "crypto/ec/curve448/libfips-lib-curve448_tables.o", - "crypto/ec/curve448/libfips-lib-eddsa.o", - "crypto/ec/curve448/libfips-lib-f_generic.o", - "crypto/ec/curve448/libfips-lib-scalar.o", - "crypto/ec/libfips-lib-curve25519.o", - "crypto/ec/libfips-lib-ec2_oct.o", - "crypto/ec/libfips-lib-ec2_smpl.o", - "crypto/ec/libfips-lib-ec_asn1.o", - "crypto/ec/libfips-lib-ec_backend.o", - "crypto/ec/libfips-lib-ec_check.o", - "crypto/ec/libfips-lib-ec_curve.o", - "crypto/ec/libfips-lib-ec_cvt.o", - "crypto/ec/libfips-lib-ec_key.o", - "crypto/ec/libfips-lib-ec_kmeth.o", - "crypto/ec/libfips-lib-ec_lib.o", - "crypto/ec/libfips-lib-ec_mult.o", - "crypto/ec/libfips-lib-ec_oct.o", - "crypto/ec/libfips-lib-ecdh_kdf.o", - "crypto/ec/libfips-lib-ecdh_ossl.o", - "crypto/ec/libfips-lib-ecdsa_ossl.o", - "crypto/ec/libfips-lib-ecdsa_sign.o", - "crypto/ec/libfips-lib-ecdsa_vrf.o", - "crypto/ec/libfips-lib-ecp_mont.o", - "crypto/ec/libfips-lib-ecp_nist.o", - "crypto/ec/libfips-lib-ecp_nistp224.o", - "crypto/ec/libfips-lib-ecp_nistp256.o", - "crypto/ec/libfips-lib-ecp_nistp384.o", - "crypto/ec/libfips-lib-ecp_nistp521.o", - "crypto/ec/libfips-lib-ecp_nistputil.o", - "crypto/ec/libfips-lib-ecp_nistz256-x86_64.o", - "crypto/ec/libfips-lib-ecp_nistz256.o", - "crypto/ec/libfips-lib-ecp_oct.o", - "crypto/ec/libfips-lib-ecp_smpl.o", - "crypto/ec/libfips-lib-ecx_backend.o", - "crypto/ec/libfips-lib-ecx_key.o", - "crypto/ec/libfips-lib-x25519-x86_64.o", - "crypto/evp/libfips-lib-asymcipher.o", - "crypto/evp/libfips-lib-dh_support.o", - "crypto/evp/libfips-lib-digest.o", - "crypto/evp/libfips-lib-ec_support.o", - "crypto/evp/libfips-lib-evp_enc.o", - "crypto/evp/libfips-lib-evp_fetch.o", - "crypto/evp/libfips-lib-evp_lib.o", - "crypto/evp/libfips-lib-evp_rand.o", - "crypto/evp/libfips-lib-evp_utils.o", - "crypto/evp/libfips-lib-exchange.o", - "crypto/evp/libfips-lib-kdf_lib.o", - "crypto/evp/libfips-lib-kdf_meth.o", - "crypto/evp/libfips-lib-kem.o", - "crypto/evp/libfips-lib-keymgmt_lib.o", - "crypto/evp/libfips-lib-keymgmt_meth.o", - "crypto/evp/libfips-lib-mac_lib.o", - "crypto/evp/libfips-lib-mac_meth.o", - "crypto/evp/libfips-lib-p_lib.o", - "crypto/evp/libfips-lib-pmeth_check.o", - "crypto/evp/libfips-lib-pmeth_gn.o", - "crypto/evp/libfips-lib-pmeth_lib.o", - "crypto/evp/libfips-lib-s_lib.o", - "crypto/evp/libfips-lib-signature.o", - "crypto/evp/libfips-lib-skeymgmt_meth.o", - "crypto/ffc/libfips-lib-ffc_backend.o", - "crypto/ffc/libfips-lib-ffc_dh.o", - "crypto/ffc/libfips-lib-ffc_key_generate.o", - "crypto/ffc/libfips-lib-ffc_key_validate.o", - "crypto/ffc/libfips-lib-ffc_params.o", - "crypto/ffc/libfips-lib-ffc_params_generate.o", - "crypto/ffc/libfips-lib-ffc_params_validate.o", - "crypto/hashtable/libfips-lib-hashfunc.o", - "crypto/hashtable/libfips-lib-hashtable.o", - "crypto/hmac/libfips-lib-hmac.o", - "crypto/lhash/libfips-lib-lhash.o", - "crypto/libfips-lib-asn1_dsa.o", - "crypto/libfips-lib-bsearch.o", - "crypto/libfips-lib-context.o", - "crypto/libfips-lib-core_algorithm.o", - "crypto/libfips-lib-core_fetch.o", - "crypto/libfips-lib-core_namemap.o", - "crypto/libfips-lib-cpuid.o", - "crypto/libfips-lib-cryptlib.o", - "crypto/libfips-lib-ctype.o", - "crypto/libfips-lib-der_writer.o", - "crypto/libfips-lib-ex_data.o", - "crypto/libfips-lib-initthread.o", - "crypto/libfips-lib-o_str.o", - "crypto/libfips-lib-packet.o", - "crypto/libfips-lib-param_build.o", - "crypto/libfips-lib-param_build_set.o", - "crypto/libfips-lib-params.o", - "crypto/libfips-lib-params_dup.o", - "crypto/libfips-lib-params_from_text.o", - "crypto/libfips-lib-params_idx.o", - "crypto/libfips-lib-provider_core.o", - "crypto/libfips-lib-provider_predefined.o", - "crypto/libfips-lib-self_test_core.o", - "crypto/libfips-lib-sparse_array.o", - "crypto/libfips-lib-threads_lib.o", - "crypto/libfips-lib-threads_none.o", - "crypto/libfips-lib-threads_pthread.o", - "crypto/libfips-lib-threads_win.o", - "crypto/libfips-lib-time.o", - "crypto/libfips-lib-x86_64cpuid.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_encoders.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_key.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_key_compress.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_matrix.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_ntt.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_params.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_sample.o", - "crypto/ml_dsa/libfips-lib-ml_dsa_sign.o", - "crypto/ml_kem/libfips-lib-ml_kem.o", - "crypto/modes/libfips-lib-aes-gcm-avx512.o", - "crypto/modes/libfips-lib-aesni-gcm-x86_64.o", - "crypto/modes/libfips-lib-cbc128.o", - "crypto/modes/libfips-lib-ccm128.o", - "crypto/modes/libfips-lib-cfb128.o", - "crypto/modes/libfips-lib-ctr128.o", - "crypto/modes/libfips-lib-gcm128.o", - "crypto/modes/libfips-lib-ghash-x86_64.o", - "crypto/modes/libfips-lib-ofb128.o", - "crypto/modes/libfips-lib-wrap128.o", - "crypto/modes/libfips-lib-xts128.o", - "crypto/modes/libfips-lib-xts128gb.o", - "crypto/property/libfips-lib-defn_cache.o", - "crypto/property/libfips-lib-property.o", - "crypto/property/libfips-lib-property_parse.o", - "crypto/property/libfips-lib-property_query.o", - "crypto/property/libfips-lib-property_string.o", - "crypto/rand/libfips-lib-rand_lib.o", - "crypto/rsa/libfips-lib-rsa_acvp_test_params.o", - "crypto/rsa/libfips-lib-rsa_backend.o", - "crypto/rsa/libfips-lib-rsa_chk.o", - "crypto/rsa/libfips-lib-rsa_crpt.o", - "crypto/rsa/libfips-lib-rsa_gen.o", - "crypto/rsa/libfips-lib-rsa_lib.o", - "crypto/rsa/libfips-lib-rsa_mp_names.o", - "crypto/rsa/libfips-lib-rsa_none.o", - "crypto/rsa/libfips-lib-rsa_oaep.o", - "crypto/rsa/libfips-lib-rsa_ossl.o", - "crypto/rsa/libfips-lib-rsa_pk1.o", - "crypto/rsa/libfips-lib-rsa_pss.o", - "crypto/rsa/libfips-lib-rsa_schemes.o", - "crypto/rsa/libfips-lib-rsa_sign.o", - "crypto/rsa/libfips-lib-rsa_sp800_56b_check.o", - "crypto/rsa/libfips-lib-rsa_sp800_56b_gen.o", - "crypto/rsa/libfips-lib-rsa_x931.o", - "crypto/sha/libfips-lib-keccak1600-x86_64.o", - "crypto/sha/libfips-lib-sha1-mb-x86_64.o", - "crypto/sha/libfips-lib-sha1-x86_64.o", - "crypto/sha/libfips-lib-sha1dgst.o", - "crypto/sha/libfips-lib-sha256-mb-x86_64.o", - "crypto/sha/libfips-lib-sha256-x86_64.o", - "crypto/sha/libfips-lib-sha256.o", - "crypto/sha/libfips-lib-sha3.o", - "crypto/sha/libfips-lib-sha512-x86_64.o", - "crypto/sha/libfips-lib-sha512.o", - "crypto/slh_dsa/libfips-lib-slh_adrs.o", - "crypto/slh_dsa/libfips-lib-slh_dsa.o", - "crypto/slh_dsa/libfips-lib-slh_dsa_hash_ctx.o", - "crypto/slh_dsa/libfips-lib-slh_dsa_key.o", - "crypto/slh_dsa/libfips-lib-slh_fors.o", - "crypto/slh_dsa/libfips-lib-slh_hash.o", - "crypto/slh_dsa/libfips-lib-slh_hypertree.o", - "crypto/slh_dsa/libfips-lib-slh_params.o", - "crypto/slh_dsa/libfips-lib-slh_wots.o", - "crypto/slh_dsa/libfips-lib-slh_xmss.o", - "crypto/stack/libfips-lib-stack.o", - "crypto/thread/arch/libfips-lib-thread_none.o", - "crypto/thread/arch/libfips-lib-thread_posix.o", - "crypto/thread/arch/libfips-lib-thread_win.o", - "crypto/thread/libfips-lib-api.o", - "crypto/thread/libfips-lib-arch.o", - "crypto/thread/libfips-lib-internal.o", - "providers/common/der/libfips-lib-der_rsa_sig.o", - "providers/common/libfips-lib-bio_prov.o", - "providers/common/libfips-lib-capabilities.o", - "providers/common/libfips-lib-digest_to_nid.o", - "providers/common/libfips-lib-provider_seeding.o", - "providers/common/libfips-lib-provider_util.o", - "providers/common/libfips-lib-securitycheck.o", - "providers/common/libfips-lib-securitycheck_fips.o", - "providers/fips/libfips-lib-fipsindicator.o", - "providers/fips/libfips-lib-fipsprov.o", - "providers/fips/libfips-lib-self_test.o", - "providers/fips/libfips-lib-self_test_kats.o", - "providers/implementations/asymciphers/libfips-lib-rsa_enc.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha1_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha256_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_wrp.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_fips.o", - "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_hw.o", - "providers/implementations/ciphers/libfips-lib-cipher_cts.o", - "providers/implementations/ciphers/libfips-lib-cipher_tdes.o", - "providers/implementations/ciphers/libfips-lib-cipher_tdes_common.o", - "providers/implementations/ciphers/libfips-lib-cipher_tdes_hw.o", - "providers/implementations/digests/libfips-lib-sha2_prov.o", - "providers/implementations/digests/libfips-lib-sha3_prov.o", - "providers/implementations/exchange/libfips-lib-dh_exch.o", - "providers/implementations/exchange/libfips-lib-ecdh_exch.o", - "providers/implementations/exchange/libfips-lib-ecx_exch.o", - "providers/implementations/exchange/libfips-lib-kdf_exch.o", - "providers/implementations/kdfs/libfips-lib-hkdf.o", - "providers/implementations/kdfs/libfips-lib-kbkdf.o", - "providers/implementations/kdfs/libfips-lib-pbkdf2.o", - "providers/implementations/kdfs/libfips-lib-pbkdf2_fips.o", - "providers/implementations/kdfs/libfips-lib-sshkdf.o", - "providers/implementations/kdfs/libfips-lib-sskdf.o", - "providers/implementations/kdfs/libfips-lib-tls1_prf.o", - "providers/implementations/kdfs/libfips-lib-x942kdf.o", - "providers/implementations/kem/libfips-lib-ml_kem_kem.o", - "providers/implementations/kem/libfips-lib-mlx_kem.o", - "providers/implementations/kem/libfips-lib-rsa_kem.o", - "providers/implementations/keymgmt/libfips-lib-dh_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-dsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ec_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ecx_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-kdf_legacy_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-mac_legacy_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ml_dsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-ml_kem_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-mlx_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-rsa_kmgmt.o", - "providers/implementations/keymgmt/libfips-lib-slh_dsa_kmgmt.o", - "providers/implementations/macs/libfips-lib-cmac_prov.o", - "providers/implementations/macs/libfips-lib-gmac_prov.o", - "providers/implementations/macs/libfips-lib-hmac_prov.o", - "providers/implementations/macs/libfips-lib-kmac_prov.o", - "providers/implementations/rands/libfips-lib-drbg.o", - "providers/implementations/rands/libfips-lib-drbg_ctr.o", - "providers/implementations/rands/libfips-lib-drbg_hash.o", - "providers/implementations/rands/libfips-lib-drbg_hmac.o", - "providers/implementations/rands/libfips-lib-fips_crng_test.o", - "providers/implementations/rands/libfips-lib-test_rng.o", - "providers/implementations/signature/libfips-lib-dsa_sig.o", - "providers/implementations/signature/libfips-lib-ecdsa_sig.o", - "providers/implementations/signature/libfips-lib-eddsa_sig.o", - "providers/implementations/signature/libfips-lib-mac_legacy_sig.o", - "providers/implementations/signature/libfips-lib-ml_dsa_sig.o", - "providers/implementations/signature/libfips-lib-rsa_sig.o", - "providers/implementations/signature/libfips-lib-slh_dsa_sig.o", - "providers/implementations/skeymgmt/libfips-lib-aes_skmgmt.o", - "providers/implementations/skeymgmt/libfips-lib-generic.o", - "providers/libcommon.a", - "ssl/record/methods/libfips-lib-ssl3_cbc.o" + "providers/liblegacy-lib-prov_running.o" => [ + "providers/prov_running.c" + ], + "providers/liblegacy.a" => [ + "crypto/des/liblegacy-lib-des_enc.o", + "crypto/des/liblegacy-lib-fcrypt_b.o", + "crypto/md5/liblegacy-lib-md5-x86_64.o", + "crypto/md5/liblegacy-lib-md5_dgst.o", + "crypto/md5/liblegacy-lib-md5_one.o", + "crypto/md5/liblegacy-lib-md5_sha1.o", + "crypto/rc4/liblegacy-lib-rc4-md5-x86_64.o", + "crypto/rc4/liblegacy-lib-rc4-x86_64.o", + "providers/common/liblegacy-lib-provider_util.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o", + "providers/implementations/digests/liblegacy-lib-md4_prov.o", + "providers/implementations/digests/liblegacy-lib-ripemd_prov.o", + "providers/implementations/digests/liblegacy-lib-wp_prov.o", + "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o", + "providers/implementations/kdfs/liblegacy-lib-pvkkdf.o", + "providers/liblegacy-lib-prov_running.o" ], "providers/libtemplate.a" => [ "providers/implementations/kem/libtemplate-lib-template_kem.o", @@ -34894,12 +33325,12 @@ our %unified_info = ( "ssl/record/methods/libdefault-lib-ssl3_cbc.o" => [ "ssl/record/methods/ssl3_cbc.c" ], - "ssl/record/methods/libfips-lib-ssl3_cbc.o" => [ - "ssl/record/methods/ssl3_cbc.c" - ], "ssl/record/methods/libssl-lib-dtls_meth.o" => [ "ssl/record/methods/dtls_meth.c" ], + "ssl/record/methods/libssl-lib-ktls_meth.o" => [ + "ssl/record/methods/ktls_meth.c" + ], "ssl/record/methods/libssl-lib-ssl3_meth.o" => [ "ssl/record/methods/ssl3_meth.c" ], @@ -34921,6 +33352,9 @@ our %unified_info = ( "ssl/record/methods/libssl-shlib-dtls_meth.o" => [ "ssl/record/methods/dtls_meth.c" ], + "ssl/record/methods/libssl-shlib-ktls_meth.o" => [ + "ssl/record/methods/ktls_meth.c" + ], "ssl/record/methods/libssl-shlib-ssl3_cbc.o" => [ "ssl/record/methods/ssl3_cbc.c" ], @@ -35026,12 +33460,6 @@ our %unified_info = ( "test/aborttest-bin-aborttest.o" => [ "test/aborttest.c" ], - "test/acvp_test" => [ - "test/acvp_test-bin-acvp_test.o" - ], - "test/acvp_test-bin-acvp_test.o" => [ - "test/acvp_test.c" - ], "test/aesgcmtest" => [ "test/aesgcmtest-bin-aesgcmtest.o" ], @@ -35281,6 +33709,12 @@ our %unified_info = ( "test/buildtest_c_conf_api-bin-buildtest_conf_api.o" => [ "test/buildtest_conf_api.c" ], + "test/buildtest_c_configuration" => [ + "test/buildtest_c_configuration-bin-buildtest_configuration.o" + ], + "test/buildtest_c_configuration-bin-buildtest_configuration.o" => [ + "test/buildtest_configuration.c" + ], "test/buildtest_c_conftypes" => [ "test/buildtest_c_conftypes-bin-buildtest_conftypes.o" ], @@ -35929,6 +34363,7 @@ our %unified_info = ( "test/ectest.c" ], "test/endecode_test" => [ + "providers/endecode_test-bin-legacyprov.o", "test/endecode_test-bin-endecode_test.o", "test/helpers/endecode_test-bin-predefined_dhparams.o" ], @@ -35960,6 +34395,7 @@ our %unified_info = ( "test/evp_byname_test.c" ], "test/evp_extra_test" => [ + "providers/evp_extra_test-bin-legacyprov.o", "test/evp_extra_test-bin-evp_extra_test.o", "test/evp_extra_test-bin-fake_pipelineprov.o", "test/evp_extra_test-bin-fake_rsaprov.o" @@ -37268,9 +35704,7 @@ our %unified_info = ( "util/wrap.pl.in" ] }, - "targets" => [ - "build_modules_nodep" - ] + "targets" => [] ); # Unexported, only used by OpenSSL::Test::Utils::available_protocols() @@ -37317,6 +35751,9 @@ my @makevars = ( "RM" ); my %disabled_info = ( + "acvp-tests" => { + "macro" => "OPENSSL_NO_ACVP_TESTS" + }, "afalgeng" => { "macro" => "OPENSSL_NO_AFALGENG" }, @@ -37353,6 +35790,12 @@ my %disabled_info = ( "fips-jitter" => { "macro" => "OPENSSL_NO_FIPS_JITTER" }, + "fips-post" => { + "macro" => "OPENSSL_NO_FIPS_POST" + }, + "fips-securitychecks" => { + "macro" => "OPENSSL_NO_FIPS_SECURITYCHECKS" + }, "fuzz-afl" => { "macro" => "OPENSSL_NO_FUZZ_AFL" }, @@ -37374,9 +35817,6 @@ my %disabled_info = ( "jitter" => { "macro" => "OPENSSL_NO_JITTER" }, - "ktls" => { - "macro" => "OPENSSL_NO_KTLS" - }, "md2" => { "macro" => "OPENSSL_NO_MD2", "skipped" => [ @@ -37431,9 +35871,6 @@ my %disabled_info = ( "tfo" => { "macro" => "OPENSSL_NO_TFO" }, - "tls-deprecated-ec" => { - "macro" => "OPENSSL_NO_TLS_DEPRECATED_EC" - }, "trace" => { "macro" => "OPENSSL_NO_TRACE" }, @@ -37476,8 +35913,8 @@ unless (caller) { use File::Copy; use Pod::Usage; - use lib '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/util/perl'; - use OpenSSL::fallback '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/external/perl/MODULES.txt'; + use lib '/usr/home/ngie/git/freebsd-src/crypto/openssl/util/perl'; + use OpenSSL::fallback '/usr/home/ngie/git/freebsd-src/crypto/openssl/external/perl/MODULES.txt'; my $here = dirname($0); @@ -37504,7 +35941,7 @@ unless (caller) { ); use lib '.'; - use lib '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/Configurations'; + use lib '/usr/home/ngie/git/freebsd-src/crypto/openssl/Configurations'; use gentemplate; open my $buildfile_template_fh, ">$buildfile_template" @@ -37521,8 +35958,8 @@ unless (caller) { my $prepend = <<'_____'; use File::Spec::Functions; -use lib '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/util/perl'; -use lib '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/Configurations'; +use lib '/usr/home/ngie/git/freebsd-src/crypto/openssl/util/perl'; +use lib '/usr/home/ngie/git/freebsd-src/crypto/openssl/Configurations'; use lib '.'; use platform; _____ diff --git a/crypto/openssl/exporters/libcrypto.pc b/crypto/openssl/exporters/libcrypto.pc new file mode 100644 index 000000000000..e7f3953b7eae --- /dev/null +++ b/crypto/openssl/exporters/libcrypto.pc @@ -0,0 +1,13 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include +enginesdir=${libdir}/engines-3 +modulesdir=${libdir}/ossl-modules + +Name: OpenSSL-libcrypto +Description: OpenSSL cryptography library +Version: 3.5.1 +Libs: -L${libdir} -lcrypto +Libs.private: -pthread +Cflags: -I${includedir} diff --git a/crypto/openssl/exporters/libssl.pc b/crypto/openssl/exporters/libssl.pc new file mode 100644 index 000000000000..ed6fd275ca26 --- /dev/null +++ b/crypto/openssl/exporters/libssl.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: OpenSSL-libssl +Description: Secure Sockets Layer and cryptography libraries +Version: 3.5.1 +Requires.private: libcrypto +Libs: -L${libdir} -lssl +Cflags: -I${includedir} diff --git a/crypto/openssl/exporters/openssl.pc b/crypto/openssl/exporters/openssl.pc new file mode 100644 index 000000000000..892ef113ca0f --- /dev/null +++ b/crypto/openssl/exporters/openssl.pc @@ -0,0 +1,9 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: OpenSSL +Description: Secure Sockets Layer and cryptography libraries and tools +Version: 3.5.1 +Requires: libssl libcrypto diff --git a/crypto/openssl/freebsd/dump_version_from_configdata.pl b/crypto/openssl/freebsd/dump_version_from_configdata.pl new file mode 100644 index 000000000000..b6137718ba54 --- /dev/null +++ b/crypto/openssl/freebsd/dump_version_from_configdata.pl @@ -0,0 +1,21 @@ +#!/usr/bin/env perl +# +# This dumps out the values needed to generate manpages and other artifacts +# which include the release version/date. +# +# See also: `secure/lib/libcrypto/Makefile.version`. + +use Cwd qw(realpath); +use File::Basename qw(dirname); +use Time::Piece; + +use lib dirname(dirname(realpath($0))); + +use configdata qw(%config); + +$OPENSSL_DATE = Time::Piece->strptime($config{"release_date"}, "%d %b %Y")->strftime("%Y-%m-%d"); + +$OPENSSL_VER = "$config{'major'}.$config{'minor'}.$config{'patch'}"; + +print("OPENSSL_VER=\t${OPENSSL_VER}\n"); +print("OPENSSL_DATE=\t${OPENSSL_DATE}\n"); diff --git a/crypto/openssl/freebsd/include/crypto/bn_conf.h b/crypto/openssl/freebsd/include/crypto/bn_conf.h new file mode 100644 index 000000000000..442931b63339 --- /dev/null +++ b/crypto/openssl/freebsd/include/crypto/bn_conf.h @@ -0,0 +1,27 @@ + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_BN_CONF_H__ +#define __FREEBSD_BN_CONF_H__ + +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT + +# if __SIZEOF_LONG__ == 8 +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif + +#endif /* __FREEBSD_BN_CONF_H__ */ diff --git a/crypto/openssl/freebsd/include/openssl/configuration.h b/crypto/openssl/freebsd/include/openssl/configuration.h new file mode 100644 index 000000000000..faea78cb32c8 --- /dev/null +++ b/crypto/openssl/freebsd/include/openssl/configuration.h @@ -0,0 +1,38 @@ + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_CONFIGURATION_H__ +#define __FREEBSD_CONFIGURATION_H__ + +# undef OPENSSL_NO_EC_NISTP_64_GCC_128 +# if __SIZEOF_LONG__ == 4 || __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +# endif +# endif + +# undef BN_LLONG +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# if !defined(OPENSSL_SYS_UEFI) +# if __SIZEOF_LONG__ == 8 +# undef BN_LLONG +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# define BN_LLONG +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif +# endif + +#endif /* __FREEBSD_CONFIGURATION_H__ */ diff --git a/crypto/openssl/include/crypto/bn_conf.h b/crypto/openssl/include/crypto/bn_conf.h index 0347a6ddc067..408242f0f8d0 100644 --- a/crypto/openssl/include/crypto/bn_conf.h +++ b/crypto/openssl/include/crypto/bn_conf.h @@ -27,3 +27,30 @@ #undef THIRTY_TWO_BIT #endif + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_BN_CONF_H__ +#define __FREEBSD_BN_CONF_H__ + +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT + +# if __SIZEOF_LONG__ == 8 +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif + +#endif /* __FREEBSD_BN_CONF_H__ */ diff --git a/crypto/openssl/include/openssl/configuration.h b/crypto/openssl/include/openssl/configuration.h index 9fd68f770a1a..b4d8283a8b98 100644 --- a/crypto/openssl/include/openssl/configuration.h +++ b/crypto/openssl/include/openssl/configuration.h @@ -34,6 +34,9 @@ extern "C" { # ifndef OPENSSL_THREADS # define OPENSSL_THREADS # endif +# ifndef OPENSSL_NO_ACVP_TESTS +# define OPENSSL_NO_ACVP_TESTS +# endif # ifndef OPENSSL_NO_AFALGENG # define OPENSSL_NO_AFALGENG # endif @@ -67,6 +70,12 @@ extern "C" { # ifndef OPENSSL_NO_FIPS_JITTER # define OPENSSL_NO_FIPS_JITTER # endif +# ifndef OPENSSL_NO_FIPS_POST +# define OPENSSL_NO_FIPS_POST +# endif +# ifndef OPENSSL_NO_FIPS_SECURITYCHECKS +# define OPENSSL_NO_FIPS_SECURITYCHECKS +# endif # ifndef OPENSSL_NO_FUZZ_AFL # define OPENSSL_NO_FUZZ_AFL # endif @@ -85,9 +94,6 @@ extern "C" { # ifndef OPENSSL_NO_JITTER # define OPENSSL_NO_JITTER # endif -# ifndef OPENSSL_NO_KTLS -# define OPENSSL_NO_KTLS -# endif # ifndef OPENSSL_NO_MD2 # define OPENSSL_NO_MD2 # endif @@ -124,9 +130,6 @@ extern "C" { # ifndef OPENSSL_NO_TFO # define OPENSSL_NO_TFO # endif -# ifndef OPENSSL_NO_TLS_DEPRECATED_EC -# define OPENSSL_NO_TLS_DEPRECATED_EC -# endif # ifndef OPENSSL_NO_TRACE # define OPENSSL_NO_TRACE # endif @@ -189,3 +192,41 @@ extern "C" { # endif #endif /* OPENSSL_CONFIGURATION_H */ + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_CONFIGURATION_H__ +#define __FREEBSD_CONFIGURATION_H__ + +# undef OPENSSL_NO_EC_NISTP_64_GCC_128 +# if __SIZEOF_LONG__ == 4 || __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +# endif +# endif + +# undef BN_LLONG +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# if !defined(OPENSSL_SYS_UEFI) +# if __SIZEOF_LONG__ == 8 +# undef BN_LLONG +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# define BN_LLONG +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif +# endif + +#endif /* __FREEBSD_CONFIGURATION_H__ */ diff --git a/crypto/openssl/include/openssl/fipskey.h b/crypto/openssl/include/openssl/fipskey.h index 929db18c6783..620812bf0a5f 100644 --- a/crypto/openssl/include/openssl/fipskey.h +++ b/crypto/openssl/include/openssl/fipskey.h @@ -32,7 +32,7 @@ extern "C" { /* * The FIPS provider vendor name, as a string. */ -#define FIPS_VENDOR "OpenSSL FIPS Provider" +#define FIPS_VENDOR "OpenSSL non-compliant FIPS Provider" # ifdef __cplusplus } diff --git a/crypto/openssl/include/openssl/opensslv.h b/crypto/openssl/include/openssl/opensslv.h index 4660b937298f..dd50d89cb998 100644 --- a/crypto/openssl/include/openssl/opensslv.h +++ b/crypto/openssl/include/openssl/opensslv.h @@ -57,7 +57,7 @@ extern "C" { * be related to the API version expressed with the macros above. * This is defined in free form. */ -# define OPENSSL_SHLIB_VERSION 17 +# define OPENSSL_SHLIB_VERSION 3 /* * SECTION 2: USEFUL MACROS diff --git a/crypto/openssl/libcrypto.pc b/crypto/openssl/libcrypto.pc new file mode 100644 index 000000000000..97725059adfb --- /dev/null +++ b/crypto/openssl/libcrypto.pc @@ -0,0 +1,13 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix} +includedir=${prefix}/include ${prefix}/./include +enginesdir=${libdir}/engines +modulesdir=${libdir}/providers + +Name: OpenSSL-libcrypto +Description: OpenSSL cryptography library +Version: 3.5.1 +Libs: -L${libdir} -lcrypto +Libs.private: -pthread +Cflags: -I${prefix}/include -I${prefix}/./include diff --git a/crypto/openssl/libssl.pc b/crypto/openssl/libssl.pc new file mode 100644 index 000000000000..e2662ee9e5fa --- /dev/null +++ b/crypto/openssl/libssl.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix} +includedir=${prefix}/include ${prefix}/./include + +Name: OpenSSL-libssl +Description: Secure Sockets Layer and cryptography libraries +Version: 3.5.1 +Requires.private: libcrypto +Libs: -L${libdir} -lssl +Cflags: -I${prefix}/include -I${prefix}/./include diff --git a/crypto/openssl/openssl.pc b/crypto/openssl/openssl.pc new file mode 100644 index 000000000000..ff0a0c2f4e09 --- /dev/null +++ b/crypto/openssl/openssl.pc @@ -0,0 +1,9 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix} +includedir=${prefix}/include ${prefix}/./include + +Name: OpenSSL +Description: Secure Sockets Layer and cryptography libraries and tools +Version: 3.5.1 +Requires: libssl libcrypto diff --git a/crypto/openssl/tools/c_rehash b/crypto/openssl/tools/c_rehash index 2377b88ceda9..f3fbdae831d9 100755 --- a/crypto/openssl/tools/c_rehash +++ b/crypto/openssl/tools/c_rehash @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl +#!/usr/bin/env perl # WARNING: do not edit! # Generated by Makefile from tools/c_rehash.in @@ -12,8 +12,8 @@ # Perl c_rehash script, scan all files in a directory # and add symbolic links to their hash values. -my $dir = "/usr/local/openssl"; -my $prefix = "/usr/local"; +my $dir = "etc"; +my $prefix = "/usr"; my $errorcount = 0; my $openssl = $ENV{OPENSSL} || "openssl"; diff --git a/crypto/openssl/util/shlib_wrap.sh b/crypto/openssl/util/shlib_wrap.sh index 8b70f5048835..6754c25b9808 100755 --- a/crypto/openssl/util/shlib_wrap.sh +++ b/crypto/openssl/util/shlib_wrap.sh @@ -25,8 +25,8 @@ fi THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.." [ -d "${THERE}" ] || exec "$@" # should never happen... -LIBCRYPTOSO="${THERE}/libcrypto.so.17" -LIBSSLSO="${THERE}/libssl.so.17" +LIBCRYPTOSO="${THERE}/libcrypto.so.3" +LIBSSLSO="${THERE}/libssl.so.3" SYSNAME=`(uname -s) 2>/dev/null`; case "$SYSNAME" in diff --git a/crypto/openssl/util/wrap.pl b/crypto/openssl/util/wrap.pl index 5d6af0a688a8..a2ebf25f3d93 100755 --- a/crypto/openssl/util/wrap.pl +++ b/crypto/openssl/util/wrap.pl @@ -1,4 +1,4 @@ -#! /usr/local/bin/perl +#! /usr/bin/env perl use strict; use warnings; @@ -9,7 +9,7 @@ use File::Spec::Functions; BEGIN { # This method corresponds exactly to 'use OpenSSL::Util', # but allows us to use a platform specific file spec. - require '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/util/perl/OpenSSL/Util.pm'; + require '/usr/home/ngie/git/freebsd-src/crypto/openssl/util/perl/OpenSSL/Util.pm'; OpenSSL::Util->import(); } @@ -53,14 +53,14 @@ my $unix_shlib_wrap = catfile($there, 'util/shlib_wrap.sh'); my $std_openssl_conf_include; if ($ARGV[0] eq '-fips') { - $std_openssl_conf = '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/test/fips-and-base.cnf'; + $std_openssl_conf = '/usr/home/ngie/git/freebsd-src/crypto/openssl/test/fips-and-base.cnf'; shift; $std_openssl_conf_include = catdir($there, 'providers'); } if ($ARGV[0] eq '-jitter') { - $std_openssl_conf = '/home/khorben/Projects/FreeBSD/ports/security/openssl35/work/openssl-3.5.1/test/default-and-jitter.cnf'; + $std_openssl_conf = '/usr/home/ngie/git/freebsd-src/crypto/openssl/test/default-and-jitter.cnf'; shift; $std_openssl_conf_include = catdir($there, 'providers'); diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index 55e1687b58cf..f0ed4a5f3651 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -1,8 +1,7 @@ .include <bsd.own.mk> # OpenSSL version used for manual page generation -OPENSSL_VER= 3.5.0 -OPENSSL_DATE= 2025-07-01 +.include "Makefile.version" LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc diff --git a/secure/lib/libcrypto/Makefile.version b/secure/lib/libcrypto/Makefile.version new file mode 100644 index 000000000000..e802a1f11618 --- /dev/null +++ b/secure/lib/libcrypto/Makefile.version @@ -0,0 +1,2 @@ +OPENSSL_VER= 3.5.1 +OPENSSL_DATE= 2025-07-01 diff --git a/secure/lib/libssl/Makefile b/secure/lib/libssl/Makefile index 45f23c9e9ca2..682c7bbc2693 100644 --- a/secure/lib/libssl/Makefile +++ b/secure/lib/libssl/Makefile @@ -73,6 +73,8 @@ SRCS+= rio_notifier.c poll_builder.c .if ${MK_OPENSSL_KTLS} == "no" CFLAGS+=-DOPENSSL_NO_KTLS +.else +SRCS+= ktls_meth.c .endif LIBADD= crypto diff --git a/share/man/man4/tap.4 b/share/man/man4/tap.4 index 95a681a923d2..a4fe98cdfecf 100644 --- a/share/man/man4/tap.4 +++ b/share/man/man4/tap.4 @@ -203,6 +203,21 @@ The argument should be a pointer to a The interface name will be returned in the .Va ifr_name field. +.It Dv TAPSTRANSIENT +The argument should be a pointer to an +.Va int ; +this sets the transient flag on +the +.Nm +device. +A transient +.Nm +will be destroyed upon last close. +.It Dv TAPGTRANSIENT +The argument should be a pointer to an +.Va int ; +this stores the current state (enabled or disabled) of the transient flag into +it. .It Dv FIONBIO Turn non-blocking I/O for reads off or on, according as the argument .Va int Ns 's diff --git a/share/man/man4/tun.4 b/share/man/man4/tun.4 index 58f67cb20acb..1c5bd35f0ab8 100644 --- a/share/man/man4/tun.4 +++ b/share/man/man4/tun.4 @@ -282,6 +282,21 @@ The argument should be a pointer to an the ioctl sets the value to one if the device is in .Dq multi-af mode, and zero otherwise. +.It Dv TUNSTRANSIENT +The argument should be a pointer to an +.Va int ; +this sets the transient flag on +the +.Nm +device. +A transient +.Nm +will be destroyed upon last close. +.It Dv TUNGTRANSIENT +The argument should be a pointer to an +.Va int ; +this stores the current state (enabled or disabled) of the transient flag into +it. .It Dv FIONBIO Turn non-blocking I/O for reads off or on, according as the argument .Vt int Ns 's diff --git a/share/man/man4/umb.4 b/share/man/man4/umb.4 index 7ecc9a39c1ca..311a50faf8e7 100644 --- a/share/man/man4/umb.4 +++ b/share/man/man4/umb.4 @@ -17,34 +17,34 @@ .\" .\" $NetBSD: umb.4,v 1.4 2019/08/30 09:22:17 wiz Exp $ .\" -.Dd May 11, 2025 +.Dd August 4, 2025 .Dt UMB 4 .Os .Sh NAME .Nm umb .Nd USB Mobile Broadband Interface Model (MBIM) cellular modem driver .Sh SYNOPSIS -To compile this driver into the kernel, -place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent +.Cd "device netmap" .Cd "device usb" .Cd "device umb" -.Ed .Pp -Alternatively, to load the driver as a -module at boot time, place the following line in +In .Xr loader.conf 5 : -.Bd -literal -offset indent -umb_load="YES" -.Ed -.Pp -If neither of the above is done, the driver will automatically be loaded -by devd(8) when the device is connected. +.Cd umb_load="YES" .Sh DESCRIPTION The .Nm driver provides support for USB MBIM devices. +If the appropriate hardware is detected, +the driver will be loaded automatically by +.Xr devmatch 8 . +To load the driver manually, +.Cm load +it in +.Xr loader.conf 5 +or at the +.Xr loader 8 +prompt. .Pp MBIM devices establish connections via cellular networks such as GPRS, UMTS, and LTE. diff --git a/share/mk/Makefile b/share/mk/Makefile index 4ab5c8cc314b..0e786b381fe2 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -22,6 +22,7 @@ FILES= \ bsd.confs.mk \ bsd.cpu.mk \ bsd.crunchgen.mk \ + bsd.debug.mk \ bsd.dep.mk \ bsd.dirs.mk \ bsd.doc.mk \ diff --git a/share/mk/bsd.README b/share/mk/bsd.README index 4820bf12c72d..89ee8527895e 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -20,6 +20,7 @@ bsd.compiler.mk - defined based on current compiler bsd.confs.mk - install of configuration files bsd.cpu.mk - sets CPU/arch-related variables (included from sys.mk) bsd.crunchgen.mk - building crunched binaries using crunchgen(1) +bsd.debug.mk - handling debug options for bsd.{prog,lib}.mk bsd.dep.mk - handle Makefile dependencies bsd.dirs.mk - handle directory creation bsd.doc.mk - building troff system documents diff --git a/share/mk/bsd.debug.mk b/share/mk/bsd.debug.mk new file mode 100644 index 000000000000..cf2fb4356aef --- /dev/null +++ b/share/mk/bsd.debug.mk @@ -0,0 +1,68 @@ +# +# This file configures debug options for compiled targets. It is meant +# to consolidate common logic in bsd.prog.mk and bsd.lib.mk. It should +# not be included directly by Makefiles. +# + +.include <bsd.opts.mk> + +.if ${MK_ASSERT_DEBUG} == "no" +CFLAGS+= -DNDEBUG +# XXX: shouldn't we ensure that !asserts marks potentially unused variables as +# __unused instead of disabling -Werror globally? +MK_WERROR= no +.endif + +# If reproducible build mode is enabled, map the root of the source +# directory to /usr/src and the root of the object directory to +# /usr/obj. +.if ${MK_REPRODUCIBLE_BUILD} != "no" && !defined(DEBUG_PREFIX) +.if defined(SRCTOP) +DEBUG_PREFIX+= ${SRCTOP:S,/$,,}=/usr/src +.endif +.if defined(OBJROOT) +# Strip off compat subdirectories, e.g., /usr/obj/usr/src/amd64.amd64/obj-lib32 +# becomes /usr/obj/usr/src/amd64.amd64, since object files compiled there might +# refer to something outside the root. +DEBUG_PREFIX+= ${OBJROOT:S,/$,,:C,/obj-[^/]*$,,}=/usr/obj +.endif +.endif + +.if defined(DEBUG_PREFIX) +.for map in ${DEBUG_PREFIX} +CFLAGS+= -ffile-prefix-map=${map} +CXXFLAGS+= -ffile-prefix-map=${map} +.endfor +.endif + +.if defined(DEBUG_FLAGS) +CFLAGS+=${DEBUG_FLAGS} +CXXFLAGS+=${DEBUG_FLAGS} + +.if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != "" +CTFFLAGS+= -g +.endif +.else +STRIP?= -s +.endif + +.if ${MK_DEBUG_FILES} != "no" && empty(DEBUG_FLAGS:M-g) && \ + empty(DEBUG_FLAGS:M-gdwarf*) +.if !${COMPILER_FEATURES:Mcompressed-debug} +CFLAGS+= ${DEBUG_FILES_CFLAGS:N-gz*} +CXXFLAGS+= ${DEBUG_FILES_CFLAGS:N-gz*} +.else +CFLAGS+= ${DEBUG_FILES_CFLAGS} +CXXFLAGS+= ${DEBUG_FILES_CFLAGS} +.endif +CTFFLAGS+= -g +.endif + +_debuginstall: +.if ${MK_DEBUG_FILES} != "no" && defined(DEBUGFILE) +.if defined(DEBUGMKDIR) + ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dbg} -d ${DESTDIR}${DEBUGFILEDIR}/ +.endif + ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dbg} -o ${DEBUGOWN} -g ${DEBUGGRP} -m ${DEBUGMODE} \ + ${DEBUGFILE} ${DESTDIR}${DEBUGFILEDIR}/${DEBUGFILE} +.endif diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 3013f32c2b36..fa851984df91 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -1,4 +1,3 @@ - .include <bsd.init.mk> .include <bsd.compiler.mk> .include <bsd.linker.mk> @@ -45,23 +44,6 @@ SONAME?= ${SHLIB_NAME} CFLAGS+= ${CRUNCH_CFLAGS} .endif -.if ${MK_ASSERT_DEBUG} == "no" -CFLAGS+= -DNDEBUG -# XXX: shouldn't we ensure that !asserts marks potentially unused variables as -# __unused instead of disabling -Werror globally? -MK_WERROR= no -.endif - -.if defined(DEBUG_FLAGS) -CFLAGS+= ${DEBUG_FLAGS} - -.if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != "" -CTFFLAGS+= -g -.endif -.else -STRIP?= -s -.endif - .for _libcompat in ${_ALL_libcompats} .if ${SHLIBDIR:M*/lib${_libcompat}} || ${SHLIBDIR:M*/lib${_libcompat}/*} TAGS+= lib${_libcompat} @@ -130,18 +112,6 @@ CXXFLAGS+= -fzero-call-used-regs=${ZEROREG_TYPE} # bsd.sanitizer.mk is not installed, so don't require it (e.g. for ports). .sinclude "bsd.sanitizer.mk" -.if ${MK_DEBUG_FILES} != "no" && empty(DEBUG_FLAGS:M-g) && \ - empty(DEBUG_FLAGS:M-gdwarf*) -.if !${COMPILER_FEATURES:Mcompressed-debug} -CFLAGS+= ${DEBUG_FILES_CFLAGS:N-gz*} -CXXFLAGS+= ${DEBUG_FILES_CFLAGS:N-gz*} -.else -CFLAGS+= ${DEBUG_FILES_CFLAGS} -CXXFLAGS+= ${DEBUG_FILES_CFLAGS} -.endif -CTFFLAGS+= -g -.endif - .if ${MACHINE_CPUARCH} == "riscv" && ${LINKER_FEATURES:Mriscv-relaxations} == "" CFLAGS += -mno-relax .endif @@ -156,6 +126,7 @@ _SHLIBDIR:=${SHLIBDIR} .if defined(SHLIB_NAME) .if ${MK_DEBUG_FILES} != "no" SHLIB_NAME_FULL=${SHLIB_NAME}.full +DEBUGFILE= ${SHLIB_NAME}.debug # Use ${DEBUGDIR} for base system debug files, else .debug subdirectory .if ${_SHLIBDIR} == "/boot" ||\ ${SHLIBDIR:C%/lib(/.*)?$%/lib%} == "/lib" ||\ @@ -272,16 +243,16 @@ ${SHLIB_NAME_FULL}: ${SOBJS} .endif .if ${MK_DEBUG_FILES} != "no" -CLEANFILES+= ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug -${SHLIB_NAME}: ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug - ${OBJCOPY} --strip-debug --add-gnu-debuglink=${SHLIB_NAME}.debug \ +CLEANFILES+= ${SHLIB_NAME_FULL} ${DEBUGFILE} +${SHLIB_NAME}: ${SHLIB_NAME_FULL} ${DEBUGFILE} + ${OBJCOPY} --strip-debug --add-gnu-debuglink=${DEBUGFILE} \ ${SHLIB_NAME_FULL} ${.TARGET} .if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld) # Note: This uses ln instead of ${INSTALL_LIBSYMLINK} since we are in OBJDIR @${LN:Uln} -fs ${SHLIB_NAME} ${SHLIB_LINK} .endif -${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} +${DEBUGFILE}: ${SHLIB_NAME_FULL} ${OBJCOPY} --only-keep-debug ${SHLIB_NAME_FULL} ${.TARGET} .endif .endif #defined(SHLIB_NAME) @@ -392,8 +363,8 @@ installpcfiles-${pcfile}: ${pcfile} installpcfiles: .PHONY .if !defined(INTERNALLIB) -realinstall: _libinstall installpcfiles -.ORDER: beforeinstall _libinstall +realinstall: _libinstall installpcfiles _debuginstall +.ORDER: beforeinstall _libinstall _debuginstall _libinstall: .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no" ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ @@ -403,14 +374,6 @@ _libinstall: ${INSTALL} ${TAG_ARGS} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}/ -.if ${MK_DEBUG_FILES} != "no" -.if defined(DEBUGMKDIR) - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dbg} -d ${DESTDIR}${DEBUGFILEDIR}/ -.endif - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dbg} -o ${LIBOWN} -g ${LIBGRP} -m ${DEBUGMODE} \ - ${_INSTALLFLAGS} \ - ${SHLIB_NAME}.debug ${DESTDIR}${DEBUGFILEDIR}/ -.endif .if defined(SHLIB_LINK) .if commands(${SHLIB_LINK:R}.ld) ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -S -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ @@ -501,6 +464,7 @@ SUBDIR_TARGETS+= check TESTS_LD_LIBRARY_PATH+= ${.OBJDIR} .endif +.include <bsd.debug.mk> .include <bsd.dep.mk> .include <bsd.clang-analyze.mk> .include <bsd.obj.mk> diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk index 85247d733a14..439924d0d596 100644 --- a/share/mk/bsd.opts.mk +++ b/share/mk/bsd.opts.mk @@ -78,6 +78,7 @@ __DEFAULT_NO_OPTIONS = \ CCACHE_BUILD \ CTF \ INSTALL_AS_USER \ + REPRODUCIBLE_BUILD \ RETPOLINE \ RUN_TESTS \ STALE_STAGED \ diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 00a048fedc1d..4dffe9723a9e 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -44,6 +44,10 @@ # # DEBUGMODE Mode for debug files. [${NOBINMODE}] # +# DEBUGOWN Owner for debug info files. [root] +# +# DEBUGGRP Group for debug info files. [wheel] +# # # KMODDIR Base path for loadable kernel modules # (see kld(4)). [/boot/modules] @@ -197,7 +201,8 @@ LIBMODE?= ${NOBINMODE} DEBUGDIR?= /usr/lib/debug DEBUGMODE?= ${NOBINMODE} - +DEBUGOWN?= ${BINOWN} +DEBUGGRP?= ${BINGRP} # Share files SHAREDIR?= /usr/share diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 9350d4786cec..10e1c177e2b2 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -12,22 +12,6 @@ CFLAGS+=${COPTS} .endif -.if ${MK_ASSERT_DEBUG} == "no" -CFLAGS+= -DNDEBUG -# XXX: shouldn't we ensure that !asserts marks potentially unused variables as -# __unused instead of disabling -Werror globally? -MK_WERROR= no -.endif - -.if defined(DEBUG_FLAGS) -CFLAGS+=${DEBUG_FLAGS} -CXXFLAGS+=${DEBUG_FLAGS} - -.if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != "" -CTFFLAGS+= -g -.endif -.endif - .if defined(PROG_CXX) PROG= ${PROG_CXX} .endif @@ -109,20 +93,6 @@ CFLAGS += -mno-relax .if defined(CRUNCH_CFLAGS) CFLAGS+=${CRUNCH_CFLAGS} -.else -.if ${MK_DEBUG_FILES} != "no" && empty(DEBUG_FLAGS:M-g) && \ - empty(DEBUG_FLAGS:M-gdwarf-*) -.if !${COMPILER_FEATURES:Mcompressed-debug} -CFLAGS+= ${DEBUG_FILES_CFLAGS:N-gz*} -.else -CFLAGS+= ${DEBUG_FILES_CFLAGS} -.endif -CTFFLAGS+= -g -.endif -.endif - -.if !defined(DEBUG_FLAGS) -STRIP?= -s .endif .if defined(NO_ROOT) @@ -159,6 +129,9 @@ PROG_FULL= ${PROG} .if defined(PROG) PROGNAME?= ${PROG} +.if ${MK_DEBUG_FILES} != "no" +DEBUGFILE= ${PROGNAME}.debug +.endif .if defined(SRCS) @@ -223,11 +196,12 @@ ${PROG_FULL}: ${OBJS} .endif # !defined(SRCS) .if ${MK_DEBUG_FILES} != "no" -${PROG}: ${PROG_FULL} ${PROGNAME}.debug - ${OBJCOPY} --strip-debug --add-gnu-debuglink=${PROGNAME}.debug \ +CLEANFILES+= ${PROG_FULL} ${DEBUGFILE} +${PROG}: ${PROG_FULL} ${DEBUGFILE} + ${OBJCOPY} --strip-debug --add-gnu-debuglink=${DEBUGFILE} \ ${PROG_FULL} ${.TARGET} -${PROGNAME}.debug: ${PROG_FULL} +${DEBUGFILE}: ${PROG_FULL} ${OBJCOPY} --only-keep-debug ${PROG_FULL} ${.TARGET} .endif @@ -266,9 +240,6 @@ all: all-man .if defined(PROG) CLEANFILES+= ${PROG} ${PROG}.bc ${PROG}.ll -.if ${MK_DEBUG_FILES} != "no" -CLEANFILES+= ${PROG_FULL} ${PROGNAME}.debug -.endif .endif .if defined(OBJS) @@ -308,19 +279,12 @@ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} .endfor .if !target(realinstall) && !defined(INTERNALPROG) -realinstall: _proginstall -.ORDER: beforeinstall _proginstall +realinstall: _proginstall _debuginstall +.ORDER: beforeinstall _proginstall _debuginstall _proginstall: .if defined(PROG) ${INSTALL} ${TAG_ARGS} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME} -.if ${MK_DEBUG_FILES} != "no" -.if defined(DEBUGMKDIR) - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dbg} -d ${DESTDIR}${DEBUGFILEDIR}/ -.endif - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dbg} -o ${BINOWN} -g ${BINGRP} -m ${DEBUGMODE} \ - ${PROGNAME}.debug ${DESTDIR}${DEBUGFILEDIR}/${PROGNAME}.debug -.endif .endif .endif # !target(realinstall) @@ -391,6 +355,7 @@ TESTS_PATH+= ${.OBJDIR} OBJS_DEPEND_GUESS+= ${SRCS:M*.h} .endif +.include <bsd.debug.mk> .include <bsd.dep.mk> .include <bsd.clang-analyze.mk> .include <bsd.obj.mk> diff --git a/stand/common/dev_net.c b/stand/common/dev_net.c index 964fa514cac5..d1c48d40691a 100644 --- a/stand/common/dev_net.c +++ b/stand/common/dev_net.c @@ -66,6 +66,10 @@ #include "dev_net.h" #include "bootstrap.h" +#ifndef NETPROTO_DEFAULT +# define NETPROTO_DEFAULT NET_NFS +#endif + static char *netdev_name; static int netdev_sock = -1; static int netdev_opens; @@ -182,6 +186,7 @@ net_open(struct open_file *f, ...) setenv("boot.netif.mtu", mtu, 1); } + DEBUG_PRINTF(1,("%s: netproto=%d\n", __func__, netproto)); } netdev_opens++; dev->d_opendata = &netdev_sock; @@ -193,7 +198,7 @@ net_close(struct open_file *f) { struct devdesc *dev; - DEBUG_PRINTF(1,("%s: opens=%d\n", __func__, netdev_opens)); + DEBUG_PRINTF(2,("%s: opens=%d\n", __func__, netdev_opens)); dev = f->f_devdata; dev->d_opendata = NULL; @@ -303,7 +308,7 @@ net_getparams(int sock) return (EIO); } exit: - if ((rootaddr = net_parse_rootpath()) != INADDR_NONE) + if ((rootaddr = net_parse_rootpath()) != htonl(INADDR_NONE)) rootip.s_addr = rootaddr; DEBUG_PRINTF(1,("%s: proto: %d\n", __func__, netproto)); @@ -344,11 +349,17 @@ net_print(int verbose) return (ret); } +bool +is_tftp(void) +{ + return (netproto == NET_TFTP); +} + /* * Parses the rootpath if present * * The rootpath format can be in the form - * <scheme>://ip/path + * <scheme>://ip[:port]/path * <scheme>:/path * * For compatibility with previous behaviour it also accepts as an NFS scheme @@ -363,10 +374,10 @@ net_print(int verbose) uint32_t net_parse_rootpath(void) { - n_long addr = htonl(INADDR_NONE); + n_long addr = 0; size_t i; char ip[FNAME_SIZE]; - char *ptr, *val; + char *ptr, *portp, *val; netproto = NET_NONE; @@ -381,7 +392,7 @@ net_parse_rootpath(void) ptr = rootpath; /* Fallback for compatibility mode */ if (netproto == NET_NONE) { - netproto = NET_NFS; + netproto = NETPROTO_DEFAULT; (void)strsep(&ptr, ":"); if (ptr != NULL) { addr = inet_addr(rootpath); @@ -394,16 +405,21 @@ net_parse_rootpath(void) if (*ptr == '/') { /* we are in the form <scheme>://, we do expect an ip */ ptr++; - /* - * XXX when http will be there we will need to check for - * a port, but right now we do not need it yet - */ + portp = val = strchr(ptr, ':'); + if (val != NULL) { + val++; + rootport = strtol(val, NULL, 10); + } val = strchr(ptr, '/'); if (val != NULL) { + if (portp == NULL) + portp = val; snprintf(ip, sizeof(ip), "%.*s", - (int)((uintptr_t)val - (uintptr_t)ptr), + (int)(portp - ptr), ptr); addr = inet_addr(ip); + DEBUG_PRINTF(1,("ip=%s addr=%#x\n", + ip, addr)); bcopy(val, rootpath, strlen(val) + 1); } } else { @@ -411,6 +427,7 @@ net_parse_rootpath(void) bcopy(ptr, rootpath, strlen(ptr) + 1); } } - + if (addr == 0) + addr = htonl(INADDR_NONE); return (addr); } diff --git a/stand/common/misc.c b/stand/common/misc.c index 402213100951..a7c46ad2e74c 100644 --- a/stand/common/misc.c +++ b/stand/common/misc.c @@ -220,3 +220,16 @@ set_currdev(const char *devname) env_setenv("loaddev", EV_VOLATILE | EV_NOHOOK, devname, env_noset, env_nounset); } + +#ifndef LOADER_NET_SUPPORT +/* + * This api is normally provided by dev_net.c + * This stub keeps libsa happy when LOADER_NET_SUPPORT + * is not enabled. + */ +bool +is_tftp(void) +{ + return false; +} +#endif diff --git a/stand/defs.mk b/stand/defs.mk index 8ef84267b198..eb4133b604eb 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -207,6 +207,8 @@ LOADER_INTERP?=${LOADER_DEFAULT_INTERP} # Make sure we use the machine link we're about to create CFLAGS+=-I. +.include "${BOOTSRC}/veriexec.mk" + all: ${PROG} CLEANFILES+= teken_state.h diff --git a/stand/libsa/bzipfs.c b/stand/libsa/bzipfs.c index f4002796f0ae..ff7ec16e7dc6 100644 --- a/stand/libsa/bzipfs.c +++ b/stand/libsa/bzipfs.c @@ -68,6 +68,7 @@ static int bzf_stat(struct open_file *f, struct stat *sb); #ifndef REGRESSION struct fs_ops bzipfs_fsops = { .fs_name = "bzip", + .fs_flags = 0, .fo_open = bzf_open, .fo_close = bzf_close, .fo_read = bzf_read, diff --git a/stand/libsa/cd9660.c b/stand/libsa/cd9660.c index 973a7dddcda9..d1da39aa479a 100644 --- a/stand/libsa/cd9660.c +++ b/stand/libsa/cd9660.c @@ -81,6 +81,7 @@ static ISO_SUSP_HEADER *susp_lookup_record(struct open_file *f, struct fs_ops cd9660_fsops = { .fs_name = "cd9660", + .fs_flags = 0, .fo_open = cd9660_open, .fo_close = cd9660_close, .fo_read = cd9660_read, diff --git a/stand/libsa/dosfs.c b/stand/libsa/dosfs.c index aca198cdf6fa..38610d917007 100644 --- a/stand/libsa/dosfs.c +++ b/stand/libsa/dosfs.c @@ -61,6 +61,7 @@ static int dos_unmount(const char *dev, void *data); struct fs_ops dosfs_fsops = { .fs_name = "dosfs", + .fs_flags = 0, .fo_open = dos_open, .fo_close = dos_close, .fo_read = dos_read, diff --git a/stand/libsa/ext2fs.c b/stand/libsa/ext2fs.c index 47812f4543a1..f7096282f156 100644 --- a/stand/libsa/ext2fs.c +++ b/stand/libsa/ext2fs.c @@ -106,6 +106,7 @@ static int dtmap[] = { DT_UNKNOWN, DT_REG, DT_DIR, DT_CHR, struct fs_ops ext2fs_fsops = { .fs_name = "ext2fs", + .fs_flags = 0, .fo_open = ext2fs_open, .fo_close = ext2fs_close, .fo_read = ext2fs_read, diff --git a/stand/libsa/globals.c b/stand/libsa/globals.c index 2797045d4faf..6bd3a4243d73 100644 --- a/stand/libsa/globals.c +++ b/stand/libsa/globals.c @@ -17,6 +17,7 @@ u_char bcea[6] = BA; /* broadcast ethernet address */ char rootpath[FNAME_SIZE] = "/"; /* root mount path */ +int rootport; /* port for rootpath server */ char bootfile[FNAME_SIZE]; /* bootp says to boot this */ char hostname[FNAME_SIZE]; /* our hostname */ int hostnamelen; diff --git a/stand/libsa/gzipfs.c b/stand/libsa/gzipfs.c index 6c2b8cac9e34..6b22f750f3ef 100644 --- a/stand/libsa/gzipfs.c +++ b/stand/libsa/gzipfs.c @@ -50,6 +50,7 @@ static int zf_stat(struct open_file *f, struct stat *sb); struct fs_ops gzipfs_fsops = { .fs_name = "zip", + .fs_flags = 0, .fo_open = zf_open, .fo_close = zf_close, .fo_read = zf_read, diff --git a/stand/libsa/libsa.3 b/stand/libsa/libsa.3 index 3e3f70610516..0947f97a0a1f 100644 --- a/stand/libsa/libsa.3 +++ b/stand/libsa/libsa.3 @@ -781,6 +781,10 @@ The same as but for .Xr bzip2 1 Ns -compressed files. +.It Va pkgfs_fsops +File access from a tar file typically streamed via TFTP. +The order of files in the tar file must match the order they are +to be consumed as rewind is not practical. .El .Pp The array of diff --git a/stand/libsa/mount.c b/stand/libsa/mount.c index 73bf6ab8118c..c866dc9c7055 100644 --- a/stand/libsa/mount.c +++ b/stand/libsa/mount.c @@ -107,7 +107,10 @@ mount(const char *dev, const char *path, int flags __unused, void *data) fs = file_system[i]; if (fs->fo_mount == NULL) continue; - + DEBUG_PRINTF(1,("%s: fs=%s path=%s\n", + __func__, fs->fs_name, path)); + if (is_tftp()) + break; if (fs->fo_mount(dev, path, &data) != 0) continue; diff --git a/stand/libsa/net.h b/stand/libsa/net.h index d4823d88f58b..945b6b9ea45f 100644 --- a/stand/libsa/net.h +++ b/stand/libsa/net.h @@ -75,6 +75,7 @@ enum net_proto { extern u_char bcea[6]; extern char rootpath[FNAME_SIZE]; +extern int rootport; extern char bootfile[FNAME_SIZE]; extern char hostname[FNAME_SIZE]; extern int hostnamelen; diff --git a/stand/libsa/nfs.c b/stand/libsa/nfs.c index ee6af8a726c7..f3e9060c9881 100644 --- a/stand/libsa/nfs.c +++ b/stand/libsa/nfs.c @@ -131,6 +131,7 @@ struct nfs_iodesc nfs_root_node; struct fs_ops nfs_fsops = { .fs_name = "nfs", + .fs_flags = 0, .fo_open = nfs_open, .fo_close = nfs_close, .fo_read = nfs_read, diff --git a/stand/libsa/open.c b/stand/libsa/open.c index ccee4aa5c07b..91848aca7dbe 100644 --- a/stand/libsa/open.c +++ b/stand/libsa/open.c @@ -138,6 +138,8 @@ open(const char *fname, int mode) struct fs_ops *fs; struct open_file *f; int fd, i, error, besterror; + bool is_dir; + size_t n; const char *file; TSENTER(); @@ -154,31 +156,42 @@ open(const char *fname, int mode) f->f_devdata = NULL; file = NULL; + if (exclusive_file_system == NULL || + (exclusive_file_system->fs_flags & FS_OPS_NO_DEVOPEN) == 0) { + error = devopen(f, fname, &file); + if (error || + (((f->f_flags & F_NODEV) == 0) && f->f_dev == NULL)) + goto err; + + /* see if we opened a raw device; otherwise, 'file' is the file name. */ + if (file == NULL || *file == '\0') { + f->f_flags |= F_RAW; + f->f_rabuf = NULL; + TSEXIT(); + return (fd); + } + } else + file = fname; + if (exclusive_file_system != NULL) { + /* loader is forcing the filesystem to be used */ fs = exclusive_file_system; - error = (fs->fo_open)(fname, f); + error = (fs->fo_open)(file, f); if (error == 0) goto ok; goto err; } - error = devopen(f, fname, &file); - if (error || - (((f->f_flags & F_NODEV) == 0) && f->f_dev == NULL)) - goto err; - - /* see if we opened a raw device; otherwise, 'file' is the file name. */ - if (file == NULL || *file == '\0') { - f->f_flags |= F_RAW; - f->f_rabuf = NULL; - TSEXIT(); - return (fd); - } - /* pass file name to the different filesystem open routines */ besterror = ENOENT; + n = strlen(file); + is_dir = (n > 0 && file[n - 1] == '/'); for (i = 0; file_system[i] != NULL; i++) { fs = file_system[i]; + if (is_dir && is_tftp()) { + error = EOPNOTSUPP; + goto err; + } error = (fs->fo_open)(file, f); if (error == 0) goto ok; diff --git a/stand/libsa/pkgfs.c b/stand/libsa/pkgfs.c index 32d488de5cfb..6eb3badf7068 100644 --- a/stand/libsa/pkgfs.c +++ b/stand/libsa/pkgfs.c @@ -41,6 +41,7 @@ static off_t pkg_atol(const char *, unsigned); struct fs_ops pkgfs_fsops = { .fs_name = "pkg", + .fs_flags = FS_OPS_NO_DEVOPEN, .fo_open = pkg_open, .fo_close = pkg_close, .fo_read = pkg_read, diff --git a/stand/libsa/splitfs.c b/stand/libsa/splitfs.c index 69912522000e..eb4b3a1feb11 100644 --- a/stand/libsa/splitfs.c +++ b/stand/libsa/splitfs.c @@ -50,6 +50,7 @@ static int splitfs_stat(struct open_file *f, struct stat *sb); struct fs_ops splitfs_fsops = { .fs_name = "split", + .fs_flags = 0, .fo_open = splitfs_open, .fo_close = splitfs_close, .fo_read = splitfs_read, diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 0e99d8778fa6..233d11ab3ecb 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -94,6 +94,8 @@ __BEGIN_DECLS struct open_file; +#define FS_OPS_NO_DEVOPEN 1 + /* * This structure is used to define file system operations in a file system * independent way. @@ -104,6 +106,7 @@ struct open_file; */ struct fs_ops { const char *fs_name; + int fs_flags; int (*fo_open)(const char *path, struct open_file *f); int (*fo_close)(struct open_file *f); int (*fo_read)(struct open_file *f, void *buf, @@ -504,6 +507,9 @@ extern void *reallocf(void *, size_t); */ caddr_t ptov(uintptr_t); +/* dev_net.c */ +bool is_tftp(void); + /* features.c */ typedef void (feature_iter_fn)(void *, const char *, const char *, bool); diff --git a/stand/libsa/tftp.c b/stand/libsa/tftp.c index c6cc8f11a765..656c402683bb 100644 --- a/stand/libsa/tftp.c +++ b/stand/libsa/tftp.c @@ -50,6 +50,10 @@ #include <netinet/in_systm.h> #include <arpa/tftp.h> +#ifdef LOADER_VERIEXEC +#include <verify_file.h> +#endif + #include <string.h> #include "stand.h" @@ -73,6 +77,7 @@ static int tftp_preload(struct open_file *); struct fs_ops tftp_fsops = { .fs_name = "tftp", + .fs_flags = 0, .fo_open = tftp_open, .fo_close = tftp_close, .fo_read = tftp_read, @@ -84,7 +89,6 @@ struct fs_ops tftp_fsops = { }; static int tftpport = 2000; -static int is_open = 0; /* * The legacy TFTP_BLKSIZE value was SEGSIZE(512). @@ -98,10 +102,14 @@ static int is_open = 0; * Jumbo frames in the future. */ #define TFTP_MAX_BLKSIZE 9008 -#define TFTP_TRIES 2 +#define TFTP_TRIES 3 struct tftp_handle { struct iodesc *iodesc; + struct iodesc io; + int id; + ino_t ino; + int port; int currblock; /* contents of lastdata */ unsigned int islastblock:1; /* flag */ unsigned int tries:4; /* number of read attempts */ @@ -177,6 +185,9 @@ tftp_sendack(struct tftp_handle *h, u_short block) wbuf.t.th_block = htons(block); wtail += 2; + DEBUG_PRINTF(5,("%s: myport=%hu xid=%lu, block=%hu\n", + __func__, h->iodesc->myport, h->iodesc->xid, block)); + sendudp(h->iodesc, &wbuf.t, wtail - (char *)&wbuf.t); } @@ -190,6 +201,7 @@ recvtftp(struct iodesc *d, void **pkt, void **payload, time_t tleft, void *ptr = NULL; ssize_t len; int tftp_error; + unsigned short block; errno = 0; extra = recv_extra; @@ -203,19 +215,22 @@ recvtftp(struct iodesc *d, void **pkt, void **payload, time_t tleft, } extra->rtype = ntohs(t->th_opcode); - switch (ntohs(t->th_opcode)) { + block = ntohs(t->th_block); + DEBUG_PRINTF(6,("%s: myport=%hu xid=%lu, block=%hu, opcode=%hu\n", + __func__, d->myport, d->xid, block, extra->rtype)); + switch (extra->rtype) { case DATA: { int got; - if (htons(t->th_block) < (u_short)d->xid) { + if (block < (u_short)d->xid) { /* * Apparently our ACK was missed, re-send. */ - tftp_sendack(h, htons(t->th_block)); + tftp_sendack(h, block); free(ptr); return (-1); } - if (htons(t->th_block) != (u_short)d->xid) { + if (block != (u_short)d->xid) { /* * Packet from the future, drop this. */ @@ -241,9 +256,7 @@ recvtftp(struct iodesc *d, void **pkt, void **payload, time_t tleft, printf("illegal tftp error %d\n", tftp_error); errno = EIO; } else { -#ifdef TFTP_DEBUG - printf("tftp-error %d\n", tftp_error); -#endif + DEBUG_PRINTF(0, ("tftp-error %d\n", tftp_error)); errno = tftperrors[tftp_error]; } free(ptr); @@ -284,9 +297,7 @@ recvtftp(struct iodesc *d, void **pkt, void **payload, time_t tleft, return (0); } default: -#ifdef TFTP_DEBUG - printf("tftp type %d not handled\n", ntohs(t->th_opcode)); -#endif + DEBUG_PRINTF(0, ("tftp type %hu not handled\n", extra->rtype)); free(ptr); return (-1); } @@ -343,7 +354,7 @@ tftp_makereq(struct tftp_handle *h) bcopy("0", wtail, 2); wtail += 2; - h->iodesc->myport = htons(tftpport + (getsecs() & 0x3ff)); + h->iodesc->myport = htons(h->port + (getsecs() & 0x3ff)); h->iodesc->destport = htons(IPPORT_TFTP); h->iodesc->xid = 1; /* expected block */ @@ -351,11 +362,15 @@ tftp_makereq(struct tftp_handle *h) h->islastblock = 0; h->validsize = 0; + DEBUG_PRINTF(5,("%s: %s: id=%d port=%d myport=%hu xid=1\n", + __func__, h->path, h->id, h->port, ntohs(h->iodesc->myport))); pkt = NULL; recv_extra.tftp_handle = h; res = sendrecv(h->iodesc, &sendudp, &wbuf.t, wtail - (char *)&wbuf.t, &recvtftp, &pkt, (void **)&t, &recv_extra); if (res == -1) { + DEBUG_PRINTF(3,("%s: %s: id=%d errno=%d\n", + __func__, h->path, h->id, errno)); free(pkt); return (errno); } @@ -410,12 +425,18 @@ tftp_getnextblock(struct tftp_handle *h) h->iodesc->xid = h->currblock + 1; /* expected block */ + DEBUG_PRINTF(5,("%s: %s: id=%d port=%d myport=%hu xid=%lu\n", + __func__, h->path, h->id, h->port, + ntohs(h->iodesc->myport), h->iodesc->xid)); + pkt = NULL; recv_extra.tftp_handle = h; res = sendrecv(h->iodesc, &sendudp, &wbuf.t, wtail - (char *)&wbuf.t, &recvtftp, &pkt, (void **)&t, &recv_extra); if (res == -1) { /* 0 is OK! */ + DEBUG_PRINTF(3,("%s: %s: id=%d errno=%d\n", + __func__, h->path, h->id, errno)); free(pkt); return (errno); } @@ -428,21 +449,32 @@ tftp_getnextblock(struct tftp_handle *h) if (res < h->tftp_blksize) h->islastblock = 1; /* EOF */ - if (h->islastblock == 1) { + DEBUG_PRINTF(5,("%s: %s: id=%d res=%d blksz=%d last=%d\n", + __func__, h->path, h->id, res, h->tftp_blksize, h->islastblock)); + + if (h->islastblock) { /* Send an ACK for the last block */ - wbuf.t.th_block = htons((u_short)h->currblock); - sendudp(h->iodesc, &wbuf.t, wtail - (char *)&wbuf.t); + tftp_sendack(h, h->currblock); } return (0); } +/* + * If doing verification we need to handle multiple + * files at the same time. + */ +#define TOPEN_MAX 8 +static struct tftp_handle *handles[TOPEN_MAX]; + static int tftp_open(const char *path, struct open_file *f) { struct devdesc *dev; struct tftp_handle *tftpfile; struct iodesc *io; + static int lx = 0; + int i, x; int res; size_t pathsize; const char *extraslash; @@ -450,24 +482,39 @@ tftp_open(const char *path, struct open_file *f) if (netproto != NET_TFTP) return (EINVAL); - if (f->f_dev->dv_type != DEVT_NET) + if (f->f_dev == NULL || f->f_dev->dv_type != DEVT_NET) return (EINVAL); - if (is_open) + tftpfile = NULL; + for (x = lx + 1, i = 0; i < TOPEN_MAX; i++, x++) { + x %= TOPEN_MAX; + if (handles[x] == NULL) { + handles[x] = tftpfile = calloc(1, sizeof(*tftpfile)); + if (tftpfile == NULL) + return (ENOMEM); + /* id allows us to clear the slot on close */ + tftpfile->id = lx = x; + /* port ensures a different session with server */ + tftpfile->port = (tftpport + (x * tftpport)) & 0xffff; + DEBUG_PRINTF(1, ("%s(%s) id=%d port=%d\n", + __func__, path, tftpfile->id, tftpfile->port)); + break; + } + } + if (tftpfile == NULL) { + DEBUG_PRINTF(1, ("%s: EBUSY\n", __func__)); return (EBUSY); - - tftpfile = calloc(1, sizeof(*tftpfile)); - if (!tftpfile) - return (ENOMEM); - + } tftpfile->tftp_blksize = TFTP_REQUESTED_BLKSIZE; dev = f->f_devdata; - tftpfile->iodesc = io = socktodesc(*(int *)(dev->d_opendata)); + io = socktodesc(*(int *)(dev->d_opendata)); if (io == NULL) { free(tftpfile); return (EINVAL); } + memcpy(&tftpfile->io, io, sizeof(tftpfile->io)); + io = tftpfile->iodesc = &tftpfile->io; io->destip = rootip; tftpfile->off = 0; pathsize = (strlen(rootpath) + 1 + strlen(path) + 1) * sizeof(char); @@ -480,8 +527,11 @@ tftp_open(const char *path, struct open_file *f) extraslash = ""; else extraslash = "/"; - res = snprintf(tftpfile->path, pathsize, "%s%s%s", - rootpath, extraslash, path); + if (rootpath[0] == '/' && rootpath[1] == '\0' && path[0] == '/') + res = strlcpy(tftpfile->path, path, pathsize); + else + res = snprintf(tftpfile->path, pathsize, "%s%s%s", + rootpath, extraslash, path); if (res < 0 || res > pathsize) { free(tftpfile->path); free(tftpfile); @@ -491,13 +541,13 @@ tftp_open(const char *path, struct open_file *f) res = tftp_makereq(tftpfile); if (res) { + handles[tftpfile->id] = NULL; free(tftpfile->path); free(tftpfile->pkt); free(tftpfile); return (res); } f->f_fsdata = tftpfile; - is_open = 1; return (0); } @@ -547,9 +597,7 @@ tftp_read(struct open_file *f, void *addr, size_t size, rc = tftp_getnextblock(tftpfile); if (rc) { /* no answer */ -#ifdef TFTP_DEBUG - printf("tftp: read error\n"); -#endif + DEBUG_PRINTF(0, ("tftp: read error\n")); if (tftpfile->tries > TFTP_TRIES) { return (rc); } else { @@ -568,10 +616,8 @@ tftp_read(struct open_file *f, void *addr, size_t size, inbuffer = tftpfile->validsize - offinblock; if (inbuffer < 0) { -#ifdef TFTP_DEBUG - printf("tftp: invalid offset %d\n", - tftpfile->off); -#endif + DEBUG_PRINTF(0, ("tftp: invalid offset %d\n", + tftpfile->off)); return (EINVAL); } count = (size < inbuffer ? size : inbuffer); @@ -586,15 +632,15 @@ tftp_read(struct open_file *f, void *addr, size_t size, if ((tftpfile->islastblock) && (count == inbuffer)) break; /* EOF */ } else { -#ifdef TFTP_DEBUG - printf("tftp: block %d not found\n", needblock); -#endif + DEBUG_PRINTF(0, ("tftp: block %d not found\n", needblock)); return (EINVAL); } } out: + DEBUG_PRINTF(4, ("%s(%s) res=%ld\n", __func__, tftpfile->path, + (tftpfile->tftp_tsize - tftpfile->off))); if (resid != NULL) *resid = res; return (rc); @@ -610,15 +656,18 @@ tftp_close(struct open_file *f) tftp_senderr(tftpfile, 0, "No error: file closed"); if (tftpfile) { + DEBUG_PRINTF(1, ("%s(%d): %s\n", __func__, + tftpfile->id, tftpfile->path)); + handles[tftpfile->id] = NULL; free(tftpfile->path); free(tftpfile->pkt); free(tftpfile->tftp_cache); free(tftpfile); } - is_open = 0; return (0); } + static int tftp_stat(struct open_file *f, struct stat *sb) { @@ -630,6 +679,29 @@ tftp_stat(struct open_file *f, struct stat *sb) sb->st_uid = 0; sb->st_gid = 0; sb->st_size = tftpfile->tftp_tsize; + sb->st_mtime = 0; +#ifdef LOADER_VERIEXEC + /* libsecureboot needs st_dev and st_ino at minimum; + * we need to fake something that will be close enough to + * unique. + */ + sb->st_dev = (dev_t)tftpfile->iodesc->destip.s_addr; + /* we don't want to compute this more than once */ + if (tftpfile->ino == 0) { + union { + unsigned char digest[SHA_DIGEST_LENGTH]; + ino_t ino; + } u; + + hash_string(tftpfile->path, 0, u.digest, sizeof(u.digest)); + + tftpfile->ino = u.ino & 0x7fffffff; + DEBUG_PRINTF(2,("%s(%s) dev=%lu ino=%lu\n", __func__, + tftpfile->path, (unsigned long)sb->st_dev, + (unsigned long)tftpfile->ino)); + } + sb->st_ino = tftpfile->ino; +#endif return (0); } @@ -827,9 +899,7 @@ tftp_parse_oack(struct tftp_handle *h, char *buf, size_t len) return (-1); } -#ifdef TFTP_DEBUG - printf("tftp_blksize: %u\n", h->tftp_blksize); - printf("tftp_tsize: %lu\n", h->tftp_tsize); -#endif + DEBUG_PRINTF(2, ("tftp_blksize: %u\n", h->tftp_blksize)); + DEBUG_PRINTF(2, ("tftp_tsize: %lu\n", h->tftp_tsize)); return (0); } diff --git a/stand/libsa/ufs.c b/stand/libsa/ufs.c index e1d540ed2321..86cd3be9a27a 100644 --- a/stand/libsa/ufs.c +++ b/stand/libsa/ufs.c @@ -93,6 +93,7 @@ static int ufs_unmount(const char *dev, void *data); struct fs_ops ufs_fsops = { .fs_name = "ufs", + .fs_flags = 0, .fo_open = ufs_open, .fo_close = ufs_close, .fo_read = ufs_read, diff --git a/stand/loader.mk b/stand/loader.mk index 0f2ff31a5343..4073e523e552 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -101,8 +101,6 @@ SRCS+= interp_simple.c .error Unknown interpreter ${LOADER_INTERP} .endif -.include "${BOOTSRC}/veriexec.mk" - .if defined(BOOT_PROMPT_123) CFLAGS+= -DBOOT_PROMPT_123 .endif diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 3644ef80861b..5851ac08f083 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -35,6 +35,7 @@ #include <asm/unaligned.h> #include <linux/kernel.h> #include <linux/bitops.h> +#include <linux/bitfield.h> #include <linux/if_ether.h> /* linux_80211.c */ @@ -121,7 +122,20 @@ enum ieee80211_rate_control_changed_flags { /* 802.11-2016, 9.4.2.158.3 Supported VHT-MCS and NSS Set field. */ #define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* part of tx_highest */ -#define IEEE80211_VHT_MAX_AMPDU_1024K 7 /* 9.4.2.56.3 A-MPDU Parameters field, Table 9-163 */ +/* + * 802.11-2020, 9.4.2.157.2 VHT Capabilities Information field, + * Table 9-271-Subfields of the VHT Capabilities Information field (continued). + */ +enum ieee80211_vht_max_ampdu_len_exp { + IEEE80211_VHT_MAX_AMPDU_8K = 0, + IEEE80211_VHT_MAX_AMPDU_16K = 1, + IEEE80211_VHT_MAX_AMPDU_32K = 2, + IEEE80211_VHT_MAX_AMPDU_64K = 3, + IEEE80211_VHT_MAX_AMPDU_128K = 4, + IEEE80211_VHT_MAX_AMPDU_256K = 5, + IEEE80211_VHT_MAX_AMPDU_512K = 6, + IEEE80211_VHT_MAX_AMPDU_1024K = 7, +}; #define IEEE80211_WEP_IV_LEN 3 /* net80211: IEEE80211_WEP_IVLEN */ #define IEEE80211_WEP_ICV_LEN 4 diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 18b34f0e90ec..044f348ef08b 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -36,6 +36,7 @@ #include <linux/mutex.h> #include <linux/if_ether.h> #include <linux/ethtool.h> +#include <linux/debugfs.h> #include <linux/device.h> #include <linux/netdevice.h> #include <linux/random.h> @@ -722,8 +723,10 @@ struct linuxkpi_ieee80211_regdomain { #define IEEE80211_EML_CAP_TRANSITION_TIMEOUT_128TU 0x04 #define IEEE80211_EML_CAP_EMLSR_PADDING_DELAY 0x08 #define IEEE80211_EML_CAP_EMLSR_PADDING_DELAY_32US 0x10 +#define IEEE80211_EML_CAP_EMLSR_PADDING_DELAY_256US 0x10 #define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY 0x20 #define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_64US 0x40 +#define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_256US 0x40 #define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT) @@ -2065,6 +2068,18 @@ nl80211_chan_width_to_mhz(enum nl80211_chan_width width) } static __inline ssize_t +wiphy_locked_debugfs_read(struct wiphy *wiphy, struct file *file, + char *buf, size_t bufsize, const char __user *userbuf, size_t count, + loff_t *ppos, + ssize_t (*handler)(struct wiphy *, struct file *, char *, size_t, void *), + void *data) +{ + TODO(); + return (-ENXIO); +} + + +static __inline ssize_t wiphy_locked_debugfs_write(struct wiphy *wiphy, struct file *file, char *buf, size_t bufsize, const char __user *userbuf, size_t count, ssize_t (*handler)(struct wiphy *, struct file *, char *, size_t, void *), diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index af3199c38939..2ed595095f9e 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1184,7 +1184,7 @@ struct wireless_dev *linuxkpi_ieee80211_vif_to_wdev(struct ieee80211_vif *); void linuxkpi_ieee80211_connection_loss(struct ieee80211_vif *); void linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *); struct sk_buff *linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *, - uint8_t *, uint8_t *, size_t, size_t); + const uint8_t *, const uint8_t *, size_t, size_t); void linuxkpi_ieee80211_tx_status(struct ieee80211_hw *, struct sk_buff *); void linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *, struct ieee80211_tx_status *); @@ -2161,8 +2161,8 @@ ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, } static __inline struct sk_buff * -ieee80211_probereq_get(struct ieee80211_hw *hw, uint8_t *addr, - uint8_t *ssid, size_t ssid_len, size_t tailroom) +ieee80211_probereq_get(struct ieee80211_hw *hw, const uint8_t *addr, + const uint8_t *ssid, size_t ssid_len, size_t tailroom) { return (linuxkpi_ieee80211_probereq_get(hw, addr, ssid, ssid_len, diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1d00e8da8f9a..a7d6003843ba 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7668,8 +7668,8 @@ linuxkpi_ieee80211_queue_work(struct ieee80211_hw *hw, } struct sk_buff * -linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *hw, uint8_t *addr, - uint8_t *ssid, size_t ssid_len, size_t tailroom) +linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *hw, const uint8_t *addr, + const uint8_t *ssid, size_t ssid_len, size_t tailroom) { struct sk_buff *skb; struct ieee80211_frame *wh; diff --git a/sys/conf/files b/sys/conf/files index 8bb14bd3d953..d89813c70355 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3451,7 +3451,6 @@ dev/virtio/mmio/virtio_mmio.c optional virtio_mmio dev/virtio/mmio/virtio_mmio_acpi.c optional virtio_mmio acpi dev/virtio/mmio/virtio_mmio_cmdline.c optional virtio_mmio dev/virtio/mmio/virtio_mmio_fdt.c optional virtio_mmio fdt -dev/virtio/mmio/virtio_mmio_if.m optional virtio_mmio dev/virtio/network/if_vtnet.c optional vtnet dev/virtio/balloon/virtio_balloon.c optional virtio_balloon dev/virtio/block/virtio_blk.c optional virtio_blk diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index 0e4ffd92724e..bb3c7af82a4d 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -372,6 +372,19 @@ _ILINKS+= x86 _ILINKS+= i386 .endif +.if ${MK_REPRODUCIBLE_BUILD} != "no" +PREFIX_SYSDIR=/usr/src/sys +PREFIX_OBJDIR=/usr/obj/usr/src/${MACHINE}.${MACHINE_CPUARCH}/sys/${KERN_IDENT} +CFLAGS+= -ffile-prefix-map=${SYSDIR}=${PREFIX_SYSDIR} +CFLAGS+= -ffile-prefix-map=${.OBJDIR}=${PREFIX_OBJDIR} +.if defined(SYSROOT) +CFLAGS+= -ffile-prefix-map=${SYSROOT}=/sysroot +.endif +.else +PREFIX_SYSDIR=${SYSDIR} +PREFIX_OBJDIR=${.OBJDIR} +.endif + # Ensure that the link exists without depending on it when it exists. # Ensure that debug info references the path in the source tree. .for _link in ${_ILINKS} @@ -379,9 +392,9 @@ _ILINKS+= i386 ${SRCS} ${DEPENDOBJS}: ${_link} .endif .if ${_link} == "machine" -CFLAGS+= -fdebug-prefix-map=./machine=${SYSDIR}/${MACHINE}/include +CFLAGS+= -fdebug-prefix-map=./machine=${PREFIX_SYSDIR}/${MACHINE}/include .else -CFLAGS+= -fdebug-prefix-map=./${_link}=${SYSDIR}/${_link}/include +CFLAGS+= -fdebug-prefix-map=./${_link}=${PREFIX_SYSDIR}/${_link}/include .endif .endfor @@ -454,7 +467,7 @@ config.o env.o hints.o vers.o vnode_if.o: NEWVERS_ENV+= MAKE="${MAKE}" .if ${MK_REPRODUCIBLE_BUILD} != "no" -NEWVERS_ARGS+= -R +NEWVERS_ARGS+= -R -d ${PREFIX_OBJDIR} .endif vers.c: .NOMETA_CMP $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP:Nvers.*} ${NEWVERS_ENV} sh $S/conf/newvers.sh ${NEWVERS_ARGS} ${KERN_IDENT} diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 645c04cdd135..0fd2d4050cf1 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -303,6 +303,25 @@ all: ${PROG} beforedepend: ${_ILINKS} beforebuild: ${_ILINKS} +.if ${MK_REPRODUCIBLE_BUILD} != "no" +PREFIX_SYSDIR=/usr/src/sys +CFLAGS+= -ffile-prefix-map=${SYSDIR}=${PREFIX_SYSDIR} +.if defined(KERNBUILDDIR) +PREFIX_KERNBUILDDIR=/usr/obj/usr/src/${MACHINE}.${MACHINE_CPUARCH}/sys/${KERNBUILDDIR:T} +PREFIX_OBJDIR=${PREFIX_KERNBUILDDIR}/modules/usr/src/sys/modules/${.OBJDIR:T} +CFLAGS+= -ffile-prefix-map=${KERNBUILDDIR}=${PREFIX_KERNBUILDDIR} +.else +PREFIX_OBJDIR=/usr/obj/usr/src/${MACHINE}.${MACHINE_CPUARCH}/sys/modules/${.OBJDIR:T} +.endif +CFLAGS+= -ffile-prefix-map=${.OBJDIR}=${PREFIX_OBJDIR} +.if defined(SYSROOT) +CFLAGS+= -ffile-prefix-map=${SYSROOT}=/sysroot +.endif +.else +PREFIX_SYSDIR=${SYSDIR} +PREFIX_OBJDIR=${.OBJDIR} +.endif + # Ensure that the links exist without depending on it when it exists which # causes all the modules to be rebuilt when the directory pointed to changes. # Ensure that debug info references the path in the source tree. @@ -311,9 +330,9 @@ beforebuild: ${_ILINKS} OBJS_DEPEND_GUESS+= ${_link} .endif .if ${_link} == "machine" -CFLAGS+= -fdebug-prefix-map=./machine=${SYSDIR}/${MACHINE}/include +CFLAGS+= -fdebug-prefix-map=./machine=${PREFIX_SYSDIR}/${MACHINE}/include .else -CFLAGS+= -fdebug-prefix-map=./${_link}=${SYSDIR}/${_link}/include +CFLAGS+= -fdebug-prefix-map=./${_link}=${PREFIX_SYSDIR}/${_link}/include .endif .endfor diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 66926805052c..8b60da95741e 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -110,14 +110,18 @@ COPYRIGHT="$COPYRIGHT # We expand include_metadata later since we may set it to the # future value of modified. +builddir=$(pwd) include_metadata=yes modified=no -while getopts crRvV: opt; do +while getopts cd:rRvV: opt; do case "$opt" in c) echo "$COPYRIGHT" exit 0 ;; + d) + builddir=$OPTARG + ;; r) include_metadata=no ;; @@ -187,7 +191,7 @@ fi touch version v=$(cat version) u=${USER:-root} -d=$(pwd) +d=$builddir h=${HOSTNAME:-$(hostname)} if [ -n "$SOURCE_DATE_EPOCH" ]; then if ! t=$(date -ur $SOURCE_DATE_EPOCH 2>/dev/null); then diff --git a/sys/contrib/openzfs/cmd/zdb/zdb.c b/sys/contrib/openzfs/cmd/zdb/zdb.c index 957e6c67dd12..a5f23be2aaaf 100644 --- a/sys/contrib/openzfs/cmd/zdb/zdb.c +++ b/sys/contrib/openzfs/cmd/zdb/zdb.c @@ -2627,8 +2627,8 @@ print_indirect(spa_t *spa, blkptr_t *bp, const zbookmark_phys_t *zb, } if (BP_GET_LEVEL(bp) != zb->zb_level) { (void) printf(" (ERROR: Block pointer level " - "(%llu) does not match bookmark level (%ld))", - BP_GET_LEVEL(bp), zb->zb_level); + "(%llu) does not match bookmark level (%lld))", + BP_GET_LEVEL(bp), (u_longlong_t)zb->zb_level); corruption_found = B_TRUE; } } @@ -2681,8 +2681,8 @@ visit_indirect(spa_t *spa, const dnode_phys_t *dnp, if (fill != BP_GET_FILL(bp)) { (void) printf("%16llx: Block pointer " "fill (%llu) does not match calculated " - "value (%lu)\n", offset, BP_GET_FILL(bp), - fill); + "value (%llu)\n", offset, BP_GET_FILL(bp), + (u_longlong_t)fill); corruption_found = B_TRUE; } } diff --git a/sys/dev/fdt/fdt_common.c b/sys/dev/fdt/fdt_common.c index 1fea4c6f1392..f43551c6310e 100644 --- a/sys/dev/fdt/fdt_common.c +++ b/sys/dev/fdt/fdt_common.c @@ -62,8 +62,6 @@ SYSCTL_NODE(_hw, OID_AUTO, fdt, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Flattened Device Tree"); -struct fdt_ic_list fdt_ic_list_head = SLIST_HEAD_INITIALIZER(fdt_ic_list_head); - static int fdt_get_range_by_busaddr(phandle_t node, u_long addr, u_long *base, u_long *size) diff --git a/sys/dev/fdt/fdt_common.h b/sys/dev/fdt/fdt_common.h index ece54290a6ad..f597233f9771 100644 --- a/sys/dev/fdt/fdt_common.h +++ b/sys/dev/fdt/fdt_common.h @@ -59,13 +59,6 @@ struct fdt_fixup_entry { extern struct fdt_fixup_entry fdt_fixup_table[]; #endif -extern SLIST_HEAD(fdt_ic_list, fdt_ic) fdt_ic_list_head; -struct fdt_ic { - SLIST_ENTRY(fdt_ic) fdt_ics; - ihandle_t iph; - device_t dev; -}; - #if defined(FDT_DTB_STATIC) extern u_char fdt_static_dtb; #endif diff --git a/sys/dev/virtio/mmio/virtio_mmio.c b/sys/dev/virtio/mmio/virtio_mmio.c index 5a81c8a24779..fe531fced998 100644 --- a/sys/dev/virtio/mmio/virtio_mmio.c +++ b/sys/dev/virtio/mmio/virtio_mmio.c @@ -53,7 +53,6 @@ #include <dev/virtio/virtqueue.h> #include <dev/virtio/mmio/virtio_mmio.h> -#include "virtio_mmio_if.h" #include "virtio_bus_if.h" #include "virtio_if.h" @@ -79,7 +78,6 @@ static int vtmmio_alloc_virtqueues(device_t, int, struct vq_alloc_info *); static int vtmmio_setup_intr(device_t, enum intr_type); static void vtmmio_stop(device_t); -static void vtmmio_poll(device_t); static int vtmmio_reinit(device_t, uint64_t); static void vtmmio_reinit_complete(device_t); static void vtmmio_notify_virtqueue(device_t, uint16_t, bus_size_t); @@ -104,29 +102,11 @@ static void vtmmio_vq_intr(void *); * I/O port read/write wrappers. */ #define vtmmio_write_config_1(sc, o, v) \ -do { \ - if (sc->platform != NULL) \ - VIRTIO_MMIO_PREWRITE(sc->platform, (o), (v)); \ - bus_write_1((sc)->res[0], (o), (v)); \ - if (sc->platform != NULL) \ - VIRTIO_MMIO_NOTE(sc->platform, (o), (v)); \ -} while (0) + bus_write_1((sc)->res[0], (o), (v)) #define vtmmio_write_config_2(sc, o, v) \ -do { \ - if (sc->platform != NULL) \ - VIRTIO_MMIO_PREWRITE(sc->platform, (o), (v)); \ - bus_write_2((sc)->res[0], (o), (v)); \ - if (sc->platform != NULL) \ - VIRTIO_MMIO_NOTE(sc->platform, (o), (v)); \ -} while (0) + bus_write_2((sc)->res[0], (o), (v)) #define vtmmio_write_config_4(sc, o, v) \ -do { \ - if (sc->platform != NULL) \ - VIRTIO_MMIO_PREWRITE(sc->platform, (o), (v)); \ - bus_write_4((sc)->res[0], (o), (v)); \ - if (sc->platform != NULL) \ - VIRTIO_MMIO_NOTE(sc->platform, (o), (v)); \ -} while (0) + bus_write_4((sc)->res[0], (o), (v)) #define vtmmio_read_config_1(sc, o) \ bus_read_1((sc)->res[0], (o)) @@ -157,7 +137,6 @@ static device_method_t vtmmio_methods[] = { DEVMETHOD(virtio_bus_alloc_virtqueues, vtmmio_alloc_virtqueues), DEVMETHOD(virtio_bus_setup_intr, vtmmio_setup_intr), DEVMETHOD(virtio_bus_stop, vtmmio_stop), - DEVMETHOD(virtio_bus_poll, vtmmio_poll), DEVMETHOD(virtio_bus_reinit, vtmmio_reinit), DEVMETHOD(virtio_bus_reinit_complete, vtmmio_reinit_complete), DEVMETHOD(virtio_bus_notify_vq, vtmmio_notify_virtqueue), @@ -220,19 +199,9 @@ vtmmio_setup_intr(device_t dev, enum intr_type type) { struct vtmmio_softc *sc; int rid; - int err; sc = device_get_softc(dev); - if (sc->platform != NULL) { - err = VIRTIO_MMIO_SETUP_INTR(sc->platform, sc->dev, - vtmmio_vq_intr, sc); - if (err == 0) { - /* Okay we have backend-specific interrupts */ - return (0); - } - } - rid = 0; sc->res[1] = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); @@ -597,17 +566,6 @@ vtmmio_stop(device_t dev) vtmmio_reset(device_get_softc(dev)); } -static void -vtmmio_poll(device_t dev) -{ - struct vtmmio_softc *sc; - - sc = device_get_softc(dev); - - if (sc->platform != NULL) - VIRTIO_MMIO_POLL(sc->platform); -} - static int vtmmio_reinit(device_t dev, uint64_t features) { diff --git a/sys/dev/virtio/mmio/virtio_mmio.h b/sys/dev/virtio/mmio/virtio_mmio.h index ac6a96c1c7fe..edcbf0519acc 100644 --- a/sys/dev/virtio/mmio/virtio_mmio.h +++ b/sys/dev/virtio/mmio/virtio_mmio.h @@ -37,7 +37,6 @@ struct vtmmio_virtqueue; struct vtmmio_softc { device_t dev; - device_t platform; struct resource *res[2]; uint64_t vtmmio_features; diff --git a/sys/dev/virtio/mmio/virtio_mmio_fdt.c b/sys/dev/virtio/mmio/virtio_mmio_fdt.c index 7fba8aad8db8..bb9ea8efbaeb 100644 --- a/sys/dev/virtio/mmio/virtio_mmio_fdt.c +++ b/sys/dev/virtio/mmio/virtio_mmio_fdt.c @@ -63,12 +63,10 @@ #include <dev/virtio/mmio/virtio_mmio.h> static int vtmmio_fdt_probe(device_t); -static int vtmmio_fdt_attach(device_t); static device_method_t vtmmio_fdt_methods[] = { /* Device interface. */ DEVMETHOD(device_probe, vtmmio_fdt_probe), - DEVMETHOD(device_attach, vtmmio_fdt_attach), DEVMETHOD_END }; @@ -93,48 +91,3 @@ vtmmio_fdt_probe(device_t dev) return (vtmmio_probe(dev)); } - -static int -vtmmio_setup_platform(device_t dev, struct vtmmio_softc *sc) -{ - phandle_t platform_node; - struct fdt_ic *ic; - phandle_t xref; - phandle_t node; - - sc->platform = NULL; - - if ((node = ofw_bus_get_node(dev)) == -1) - return (ENXIO); - - if (OF_searchencprop(node, "platform", &xref, - sizeof(xref)) == -1) { - return (ENXIO); - } - - platform_node = OF_node_from_xref(xref); - - SLIST_FOREACH(ic, &fdt_ic_list_head, fdt_ics) { - if (ic->iph == platform_node) { - sc->platform = ic->dev; - break; - } - } - - if (sc->platform == NULL) { - /* No platform-specific device. Ignore it. */ - } - - return (0); -} - -static int -vtmmio_fdt_attach(device_t dev) -{ - struct vtmmio_softc *sc; - - sc = device_get_softc(dev); - vtmmio_setup_platform(dev, sc); - - return (vtmmio_attach(dev)); -} diff --git a/sys/dev/virtio/mmio/virtio_mmio_if.m b/sys/dev/virtio/mmio/virtio_mmio_if.m deleted file mode 100644 index baebbd9a0b1c..000000000000 --- a/sys/dev/virtio/mmio/virtio_mmio_if.m +++ /dev/null @@ -1,99 +0,0 @@ -#- -# Copyright (c) 2014 Ruslan Bukin <br@bsdpad.com> -# All rights reserved. -# -# This software was developed by SRI International and the University of -# Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -# ("CTSRD"), as part of the DARPA CRASH research programme. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# - -#include <sys/types.h> - -# -# This is optional interface to virtio mmio backend. -# Useful when backend is implemented not by the hardware but software, e.g. -# by using another cpu core. -# - -INTERFACE virtio_mmio; - -CODE { - static int - virtio_mmio_prewrite(device_t dev, size_t offset, int val) - { - - return (1); - } - - static int - virtio_mmio_note(device_t dev, size_t offset, int val) - { - - return (1); - } - - static int - virtio_mmio_setup_intr(device_t dev, device_t mmio_dev, - void *handler, void *ih_user) - { - - return (1); - } -}; - -# -# Inform backend we are going to write data at offset. -# -METHOD int prewrite { - device_t dev; - size_t offset; - int val; -} DEFAULT virtio_mmio_prewrite; - -# -# Inform backend we have data wrotten to offset. -# -METHOD int note { - device_t dev; - size_t offset; - int val; -} DEFAULT virtio_mmio_note; - -# -# Inform backend we are going to poll virtqueue. -# -METHOD int poll { - device_t dev; -}; - -# -# Setup backend-specific interrupts. -# -METHOD int setup_intr { - device_t dev; - device_t mmio_dev; - void *handler; - void *ih_user; -} DEFAULT virtio_mmio_setup_intr; diff --git a/sys/dev/virtio/virtio_bus_if.m b/sys/dev/virtio/virtio_bus_if.m index 57ae90bdc917..4181b641faad 100644 --- a/sys/dev/virtio/virtio_bus_if.m +++ b/sys/dev/virtio/virtio_bus_if.m @@ -109,7 +109,3 @@ METHOD void write_device_config { int len; }; -METHOD void poll { - device_t dev; -}; - diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c index 8cc3326dc08e..cc7a233d60ee 100644 --- a/sys/dev/virtio/virtqueue.c +++ b/sys/dev/virtio/virtqueue.c @@ -605,10 +605,8 @@ virtqueue_poll(struct virtqueue *vq, uint32_t *len) { void *cookie; - VIRTIO_BUS_POLL(vq->vq_dev); while ((cookie = virtqueue_dequeue(vq, len)) == NULL) { cpu_spinwait(); - VIRTIO_BUS_POLL(vq->vq_dev); } return (cookie); diff --git a/sys/modules/rtw88/Makefile b/sys/modules/rtw88/Makefile index 9739ede11073..822be639da43 100644 --- a/sys/modules/rtw88/Makefile +++ b/sys/modules/rtw88/Makefile @@ -43,6 +43,7 @@ SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_wlan.h opt_inet6.h opt_inet.h CFLAGS+= -DKBUILD_MODNAME='"rtw88"' +CFLAGS+= -DLINUXKPI_VERSION=61400 CFLAGS+= -I${DEVRTW88DIR} CFLAGS+= ${LINUXKPI_INCLUDES} diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index 09580f288c62..e66f85c3ac17 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -39,6 +39,7 @@ SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h CFLAGS+= -DKBUILD_MODNAME='"rtw89"' +CFLAGS+= -DLINUXKPI_VERSION=61400 CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI CFLAGS+= -I${DEVRTW89DIR} diff --git a/sys/net/if_clone.h b/sys/net/if_clone.h index 5a74ffa1cc2f..d780e49af25f 100644 --- a/sys/net/if_clone.h +++ b/sys/net/if_clone.h @@ -153,7 +153,7 @@ int if_clone_destroy(const char *); int if_clone_list(struct if_clonereq *); void if_clone_restoregroup(struct ifnet *); -/* The below interfaces are used only by epair(4). */ +/* The below interfaces are used only by epair(4) and tun(4)/tap(4). */ void if_clone_addif(struct if_clone *, struct ifnet *); int if_clone_destroyif(struct if_clone *, struct ifnet *); diff --git a/sys/net/if_tap.h b/sys/net/if_tap.h index d84cd2eba6f3..8297b8d9e3d2 100644 --- a/sys/net/if_tap.h +++ b/sys/net/if_tap.h @@ -57,6 +57,8 @@ #define TAPGIFNAME TUNGIFNAME #define TAPSVNETHDR _IOW('t', 91, int) #define TAPGVNETHDR _IOR('t', 94, int) +#define TAPSTRANSIENT TUNSTRANSIENT +#define TAPGTRANSIENT TUNGTRANSIENT /* VMware ioctl's */ #define VMIO_SIOCSIFFLAGS _IOWINT('V', 0) diff --git a/sys/net/if_tun.h b/sys/net/if_tun.h index a8fb61db45a2..ccdc25944823 100644 --- a/sys/net/if_tun.h +++ b/sys/net/if_tun.h @@ -43,5 +43,7 @@ struct tuninfo { #define TUNSIFPID _IO('t', 95) #define TUNSIFHEAD _IOW('t', 96, int) #define TUNGIFHEAD _IOR('t', 97, int) +#define TUNSTRANSIENT _IOW('t', 98, int) +#define TUNGTRANSIENT _IOR('t', 99, int) #endif /* !_NET_IF_TUN_H_ */ diff --git a/sys/net/if_tuntap.c b/sys/net/if_tuntap.c index 5e6f65c04b2f..c8dbb6aa8893 100644 --- a/sys/net/if_tuntap.c +++ b/sys/net/if_tuntap.c @@ -132,6 +132,7 @@ struct tuntap_softc { #define TUN_DYING 0x0200 #define TUN_L2 0x0400 #define TUN_VMNET 0x0800 +#define TUN_TRANSIENT 0x1000 #define TUN_DRIVER_IDENT_MASK (TUN_L2 | TUN_VMNET) #define TUN_READY (TUN_OPEN | TUN_INITED) @@ -443,6 +444,18 @@ tuntap_name2info(const char *name, int *outunit, int *outflags) return (0); } +static struct if_clone * +tuntap_cloner_from_flags(int tun_flags) +{ + + for (u_int i = 0; i < NDRV; i++) + if ((tun_flags & TUN_DRIVER_IDENT_MASK) == + tuntap_drivers[i].ident_flags) + return (V_tuntap_driver_cloners[i]); + + return (NULL); +} + /* * Get driver information from a set of flags specified. Masks the identifying * part of the flags and compares it against all of the available @@ -615,19 +628,39 @@ out: CURVNET_RESTORE(); } -static void -tun_destroy(struct tuntap_softc *tp) +static int +tun_destroy(struct tuntap_softc *tp, bool may_intr) { + int error; TUN_LOCK(tp); + + /* + * Transient tunnels may have set TUN_DYING if we're being destroyed as + * a result of the last close, which we'll allow. + */ + MPASS((tp->tun_flags & (TUN_DYING | TUN_TRANSIENT)) != TUN_DYING); tp->tun_flags |= TUN_DYING; - if (tp->tun_busy != 0) - cv_wait_unlock(&tp->tun_cv, &tp->tun_mtx); - else - TUN_UNLOCK(tp); + error = 0; + while (tp->tun_busy != 0) { + if (may_intr) + error = cv_wait_sig(&tp->tun_cv, &tp->tun_mtx); + else + cv_wait(&tp->tun_cv, &tp->tun_mtx); + if (error != 0) { + tp->tun_flags &= ~TUN_DYING; + TUN_UNLOCK(tp); + return (error); + } + } + TUN_UNLOCK(tp); CURVNET_SET(TUN2IFP(tp)->if_vnet); + mtx_lock(&tunmtx); + TAILQ_REMOVE(&tunhead, tp, tun_list); + mtx_unlock(&tunmtx); + /* destroy_dev will take care of any alias. */ destroy_dev(tp->tun_dev); seldrain(&tp->tun_rsel); @@ -648,6 +681,8 @@ tun_destroy(struct tuntap_softc *tp) cv_destroy(&tp->tun_cv); free(tp, M_TUN); CURVNET_RESTORE(); + + return (0); } static int @@ -655,12 +690,7 @@ tun_clone_destroy(struct if_clone *ifc __unused, struct ifnet *ifp, uint32_t fla { struct tuntap_softc *tp = ifp->if_softc; - mtx_lock(&tunmtx); - TAILQ_REMOVE(&tunhead, tp, tun_list); - mtx_unlock(&tunmtx); - tun_destroy(tp); - - return (0); + return (tun_destroy(tp, true)); } static void @@ -702,9 +732,9 @@ tun_uninit(const void *unused __unused) mtx_lock(&tunmtx); while ((tp = TAILQ_FIRST(&tunhead)) != NULL) { - TAILQ_REMOVE(&tunhead, tp, tun_list); mtx_unlock(&tunmtx); - tun_destroy(tp); + /* tun_destroy() will remove it from the tailq. */ + tun_destroy(tp, false); mtx_lock(&tunmtx); } mtx_unlock(&tunmtx); @@ -1217,6 +1247,23 @@ out: tun_vnethdr_set(ifp, 0); tun_unbusy_locked(tp); + if ((tp->tun_flags & TUN_TRANSIENT) != 0) { + struct if_clone *cloner; + int error __diagused; + + /* Mark it busy so that nothing can re-open it. */ + tp->tun_flags |= TUN_DYING; + TUN_UNLOCK(tp); + + CURVNET_SET_QUIET(ifp->if_home_vnet); + cloner = tuntap_cloner_from_flags(tp->tun_flags); + CURVNET_RESTORE(); + + error = if_clone_destroyif(cloner, ifp); + MPASS(error == 0 || error == EINTR || error == ERESTART); + return; + } + TUN_UNLOCK(tp); } @@ -1668,6 +1715,19 @@ tunioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, case TUNGDEBUG: *(int *)data = tundebug; break; + case TUNSTRANSIENT: + TUN_LOCK(tp); + if (*(int *)data) + tp->tun_flags |= TUN_TRANSIENT; + else + tp->tun_flags &= ~TUN_TRANSIENT; + TUN_UNLOCK(tp); + break; + case TUNGTRANSIENT: + TUN_LOCK(tp); + *(int *)data = (tp->tun_flags & TUN_TRANSIENT) != 0; + TUN_UNLOCK(tp); + break; case FIONBIO: break; case FIOASYNC: diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index 8856be5fa1a3..7a5ac2e01f75 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -44,7 +44,7 @@ SYSCTL_INT(_security_mac_do, OID_AUTO, print_parse_error, CTLFLAG_RWTUN, &print_parse_error, 0, "Print parse errors on setting rules " "(via sysctl(8))."); -static MALLOC_DEFINE(M_DO, "do_rule", "Rules for mac_do"); +static MALLOC_DEFINE(M_MAC_DO, "mac_do", "mac_do(4) security module"); #define MAC_RULE_STRING_LEN 1024 @@ -319,17 +319,17 @@ toast_rules(struct rules *const rules) struct rule *rule, *rule_next; STAILQ_FOREACH_SAFE(rule, head, r_entries, rule_next) { - free(rule->uids, M_DO); - free(rule->gids, M_DO); - free(rule, M_DO); + free(rule->uids, M_MAC_DO); + free(rule->gids, M_MAC_DO); + free(rule, M_MAC_DO); } - free(rules, M_DO); + free(rules, M_MAC_DO); } static struct rules * alloc_rules(void) { - struct rules *const rules = malloc(sizeof(*rules), M_DO, M_WAITOK); + struct rules *const rules = malloc(sizeof(*rules), M_MAC_DO, M_WAITOK); _Static_assert(MAC_RULE_STRING_LEN > 0, "MAC_RULE_STRING_LEN <= 0!"); rules->string[0] = 0; @@ -433,7 +433,7 @@ static void make_parse_error(struct parse_error **const parse_error, const size_t pos, const char *const fmt, ...) { - struct parse_error *const err = malloc(sizeof(*err), M_DO, M_WAITOK); + struct parse_error *const err = malloc(sizeof(*err), M_MAC_DO, M_WAITOK); va_list ap; err->pos = pos; @@ -448,7 +448,7 @@ make_parse_error(struct parse_error **const parse_error, const size_t pos, static void free_parse_error(struct parse_error *const parse_error) { - free(parse_error, M_DO); + free(parse_error, M_MAC_DO); } static int @@ -733,7 +733,7 @@ parse_target_clause(char *to, struct rule *const rule, "Too many target clauses of type '%s'.", to_type); return (EOVERFLOW); } - ie = malloc(sizeof(*ie), M_DO, M_WAITOK); + ie = malloc(sizeof(*ie), M_MAC_DO, M_WAITOK); ie->spec = is; STAILQ_INSERT_TAIL(list, ie, ie_entries); check_type_and_id_spec(type, &is); @@ -784,7 +784,7 @@ pour_list_into_rule(const id_type_t type, struct id_list *const list, STAILQ_FOREACH_SAFE(ie, list, ie_entries, ie_next) { MPASS(idx < *nb); array[idx] = ie->spec; - free(ie, M_DO); + free(ie, M_MAC_DO); ++idx; } MPASS(idx == *nb); @@ -874,7 +874,7 @@ parse_single_rule(char *rule, struct rules *const rules, STAILQ_INIT(&gid_list); /* Freed when the 'struct rules' container is freed. */ - new = malloc(sizeof(*new), M_DO, M_WAITOK | M_ZERO); + new = malloc(sizeof(*new), M_MAC_DO, M_WAITOK | M_ZERO); from_type = strsep_noblanks(&rule, "="); MPASS(from_type != NULL); /* Because 'rule' was not NULL. */ @@ -933,7 +933,7 @@ parse_single_rule(char *rule, struct rules *const rules, } while (to_list != NULL); if (new->uids_nb != 0) { - new->uids = malloc(sizeof(*new->uids) * new->uids_nb, M_DO, + new->uids = malloc(sizeof(*new->uids) * new->uids_nb, M_MAC_DO, M_WAITOK); error = pour_list_into_rule(IT_UID, &uid_list, new->uids, &new->uids_nb, parse_error); @@ -949,7 +949,7 @@ parse_single_rule(char *rule, struct rules *const rules, } if (new->gids_nb != 0) { - new->gids = malloc(sizeof(*new->gids) * new->gids_nb, M_DO, + new->gids = malloc(sizeof(*new->gids) * new->gids_nb, M_MAC_DO, M_WAITOK); error = pour_list_into_rule(IT_GID, &gid_list, new->gids, &new->gids_nb, parse_error); @@ -969,13 +969,13 @@ parse_single_rule(char *rule, struct rules *const rules, return (0); einval: - free(new->gids, M_DO); - free(new->uids, M_DO); - free(new, M_DO); + free(new->gids, M_MAC_DO); + free(new->uids, M_MAC_DO); + free(new, M_MAC_DO); STAILQ_FOREACH_SAFE(ie, &gid_list, ie_entries, ie_next) - free(ie, M_DO); + free(ie, M_MAC_DO); STAILQ_FOREACH_SAFE(ie, &uid_list, ie_entries, ie_next) - free(ie, M_DO); + free(ie, M_MAC_DO); MPASS(*parse_error != NULL); return (EINVAL); } @@ -1028,7 +1028,7 @@ parse_rules(const char *const string, struct rules **const rulesp, bcopy(string, rules->string, len + 1); MPASS(rules->string[len] == '\0'); /* Catch some races. */ - copy = malloc(len + 1, M_DO, M_WAITOK); + copy = malloc(len + 1, M_MAC_DO, M_WAITOK); bcopy(string, copy, len + 1); MPASS(copy[len] == '\0'); /* Catch some races. */ @@ -1046,7 +1046,7 @@ parse_rules(const char *const string, struct rules **const rulesp, *rulesp = rules; out: - free(copy, M_DO); + free(copy, M_MAC_DO); return (error); } @@ -1226,7 +1226,7 @@ parse_and_set_rules(struct prison *const pr, const char *rules_string, static int mac_do_sysctl_rules(SYSCTL_HANDLER_ARGS) { - char *const buf = malloc(MAC_RULE_STRING_LEN, M_DO, M_WAITOK); + char *const buf = malloc(MAC_RULE_STRING_LEN, M_MAC_DO, M_WAITOK); struct prison *const td_pr = req->td->td_ucred->cr_prison; struct prison *pr; struct rules *rules; @@ -1250,7 +1250,7 @@ mac_do_sysctl_rules(SYSCTL_HANDLER_ARGS) free_parse_error(parse_error); } out: - free(buf, M_DO); + free(buf, M_MAC_DO); return (error); } @@ -1573,7 +1573,7 @@ set_data_header(void *const data, const size_t size, const int priv, static void * alloc_data(void *const data, const size_t size) { - struct mac_do_data_header *const hdr = realloc(data, size, M_DO, + struct mac_do_data_header *const hdr = realloc(data, size, M_MAC_DO, M_WAITOK); MPASS(size >= sizeof(struct mac_do_data_header)); @@ -1602,7 +1602,7 @@ alloc_data(void *const data, const size_t size) static void dealloc_thread_osd(void *const value) { - free(value, M_DO); + free(value, M_MAC_DO); } /* diff --git a/tests/sys/net/Makefile b/tests/sys/net/Makefile index 65cc99a3e932..e390c6e8059d 100644 --- a/tests/sys/net/Makefile +++ b/tests/sys/net/Makefile @@ -40,6 +40,7 @@ ${PACKAGE}FILESMODE_stp.py= 0555 MAN= PROGS+= randsleep +PROGS+= transient_tuntap CFLAGS+= -I${.CURDIR:H:H} diff --git a/tests/sys/net/if_tun_test.sh b/tests/sys/net/if_tun_test.sh index a4ffe66e04ce..f4ce7800272e 100755 --- a/tests/sys/net/if_tun_test.sh +++ b/tests/sys/net/if_tun_test.sh @@ -56,8 +56,30 @@ basic_cleanup() vnet_cleanup } +atf_test_case "transient" "cleanup" +transient_head() +{ + atf_set descr "Test transient tunnel support" + atf_set require.user root +} +transient_body() +{ + vnet_init + vnet_mkjail one + + tun=$(jexec one ifconfig tun create) + atf_check -s exit:0 -o not-empty jexec one ifconfig ${tun} + jexec one $(atf_get_srcdir)/transient_tuntap /dev/${tun} + atf_check -s not-exit:0 -e not-empty jexec one ifconfig ${tun} +} +transient_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case "235704" atf_add_test_case "basic" + atf_add_test_case "transient" } diff --git a/tests/sys/net/transient_tuntap.c b/tests/sys/net/transient_tuntap.c new file mode 100644 index 000000000000..b0cf43064317 --- /dev/null +++ b/tests/sys/net/transient_tuntap.c @@ -0,0 +1,54 @@ +/*- + * Copyright (c) 2024 Kyle Evans <kevans@FreeBSD.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * This test simply configures the tunnel as transient and exits. By the time + * we return, the tunnel should be gone because the last reference disappears. + */ + +#include <sys/types.h> +#include <sys/ioctl.h> +#include <net/if_tun.h> +#include <net/if_tap.h> + +#include <assert.h> +#include <err.h> +#include <fcntl.h> +#include <string.h> +#include <unistd.h> + +int +main(int argc, char *argv[]) +{ + unsigned long tunreq; + const char *tundev; + int one = 1, tunfd; + + assert(argc > 1); + tundev = argv[1]; + + tunfd = open(tundev, O_RDWR); + assert(tunfd >= 0); + + /* + * These are technically the same request, but we'll use the technically + * correct one just in case. + */ + if (strstr(tundev, "tun") != NULL) { + tunreq = TUNSTRANSIENT; + } else { + assert(strstr(tundev, "tap") != NULL); + tunreq = TAPSTRANSIENT; + } + + if (ioctl(tunfd, tunreq, &one) == -1) + err(1, "ioctl"); + + /* Final close should destroy the tunnel automagically. */ + close(tunfd); + + return (0); +} |