diff --git a/tf-psa-crypto/drivers/builtin/include/mbedtls/version.h b/include/mbedtls/version.h similarity index 100% rename from tf-psa-crypto/drivers/builtin/include/mbedtls/version.h rename to include/mbedtls/version.h diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 007aa35707..ca48a756b9 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -36,9 +36,26 @@ set(src_tls ssl_tls13_server.c ssl_tls13_client.c ssl_tls13_generic.c + version.c + version_features.c ) if(GEN_FILES) + add_custom_command( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/version_features.c + COMMAND + ${PERL_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_features.pl + ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files + ${CMAKE_CURRENT_BINARY_DIR}/version_features.c + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_features.pl + ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls/mbedtls_config.h + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/version_features.fmt + ) + add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ssl_debug_helpers_generated.c @@ -52,6 +69,7 @@ if(GEN_FILES) ${tls_error_headers} ) else() + link_to_source(version_features.c) link_to_source(ssl_debug_helpers_generated.c) endif() diff --git a/library/Makefile b/library/Makefile index 96f454eac4..9490aa78de 100644 --- a/library/Makefile +++ b/library/Makefile @@ -7,7 +7,7 @@ TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/drivers/b GENERATED_FILES := \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.c \ - $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/version_features.c \ + version_features.c \ ssl_debug_helpers_generated.c \ $(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers.h \ $(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers_no_static.c @@ -188,8 +188,6 @@ OBJS_CRYPTO= \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/sha3.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/threading.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/timing.o \ - $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/version.o \ - $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/version_features.o \ # This line is intentionally left blank THIRDPARTY_DIR := $(MBEDTLS_PATH)/tf-psa-crypto/drivers @@ -229,6 +227,8 @@ OBJS_TLS= \ ssl_tls13_client.o \ ssl_tls13_server.o \ ssl_tls13_generic.o \ + version.o \ + version_features.o \ # This line is intentionally left blank .SILENT: @@ -370,15 +370,15 @@ ssl_debug_helpers_generated.c: echo " Gen $@" $(PYTHON) ../scripts/generate_ssl_debug_helpers.py --mbedtls-root .. . -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/version_features.c: $(gen_file_dep) ../scripts/generate_features.pl -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/version_features.c: $(gen_file_dep) ../scripts/data_files/version_features.fmt +version_features.c: $(gen_file_dep) ../scripts/generate_features.pl +version_features.c: $(gen_file_dep) ../scripts/data_files/version_features.fmt ## The generated file only depends on the options that are present in mbedtls_config.h, ## not on which options are set. To avoid regenerating this file all the time ## when switching between configurations, don't declare mbedtls_config.h as a ## dependency. Remove this file from your working tree if you've just added or ## removed an option in mbedtls_config.h. #version_features.c: ../include/mbedtls/mbedtls_config.h -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/version_features.c: +version_features.c: echo " Gen $@" $(PERL) ../scripts/generate_features.pl diff --git a/tf-psa-crypto/drivers/builtin/src/version.c b/library/version.c similarity index 100% rename from tf-psa-crypto/drivers/builtin/src/version.c rename to library/version.c diff --git a/scripts/config.py b/scripts/config.py index 580a4bbb0c..beeb5e27e0 100755 --- a/scripts/config.py +++ b/scripts/config.py @@ -210,6 +210,7 @@ def baremetal_size_adapter(name, value, active): def include_in_crypto(name): """Rules for symbols in a crypto configuration.""" if name.startswith('MBEDTLS_X509_') or \ + name.startswith('MBEDTLS_VERSION_') or \ name.startswith('MBEDTLS_SSL_') or \ name.startswith('MBEDTLS_KEY_EXCHANGE_'): return False diff --git a/scripts/generate_features.pl b/scripts/generate_features.pl index 6972682cd2..cea8c115a7 100755 --- a/scripts/generate_features.pl +++ b/scripts/generate_features.pl @@ -16,7 +16,7 @@ if( @ARGV ) { } else { $include_dir = 'include/mbedtls'; $data_dir = 'scripts/data_files'; - $feature_file = 'tf-psa-crypto/drivers/builtin/src/version_features.c'; + $feature_file = 'library/version_features.c'; unless( -d $include_dir && -d $data_dir ) { chdir '..' or die; diff --git a/tests/psa-client-server/psasim/src/server.c b/tests/psa-client-server/psasim/src/server.c index 10ab5a287f..44939f1c2a 100644 --- a/tests/psa-client-server/psasim/src/server.c +++ b/tests/psa-client-server/psasim/src/server.c @@ -52,12 +52,14 @@ int psa_server_main(int argc, char *argv[]) psa_msg_t msg = { -1 }; const int magic_num = 66; int client_disconnected = 0; - char mbedtls_version[18]; extern psa_status_t psa_crypto_call(psa_msg_t msg); extern psa_status_t psa_crypto_close(void); +#if defined(MBEDTLS_VERSION_C) + char mbedtls_version[18]; mbedtls_version_get_string_full(mbedtls_version); SERVER_PRINT("%s", mbedtls_version); +#endif parse_input_args(argc, argv); SERVER_PRINT("Starting"); diff --git a/tests/scripts/check-generated-files.sh b/tests/scripts/check-generated-files.sh index c57ff049e5..2a112075fa 100755 --- a/tests/scripts/check-generated-files.sh +++ b/tests/scripts/check-generated-files.sh @@ -172,7 +172,7 @@ check scripts/generate_driver_wrappers.py ${crypto_core_dir}/psa_crypto_driver_w if in_mbedtls_repo; then check scripts/generate_errors.pl ${builtin_drivers_dir}/error.c check scripts/generate_query_config.pl programs/test/query_config.c - check scripts/generate_features.pl ${builtin_drivers_dir}/version_features.c + check scripts/generate_features.pl library/version_features.c check scripts/generate_ssl_debug_helpers.py library/ssl_debug_helpers_generated.c check tests/scripts/generate_tls13_compat_tests.py tests/opt-testcases/tls13-compat.sh check framework/scripts/generate_test_cert_macros.py tests/src/test_certs.h diff --git a/tf-psa-crypto/tests/suites/test_suite_version.data b/tests/suites/test_suite_version.data similarity index 100% rename from tf-psa-crypto/tests/suites/test_suite_version.data rename to tests/suites/test_suite_version.data diff --git a/tf-psa-crypto/tests/suites/test_suite_version.function b/tests/suites/test_suite_version.function similarity index 100% rename from tf-psa-crypto/tests/suites/test_suite_version.function rename to tests/suites/test_suite_version.function diff --git a/tf-psa-crypto/drivers/builtin/CMakeLists.txt b/tf-psa-crypto/drivers/builtin/CMakeLists.txt index 0043fca4e2..5cbdbbcc87 100644 --- a/tf-psa-crypto/drivers/builtin/CMakeLists.txt +++ b/tf-psa-crypto/drivers/builtin/CMakeLists.txt @@ -4,9 +4,6 @@ file(GLOB src_builtin RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.c) if(NOT "src/error.c" IN_LIST "${src_builtin}") list(APPEND src_builtin src/error.c) endif() -if(NOT "src/version_features.c" IN_LIST "${src_builtin}") - list(APPEND src_builtin src/version_features.c) -endif() if(GEN_FILES) find_package(Perl REQUIRED) @@ -29,24 +26,8 @@ if(GEN_FILES) ${tls_error_headers} ${MBEDTLS_DIR}/scripts/data_files/error.fmt ) - - add_custom_command( - OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/src/version_features.c - COMMAND - ${PERL_EXECUTABLE} - ${MBEDTLS_DIR}/scripts/generate_features.pl - ${MBEDTLS_DIR}/include/mbedtls - ${MBEDTLS_DIR}/scripts/data_files - ${CMAKE_CURRENT_BINARY_DIR}/src/version_features.c - DEPENDS - ${MBEDTLS_DIR}/scripts/generate_features.pl - ${MBEDTLS_DIR}/include/mbedtls/mbedtls_config.h - ${MBEDTLS_DIR}/scripts/data_files/version_features.fmt - ) else() link_to_source(src/error.c) - link_to_source(src/version_features.c) endif() if(CMAKE_COMPILER_IS_GNUCC) diff --git a/tf-psa-crypto/drivers/builtin/src/.gitignore b/tf-psa-crypto/drivers/builtin/src/.gitignore index f3923b14f1..9e36d25c01 100644 --- a/tf-psa-crypto/drivers/builtin/src/.gitignore +++ b/tf-psa-crypto/drivers/builtin/src/.gitignore @@ -1,4 +1,3 @@ ###START_GENERATED_FILES### /error.c -/version_features.c ###END_GENERATED_FILES###