From 1628a9c1405eb69f5abd6e1a91d25d76a9da68fe Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Mon, 31 May 2021 22:09:58 +0200 Subject: [PATCH] MBEDTLS_DEBUG_C is compatible with every whole-module ALT except DHM It would be possible to make SSL debugging compatible with MBEDTLS_DHM_ALT, but too much low-priority work right now, so don't require it. Signed-off-by: Gilles Peskine --- tests/scripts/all.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh index 6f1f9c31c..142309957 100755 --- a/tests/scripts/all.sh +++ b/tests/scripts/all.sh @@ -1371,9 +1371,6 @@ component_build_module_alt () { # aesni.c and padlock.c reference mbedtls_aes_context fields directly. scripts/config.py unset MBEDTLS_AESNI_C scripts/config.py unset MBEDTLS_PADLOCK_C - # The debug code accesses DHM context fields directly, so it is - # incompatible with MBEDTLS_DHM_ALT. - scripts/config.py unset MBEDTLS_DEBUG_C # You can only have one threading implementation: alt or pthread, not both. scripts/config.py unset MBEDTLS_THREADING_PTHREAD # The SpecifiedECDomain parsing code accesses mbedtls_ecp_group fields @@ -1382,6 +1379,18 @@ component_build_module_alt () { # Enable all MBEDTLS_XXX_ALT for whole modules. Do not enable # MBEDTLS_XXX_YYY_ALT which are for single functions. scripts/config.py set-all 'MBEDTLS_([A-Z0-9]*|NIST_KW)_ALT' + scripts/config.py unset MBEDTLS_DHM_ALT #incompatible with MBEDTLS_DEBUG_C + # We can only compile, not link, since we don't have any implementations + # suitable for testing with the dummy alt headers. + make CC=gcc CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' lib +} + +component_build_dhm_alt () { + msg "build: MBEDTLS_DHM_ALT" # ~30s + scripts/config.py full + scripts/config.py set MBEDTLS_DHM_ALT + # debug.c currently references mbedtls_dhm_context fields directly. + scripts/config.py unset MBEDTLS_DEBUG_C # We can only compile, not link, since we don't have any implementations # suitable for testing with the dummy alt headers. make CC=gcc CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' lib