mbedtls/tests/suites
Gilles Peskine 6667a78c9b Add test for mbedtls_net_poll beyond FD_SETSIZE
mbedtls_net_poll() and mbedtls_net_recv_timeout() rely on select(),
which represents sets of file descriptors through the fd_set type.
This type cannot hold file descriptors larger than FD_SETSIZE. Make
sure that these functions identify this failure code.

Without a proper range check of the file descriptor in the
mbedtls_net_xxx function, this test fails when running with UBSan:
```
net_poll beyond FD_SETSIZE ........................................ source/library/net_sockets.c:482:9: runtime error: index 16 out of bounds for type '__fd_mask [16]'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior source/library/net_sockets.c:482:9 in
```
This is a non-regression test for
https://github.com/ARMmbed/mbedtls/issues/4169 .

The implementation of this test is specific to Unix-like platforms.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-25 15:56:48 +01:00
..
helpers.function Make {USE_,}PSA_{INIT,DONE} available in all test suites 2021-02-22 19:08:14 +01:00
host_test.function Fix some C function documentation in the test framework 2021-02-23 20:36:07 +01:00
main_test.function Fix some C function documentation in the test framework 2021-02-23 20:36:07 +01:00
target_test.function Add documentation and minor style changes 2021-02-03 12:07:01 +00:00
test_suite_aes.cbc.data
test_suite_aes.cfb.data
test_suite_aes.ecb.data
test_suite_aes.function
test_suite_aes.ofb.data
test_suite_aes.rest.data
test_suite_aes.xts.data
test_suite_arc4.data
test_suite_arc4.function
test_suite_aria.data
test_suite_aria.function tests: Replace "TEST_ASSERT(!memcmp ...)" by ASSERT_COMPARE 2020-07-30 14:18:02 +02:00
test_suite_asn1parse.data
test_suite_asn1parse.function Add documentation and minor style changes 2021-02-03 12:07:01 +00:00
test_suite_asn1write.data
test_suite_asn1write.function Move helper testing functions to tests/src/helpers.c 2021-01-20 15:56:42 +00:00
test_suite_base64.data
test_suite_base64.function
test_suite_blowfish.data
test_suite_blowfish.function
test_suite_camellia.data
test_suite_camellia.function
test_suite_ccm.data Merge pull request #3772 from frestr/bugfix/ccm_add_length 2020-10-21 22:31:48 +02:00
test_suite_ccm.function More robust code to set the IV 2021-02-09 12:00:13 +01:00
test_suite_chacha20.data
test_suite_chacha20.function tests: Replace "TEST_ASSERT(!memcmp ...)" by ASSERT_COMPARE 2020-07-30 14:18:02 +02:00
test_suite_chachapoly.data
test_suite_chachapoly.function
test_suite_cipher.aes.data
test_suite_cipher.arc4.data
test_suite_cipher.aria.data
test_suite_cipher.blowfish.data
test_suite_cipher.camellia.data
test_suite_cipher.ccm.data
test_suite_cipher.chacha20.data
test_suite_cipher.chachapoly.data
test_suite_cipher.des.data
test_suite_cipher.function Include psa_crypto_helpers.h in helpers.function 2021-01-06 18:21:18 +01:00
test_suite_cipher.gcm.data
test_suite_cipher.misc.data
test_suite_cipher.nist_kw.data
test_suite_cipher.null.data
test_suite_cipher.padding.data
test_suite_cmac.data
test_suite_cmac.function
test_suite_ctr_drbg.data
test_suite_ctr_drbg.function Support set *_drbg reseed interval before seed 2020-11-25 14:25:56 -08:00
test_suite_debug.data
test_suite_debug.function
test_suite_des.data
test_suite_des.function
test_suite_dhm.data Test that overly large Diffie-Hellman keys are rejected 2020-12-02 15:25:27 +00:00
test_suite_dhm.function Test that overly large Diffie-Hellman keys are rejected 2020-12-02 15:25:27 +00:00
test_suite_ecdh.data
test_suite_ecdh.function
test_suite_ecdsa.data
test_suite_ecdsa.function
test_suite_ecjpake.data
test_suite_ecjpake.function
test_suite_ecp.data
test_suite_ecp.function
test_suite_entropy.data Add init-free tests for entropy 2021-02-22 21:24:02 +01:00
test_suite_entropy.function Add init-free tests for entropy 2021-02-22 21:24:02 +01:00
test_suite_error.data
test_suite_error.function
test_suite_gcm.aes128_de.data
test_suite_gcm.aes128_en.data
test_suite_gcm.aes192_de.data
test_suite_gcm.aes192_en.data
test_suite_gcm.aes256_de.data
test_suite_gcm.aes256_en.data
test_suite_gcm.camellia.data
test_suite_gcm.function
test_suite_gcm.misc.data
test_suite_hkdf.data
test_suite_hkdf.function tests: Replace "TEST_ASSERT(!memcmp ...)" by ASSERT_COMPARE 2020-07-30 14:18:02 +02:00
test_suite_hmac_drbg.function Support set *_drbg reseed interval before seed 2020-11-25 14:25:56 -08:00
test_suite_hmac_drbg.misc.data
test_suite_hmac_drbg.no_reseed.data
test_suite_hmac_drbg.nopr.data
test_suite_hmac_drbg.pr.data
test_suite_md.data
test_suite_md.function
test_suite_mdx.data
test_suite_mdx.function
test_suite_memory_buffer_alloc.data
test_suite_memory_buffer_alloc.function
test_suite_mpi.data Add mpi_sub_abs negative tests with a larger-in-size second operand 2021-02-01 17:28:03 +01:00
test_suite_mpi.function Merge branch 'development-restricted' into mbedtls-2.25.0r0-pr 2020-12-08 20:59:45 +00:00
test_suite_net.data Add test for mbedtls_net_poll beyond FD_SETSIZE 2021-02-25 15:56:48 +01:00
test_suite_net.function Add test for mbedtls_net_poll beyond FD_SETSIZE 2021-02-25 15:56:48 +01:00
test_suite_nist_kw.data
test_suite_nist_kw.function
test_suite_oid.data
test_suite_oid.function
test_suite_pem.data
test_suite_pem.function
test_suite_pk.data
test_suite_pk.function Make {USE_,}PSA_{INIT,DONE} available in all test suites 2021-02-22 19:08:14 +01:00
test_suite_pkcs1_v15.data
test_suite_pkcs1_v15.function
test_suite_pkcs1_v21.data
test_suite_pkcs1_v21.function
test_suite_pkcs5.data
test_suite_pkcs5.function
test_suite_pkparse.data
test_suite_pkparse.function
test_suite_pkwrite.data
test_suite_pkwrite.function Remove Extraneous bytes from buffer post pem write 2020-12-07 17:29:42 +00:00
test_suite_poly1305.data
test_suite_poly1305.function tests: Replace "TEST_ASSERT(!memcmp ...)" by ASSERT_COMPARE 2020-07-30 14:18:02 +02:00
test_suite_psa_crypto_attributes.data tests: psa: Move PSA key attributes tests 2021-02-01 13:17:23 +01:00
test_suite_psa_crypto_attributes.function tests: psa: Test PSA client-only code 2021-02-01 13:17:23 +01:00
test_suite_psa_crypto_driver_wrappers.data psa: driver wrappers: Add generate key unit test with no fallback 2021-02-16 09:07:46 +01:00
test_suite_psa_crypto_driver_wrappers.function Merge pull request #3984 from gabor-mezei-arm/3268_update_macros_for_ouput_buffer_size_renames 2021-01-29 09:31:59 +01:00
test_suite_psa_crypto_entropy.data Change PSA crypto test dependencies to PSA_WANT_xxx 2021-02-01 13:21:40 +01:00
test_suite_psa_crypto_entropy.function external_rng_failure_sign: more robust buffer management 2021-01-06 20:16:26 +01:00
test_suite_psa_crypto_hash.data Change PSA crypto test dependencies to PSA_WANT_xxx 2021-02-01 13:21:40 +01:00
test_suite_psa_crypto_hash.function Include psa_crypto_helpers.h in helpers.function 2021-01-06 18:21:18 +01:00
test_suite_psa_crypto_init.data
test_suite_psa_crypto_init.function Include psa_crypto_helpers.h in helpers.function 2021-01-06 18:21:18 +01:00
test_suite_psa_crypto_metadata.data Change PSA crypto test dependencies to PSA_WANT_xxx 2021-02-01 13:21:40 +01:00
test_suite_psa_crypto_metadata.function Merge pull request #4092 from ronald-cron-arm/psa-crypto-client 2021-02-15 10:46:35 +01:00
test_suite_psa_crypto_not_supported.function Fix test code under MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER 2021-02-17 14:58:29 +01:00
test_suite_psa_crypto_not_supported.generated.data Skip dependency symbols that are not implemented 2021-02-17 14:58:29 +01:00
test_suite_psa_crypto_not_supported.misc.data New test suite for not-supported cases: key creation (import, generate) 2021-02-17 14:50:17 +01:00
test_suite_psa_crypto_persistent_key.data Merge pull request #3872 from gabor-mezei-arm/3275_use_PSA_ERROR_DATA_INVALID_where_warranted 2021-02-03 20:54:46 +01:00
test_suite_psa_crypto_persistent_key.function Include psa_crypto_helpers.h in helpers.function 2021-01-06 18:21:18 +01:00
test_suite_psa_crypto_se_driver_hal_mocks.data
test_suite_psa_crypto_se_driver_hal_mocks.function Include psa_crypto_helpers.h in helpers.function 2021-01-06 18:21:18 +01:00
test_suite_psa_crypto_se_driver_hal.data psa: Forbid creation/registration of keys in vendor range 2020-11-10 18:19:59 +01:00
test_suite_psa_crypto_se_driver_hal.function Increment the test step number when invalidating a key 2021-02-23 20:36:07 +01:00
test_suite_psa_crypto_slot_management.data Change PSA crypto test dependencies to PSA_WANT_xxx 2021-02-01 13:21:40 +01:00
test_suite_psa_crypto_slot_management.function Increment the test step number when invalidating a key 2021-02-23 20:36:07 +01:00
test_suite_psa_crypto.data New test suite for not-supported cases: key creation (import, generate) 2021-02-17 14:50:17 +01:00
test_suite_psa_crypto.function Move exercise_key and related functions to their own module 2021-02-23 20:29:38 +01:00
test_suite_psa_its.data Update and add tests 2020-11-26 15:54:35 +01:00
test_suite_psa_its.function Update and add tests 2020-11-26 15:54:35 +01:00
test_suite_random.data Explain the "external RNG large" test case 2021-02-16 15:46:06 +01:00
test_suite_random.function Exclude random_twice tests with MBEDTLS_TEST_NULL_ENTROPY 2021-02-16 15:46:06 +01:00
test_suite_rsa.data Add init-free tests for RSA 2021-02-22 19:24:03 +01:00
test_suite_rsa.function Add init-free tests for RSA 2021-02-22 19:24:03 +01:00
test_suite_shax.data
test_suite_shax.function
test_suite_ssl.data Avoid duplicated test case names in TLS 1.3 key schedule unit tests 2020-09-09 13:52:40 +01:00
test_suite_ssl.function Add missing calls to USE_PSA_DONE 2021-02-22 19:08:14 +01:00
test_suite_timing.data
test_suite_timing.function
test_suite_version.data Bump version to Mbed TLS 2.25.0 2020-12-09 15:05:22 +00:00
test_suite_version.function
test_suite_x509parse.data Merge pull request #773 from paul-elliott-arm/discrepancy_cert 2020-12-03 12:19:39 +01:00
test_suite_x509parse.function Add missing calls to USE_PSA_DONE 2021-02-22 19:08:14 +01:00
test_suite_x509write.data Mark basic constraints critical as appropriate. 2020-09-21 18:25:35 -07:00
test_suite_x509write.function Make {USE_,}PSA_{INIT,DONE} available in all test suites 2021-02-22 19:08:14 +01:00
test_suite_xtea.data
test_suite_xtea.function