mbedtls/tests/scripts
Jaeden Amero 2eaf2c7969 ssl: Don't access non-existent encrypt_then_mac field
When MBEDTLS_SSL_ENCRYPT_THEN_MAC is enabled, but not
MBEDTLS_SSL_SOME_MODES_USE_MAC, mbedtls_ssl_derive_keys() and
build_transforms() will attempt to use a non-existent `encrypt_then_mac`
field in the ssl_transform.

    Compile [ 93.7%]: ssl_tls.c
    [Error] ssl_tls.c@865,14: 'mbedtls_ssl_transform {aka struct mbedtls_ssl_transform}' ha
s no member named 'encrypt_then_mac'
    [ERROR] ./mbed-os/features/mbedtls/src/ssl_tls.c: In function 'mbedtls_ssl_derive_keys'
:
    ./mbed-os/features/mbedtls/src/ssl_tls.c:865:14: error: 'mbedtls_ssl_transform {aka str
uct mbedtls_ssl_transform}' has no member named 'encrypt_then_mac'
         transform->encrypt_then_mac = session->encrypt_then_mac;
                  ^~

Change mbedtls_ssl_derive_keys() and build_transforms() to only access
`encrypt_then_mac` if `encrypt_then_mac` is actually present. Fix any
unused variable warnings along the way, by additionally wrapping
function parameters with MBEDTLS_SSL_SOME_MODES_USE_MAC.

Add a regression test to detect when we have regressions with
configurations that do not include any MAC ciphersuites.

Fixes 92231325a7 ("Reduce size of `ssl_transform` if no MAC ciphersuite is enabled")
2019-06-05 14:22:11 +01:00
..
all.sh ssl: Don't access non-existent encrypt_then_mac field 2019-06-05 14:22:11 +01:00
basic-build-test.sh
check-doxy-blocks.pl
check-files.py Merge remote-tracking branch 'origin/pr/566' into baremetal 2019-05-09 16:59:02 +01:00
check-generated-files.sh
check-names.sh Merge branch 'mbedtls-2.16' into baremetal 2019-06-04 09:39:51 +02:00
check-python-files.sh
curves.pl
depends-hashes.pl
depends-pkalgs.pl
doxygen.sh
gen_ctr_drbg.pl
gen_gcm_decrypt.pl
gen_gcm_encrypt.pl
gen_pkcs1_v21_sign_verify.pl
generate-afl-tests.sh
generate_test_code.py
key-exchanges.pl
list-enum-consts.pl
list-identifiers.sh
list-macros.sh
list-symbols.sh test: Always use make clean by itself 2019-05-31 17:49:25 +01:00
mbedtls_test.py
recursion.pl
run-test-suites.pl
tcp_client.pl
test-ref-configs.pl
test_generate_test_code.py
test_zeroize.gdb
travis-log-failure.sh
whitelist