Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 1 | /** |
Ronald Cron | e11ae17 | 2024-11-12 15:57:42 +0100 | [diff] [blame] | 2 | * \file mbedtls/check_config.h |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 3 | * |
| 4 | * \brief Consistency checks for configuration options |
Gilles Peskine | 975e74c | 2024-04-26 14:18:10 +0200 | [diff] [blame] | 5 | * |
| 6 | * This is an internal header. Do not include it directly. |
| 7 | * |
| 8 | * This header is included automatically by all public Mbed TLS headers |
| 9 | * (via mbedtls/build_info.h). Do not include it directly in a configuration |
| 10 | * file such as mbedtls/mbedtls_config.h or #MBEDTLS_USER_CONFIG_FILE! |
| 11 | * It would run at the wrong time due to missing derived symbols. |
Darryl Green | a40a101 | 2018-01-05 15:33:17 +0000 | [diff] [blame] | 12 | */ |
| 13 | /* |
Bence Szépkúti | 1e14827 | 2020-08-07 13:07:28 +0200 | [diff] [blame] | 14 | * Copyright The Mbed TLS Contributors |
Dave Rodgman | 16799db | 2023-11-02 19:47:20 +0000 | [diff] [blame] | 15 | * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 16 | */ |
| 17 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 18 | #ifndef MBEDTLS_CHECK_CONFIG_H |
| 19 | #define MBEDTLS_CHECK_CONFIG_H |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 20 | |
David Horstmann | 1b84781 | 2022-11-14 15:40:46 +0000 | [diff] [blame] | 21 | /* *INDENT-OFF* */ |
Gilles Peskine | 690fb5e | 2024-05-16 14:54:04 +0200 | [diff] [blame] | 22 | |
| 23 | #if !defined(MBEDTLS_CONFIG_IS_FINALIZED) |
| 24 | #warning "Do not include mbedtls/check_config.h manually! " \ |
| 25 | "This may cause spurious errors. " \ |
| 26 | "It is included automatically at the right point since Mbed TLS 3.0." |
| 27 | #endif /* !MBEDTLS_CONFIG_IS_FINALIZED */ |
| 28 | |
Jaeden Amero | 197496a | 2021-06-08 18:31:27 +0100 | [diff] [blame] | 29 | #if defined(TARGET_LIKE_MBED) && defined(MBEDTLS_NET_C) |
| 30 | #error "The NET module is not available for mbed OS - please use the network functions provided by Mbed OS" |
Manuel Pégourié-Gonnard | 63e7eba | 2015-07-28 14:17:48 +0200 | [diff] [blame] | 31 | #endif |
| 32 | |
Manuel Pégourié-Gonnard | 60c793b | 2015-06-18 20:52:58 +0200 | [diff] [blame] | 33 | #if defined(MBEDTLS_HAVE_TIME_DATE) && !defined(MBEDTLS_HAVE_TIME) |
| 34 | #error "MBEDTLS_HAVE_TIME_DATE without MBEDTLS_HAVE_TIME does not make sense" |
| 35 | #endif |
| 36 | |
Manuel Pégourié-Gonnard | 7f22f34 | 2023-09-28 09:46:22 +0200 | [diff] [blame] | 37 | /* Limitations on ECC curves acceleration: partial curve acceleration is only |
| 38 | * supported with crypto excluding PK, X.509 or TLS. |
| 39 | * Note: no need to check X.509 as it depends on PK. */ |
| 40 | #if defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256) || \ |
| 41 | defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384) || \ |
| 42 | defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512) || \ |
| 43 | defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255) || \ |
| 44 | defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448) || \ |
| 45 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192) || \ |
Manuel Pégourié-Gonnard | 7f22f34 | 2023-09-28 09:46:22 +0200 | [diff] [blame] | 46 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256) || \ |
| 47 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192) || \ |
| 48 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224) || \ |
| 49 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) || \ |
| 50 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384) || \ |
| 51 | defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521) |
| 52 | #if defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) |
Ronald Cron | e11ae17 | 2024-11-12 15:57:42 +0100 | [diff] [blame] | 53 | #if defined(MBEDTLS_SSL_TLS_C) |
Manuel Pégourié-Gonnard | 7f22f34 | 2023-09-28 09:46:22 +0200 | [diff] [blame] | 54 | #error "Unsupported partial support for ECC curves acceleration, see docs/driver-only-builds.md" |
| 55 | #endif /* modules beyond what's supported */ |
| 56 | #endif /* not all curves accelerated */ |
| 57 | #endif /* some curve accelerated */ |
| 58 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 59 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \ |
Valerio Setti | aa7cbd6 | 2023-07-07 17:22:17 +0200 | [diff] [blame] | 60 | ( !defined(MBEDTLS_CAN_ECDH) || \ |
Elena Uziunaite | 9c64764 | 2024-09-06 10:49:05 +0100 | [diff] [blame] | 61 | !defined(PSA_HAVE_ALG_ECDSA_SIGN) || \ |
Gilles Peskine | 7ab66a6 | 2018-09-14 17:47:41 +0200 | [diff] [blame] | 62 | !defined(MBEDTLS_X509_CRT_PARSE_C) ) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 63 | #error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 64 | #endif |
| 65 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 66 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) && \ |
Valerio Setti | aa7cbd6 | 2023-07-07 17:22:17 +0200 | [diff] [blame] | 67 | ( !defined(MBEDTLS_CAN_ECDH) || !defined(MBEDTLS_RSA_C) || \ |
Gilles Peskine | 7ab66a6 | 2018-09-14 17:47:41 +0200 | [diff] [blame] | 68 | !defined(MBEDTLS_X509_CRT_PARSE_C) ) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 69 | #error "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 70 | #endif |
| 71 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 72 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) && \ |
Valerio Setti | aa7cbd6 | 2023-07-07 17:22:17 +0200 | [diff] [blame] | 73 | !defined(MBEDTLS_CAN_ECDH) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 74 | #error "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 75 | #endif |
| 76 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 77 | #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) && \ |
| 78 | ( !defined(MBEDTLS_DHM_C) || !defined(MBEDTLS_RSA_C) || \ |
| 79 | !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) ) |
| 80 | #error "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 81 | #endif |
| 82 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 83 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \ |
Valerio Setti | aa7cbd6 | 2023-07-07 17:22:17 +0200 | [diff] [blame] | 84 | ( !defined(MBEDTLS_CAN_ECDH) || !defined(MBEDTLS_RSA_C) || \ |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 85 | !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) ) |
| 86 | #error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 87 | #endif |
| 88 | |
Manuel Pégourié-Gonnard | 45bcb6a | 2023-03-10 11:40:48 +0100 | [diff] [blame] | 89 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \ |
Valerio Setti | aa7cbd6 | 2023-07-07 17:22:17 +0200 | [diff] [blame] | 90 | ( !defined(MBEDTLS_CAN_ECDH) || \ |
Elena Uziunaite | 9c64764 | 2024-09-06 10:49:05 +0100 | [diff] [blame] | 91 | !defined(PSA_HAVE_ALG_ECDSA_SIGN) || \ |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 92 | !defined(MBEDTLS_X509_CRT_PARSE_C) ) |
| 93 | #error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 94 | #endif |
| 95 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 96 | #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) && \ |
| 97 | ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \ |
| 98 | !defined(MBEDTLS_PKCS1_V15) ) |
| 99 | #error "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 100 | #endif |
| 101 | |
Manuel Pégourié-Gonnard | e1f3faf | 2024-02-08 12:17:20 +0100 | [diff] [blame] | 102 | #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ |
| 103 | ( !defined(PSA_WANT_ALG_JPAKE) || \ |
| 104 | !defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \ |
| 105 | !defined(PSA_WANT_ECC_SECP_R1_256) ) |
Manuel Pégourié-Gonnard | 557535d | 2015-09-15 17:53:32 +0200 | [diff] [blame] | 106 | #error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" |
| 107 | #endif |
| 108 | |
Manuel Pégourié-Gonnard | 41bc8b6 | 2023-03-14 23:59:24 +0100 | [diff] [blame] | 109 | /* Use of EC J-PAKE in TLS requires SHA-256. */ |
Manuel Pégourié-Gonnard | 3c16abe | 2022-09-19 10:44:42 +0200 | [diff] [blame] | 110 | #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ |
Elena Uziunaite | c0d6943 | 2024-08-20 14:53:19 +0100 | [diff] [blame] | 111 | !defined(PSA_WANT_ALG_SHA_256) |
Manuel Pégourié-Gonnard | 3c16abe | 2022-09-19 10:44:42 +0200 | [diff] [blame] | 112 | #error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" |
| 113 | #endif |
| 114 | |
Gilles Peskine | eccd888 | 2020-03-10 12:19:08 +0100 | [diff] [blame] | 115 | #if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) && \ |
Manuel Pégourié-Gonnard | 49f64b4 | 2024-02-08 12:00:28 +0100 | [diff] [blame] | 116 | !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) && \ |
Elena Uziunaite | c0d6943 | 2024-08-20 14:53:19 +0100 | [diff] [blame] | 117 | !defined(PSA_WANT_ALG_SHA_256) && \ |
Elena Uziunaite | 05fe6e4 | 2024-09-03 16:52:28 +0100 | [diff] [blame] | 118 | !defined(PSA_WANT_ALG_SHA_512) && \ |
Elena Uziunaite | 9fc5be0 | 2024-09-04 18:12:59 +0100 | [diff] [blame] | 119 | !defined(PSA_WANT_ALG_SHA_1) |
Manuel Pégourié-Gonnard | 49f64b4 | 2024-02-08 12:00:28 +0100 | [diff] [blame] | 120 | #error "!MBEDTLS_SSL_KEEP_PEER_CERTIFICATE requires SHA-512, SHA-256 or SHA-1". |
Hanno Becker | fe4ef0c | 2019-02-26 11:43:09 +0000 | [diff] [blame] | 121 | #endif |
| 122 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 123 | #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && \ |
| 124 | ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_PKCS1_V21) ) |
| 125 | #error "MBEDTLS_X509_RSASSA_PSS_SUPPORT defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 9df5c96 | 2014-01-24 14:37:29 +0100 | [diff] [blame] | 126 | #endif |
| 127 | |
Manuel Pégourié-Gonnard | a31ddb9 | 2023-03-22 00:13:50 +0100 | [diff] [blame] | 128 | /* TLS 1.3 requires separate HKDF parts from PSA, |
| 129 | * and at least one ciphersuite, so at least SHA-256 or SHA-384 |
| 130 | * from PSA to use with HKDF. |
| 131 | * |
| 132 | * Note: for dependencies common with TLS 1.2 (running handshake hash), |
| 133 | * see MBEDTLS_SSL_TLS_C. */ |
Ronald Cron | 6f135e1 | 2021-12-08 16:57:54 +0100 | [diff] [blame] | 134 | #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ |
Antonio de Angelis | 7889fe7 | 2024-02-07 13:01:33 +0000 | [diff] [blame] | 135 | !(defined(MBEDTLS_PSA_CRYPTO_CLIENT) && \ |
Manuel Pégourié-Gonnard | a31ddb9 | 2023-03-22 00:13:50 +0100 | [diff] [blame] | 136 | defined(PSA_WANT_ALG_HKDF_EXTRACT) && \ |
| 137 | defined(PSA_WANT_ALG_HKDF_EXPAND) && \ |
| 138 | (defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_384))) |
Ronald Cron | 6f135e1 | 2021-12-08 16:57:54 +0100 | [diff] [blame] | 139 | #error "MBEDTLS_SSL_PROTO_TLS1_3 defined, but not all prerequisites" |
Hanno Becker | 6055a17 | 2020-06-02 06:20:23 +0100 | [diff] [blame] | 140 | #endif |
| 141 | |
Ronald Cron | d8d2ea5 | 2022-10-04 15:48:06 +0200 | [diff] [blame] | 142 | #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) |
Valerio Setti | a15078b | 2023-07-06 14:52:45 +0200 | [diff] [blame] | 143 | #if !( (defined(PSA_WANT_ALG_ECDH) || defined(PSA_WANT_ALG_FFDH)) && \ |
| 144 | defined(MBEDTLS_X509_CRT_PARSE_C) && \ |
Elena Uziunaite | 9c64764 | 2024-09-06 10:49:05 +0100 | [diff] [blame] | 145 | ( defined(PSA_HAVE_ALG_ECDSA_SIGN) || defined(MBEDTLS_PKCS1_V21) ) ) |
Ronald Cron | d8d2ea5 | 2022-10-04 15:48:06 +0200 | [diff] [blame] | 146 | #error "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED defined, but not all prerequisites" |
| 147 | #endif |
| 148 | #endif |
| 149 | |
| 150 | #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) |
Przemek Stekiel | ce05f54 | 2023-06-15 16:44:08 +0200 | [diff] [blame] | 151 | #if !( defined(PSA_WANT_ALG_ECDH) || defined(PSA_WANT_ALG_FFDH) ) |
Ronald Cron | d8d2ea5 | 2022-10-04 15:48:06 +0200 | [diff] [blame] | 152 | #error "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED defined, but not all prerequisites" |
| 153 | #endif |
| 154 | #endif |
| 155 | |
Tom Cosgrove | afb2fe1 | 2022-06-29 16:36:12 +0100 | [diff] [blame] | 156 | /* |
| 157 | * The current implementation of TLS 1.3 requires MBEDTLS_SSL_KEEP_PEER_CERTIFICATE. |
| 158 | */ |
| 159 | #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) |
| 160 | #error "MBEDTLS_SSL_PROTO_TLS1_3 defined without MBEDTLS_SSL_KEEP_PEER_CERTIFICATE" |
| 161 | #endif |
| 162 | |
TRodziewicz | 0f82ec6 | 2021-05-12 17:49:18 +0200 | [diff] [blame] | 163 | #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \ |
Simon Butcher | 432e702 | 2019-04-11 18:56:18 +0100 | [diff] [blame] | 164 | !(defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \ |
| 165 | defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ |
| 166 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ |
| 167 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \ |
| 168 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ |
| 169 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) || \ |
| 170 | defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \ |
Simon Butcher | 432e702 | 2019-04-11 18:56:18 +0100 | [diff] [blame] | 171 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \ |
| 172 | defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) ) |
| 173 | #error "One or more versions of the TLS protocol are enabled " \ |
| 174 | "but no key exchange methods defined with MBEDTLS_KEY_EXCHANGE_xxxx" |
| 175 | #endif |
| 176 | |
Xiaokang Qian | 95a0730 | 2022-10-25 02:56:00 +0000 | [diff] [blame] | 177 | #if defined(MBEDTLS_SSL_EARLY_DATA) && \ |
Xiaokang Qian | 402bb1e | 2022-11-10 10:38:17 +0000 | [diff] [blame] | 178 | ( !defined(MBEDTLS_SSL_SESSION_TICKETS) || \ |
| 179 | ( !defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) && \ |
| 180 | !defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) ) ) |
Xiaokang Qian | 95a0730 | 2022-10-25 02:56:00 +0000 | [diff] [blame] | 181 | #error "MBEDTLS_SSL_EARLY_DATA defined, but not all prerequisites" |
| 182 | #endif |
| 183 | |
Jerry Yu | 16f6853 | 2022-11-05 10:50:06 +0800 | [diff] [blame] | 184 | #if defined(MBEDTLS_SSL_EARLY_DATA) && defined(MBEDTLS_SSL_SRV_C) && \ |
Tom Cosgrove | 3b4471e | 2023-09-14 12:59:50 +0100 | [diff] [blame] | 185 | defined(MBEDTLS_SSL_MAX_EARLY_DATA_SIZE) && \ |
| 186 | ((MBEDTLS_SSL_MAX_EARLY_DATA_SIZE < 0) || \ |
| 187 | (MBEDTLS_SSL_MAX_EARLY_DATA_SIZE > UINT32_MAX)) |
| 188 | #error "MBEDTLS_SSL_MAX_EARLY_DATA_SIZE must be in the range(0..UINT32_MAX)" |
Jerry Yu | 16f6853 | 2022-11-05 10:50:06 +0800 | [diff] [blame] | 189 | #endif |
| 190 | |
Manuel Pégourié-Gonnard | 5a8d56d | 2015-05-13 10:10:00 +0200 | [diff] [blame] | 191 | #if defined(MBEDTLS_SSL_PROTO_DTLS) && \ |
Manuel Pégourié-Gonnard | 5a8d56d | 2015-05-13 10:10:00 +0200 | [diff] [blame] | 192 | !defined(MBEDTLS_SSL_PROTO_TLS1_2) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 193 | #error "MBEDTLS_SSL_PROTO_DTLS defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 0b1ff29 | 2014-02-06 13:04:16 +0100 | [diff] [blame] | 194 | #endif |
| 195 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 196 | #if defined(MBEDTLS_SSL_CLI_C) && !defined(MBEDTLS_SSL_TLS_C) |
| 197 | #error "MBEDTLS_SSL_CLI_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 198 | #endif |
| 199 | |
Valerio Setti | a4bb0fa | 2023-01-03 15:36:25 +0100 | [diff] [blame] | 200 | #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) && !defined(MBEDTLS_X509_CRT_PARSE_C) |
| 201 | #error "MBEDTLS_SSL_ASYNC_PRIVATE defined, but not all prerequisites" |
| 202 | #endif |
| 203 | |
Manuel Pégourié-Gonnard | a31ddb9 | 2023-03-22 00:13:50 +0100 | [diff] [blame] | 204 | /* TLS 1.2 and 1.3 require SHA-256 or SHA-384 (running handshake hash) */ |
Elena Uziunaite | feb105c | 2024-09-05 13:08:59 +0100 | [diff] [blame] | 205 | #if defined(MBEDTLS_SSL_TLS_C) && \ |
Elena Uziunaite | c0d6943 | 2024-08-20 14:53:19 +0100 | [diff] [blame] | 206 | !(defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_384)) |
Manuel Pégourié-Gonnard | 70a1b6d | 2023-03-24 10:30:40 +0100 | [diff] [blame] | 207 | #error "MBEDTLS_SSL_TLS_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | a31ddb9 | 2023-03-22 00:13:50 +0100 | [diff] [blame] | 208 | #endif |
Manuel Pégourié-Gonnard | a31ddb9 | 2023-03-22 00:13:50 +0100 | [diff] [blame] | 209 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 210 | #if defined(MBEDTLS_SSL_SRV_C) && !defined(MBEDTLS_SSL_TLS_C) |
| 211 | #error "MBEDTLS_SSL_SRV_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 212 | #endif |
| 213 | |
Jerry Yu | e0a6412 | 2021-12-23 11:06:26 +0800 | [diff] [blame] | 214 | #if defined(MBEDTLS_SSL_TLS_C) && \ |
| 215 | !( defined(MBEDTLS_SSL_PROTO_TLS1_2) || defined(MBEDTLS_SSL_PROTO_TLS1_3) ) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 216 | #error "MBEDTLS_SSL_TLS_C defined, but no protocols are active" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 217 | #endif |
| 218 | |
Manuel Pégourié-Gonnard | e057d3b | 2015-05-20 10:59:43 +0200 | [diff] [blame] | 219 | #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && !defined(MBEDTLS_SSL_PROTO_DTLS) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 220 | #error "MBEDTLS_SSL_DTLS_HELLO_VERIFY defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 82202f0 | 2014-07-23 00:28:58 +0200 | [diff] [blame] | 221 | #endif |
| 222 | |
Manuel Pégourié-Gonnard | 62c74bb | 2015-09-08 17:50:29 +0200 | [diff] [blame] | 223 | #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) && \ |
Manuel Pégourié-Gonnard | ddfe5d2 | 2015-09-09 12:46:16 +0200 | [diff] [blame] | 224 | !defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) |
Manuel Pégourié-Gonnard | 62c74bb | 2015-09-08 17:50:29 +0200 | [diff] [blame] | 225 | #error "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE defined, but not all prerequisites" |
| 226 | #endif |
| 227 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 228 | #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) && \ |
| 229 | ( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) ) |
| 230 | #error "MBEDTLS_SSL_DTLS_ANTI_REPLAY defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 8464a46 | 2014-09-24 14:05:32 +0200 | [diff] [blame] | 231 | #endif |
| 232 | |
Gilles Peskine | d3d0290 | 2020-03-04 21:35:27 +0100 | [diff] [blame] | 233 | #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ |
| 234 | ( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) ) |
| 235 | #error "MBEDTLS_SSL_DTLS_CONNECTION_ID defined, but not all prerequisites" |
| 236 | #endif |
| 237 | |
| 238 | #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ |
| 239 | defined(MBEDTLS_SSL_CID_IN_LEN_MAX) && \ |
| 240 | MBEDTLS_SSL_CID_IN_LEN_MAX > 255 |
| 241 | #error "MBEDTLS_SSL_CID_IN_LEN_MAX too large (max 255)" |
| 242 | #endif |
| 243 | |
| 244 | #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ |
| 245 | defined(MBEDTLS_SSL_CID_OUT_LEN_MAX) && \ |
| 246 | MBEDTLS_SSL_CID_OUT_LEN_MAX > 255 |
| 247 | #error "MBEDTLS_SSL_CID_OUT_LEN_MAX too large (max 255)" |
| 248 | #endif |
| 249 | |
Hannes Tschofenig | 88e5566 | 2022-11-23 10:14:54 +0100 | [diff] [blame] | 250 | #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) && \ |
| 251 | !defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) |
Tom Cosgrove | 1797b05 | 2022-12-04 17:19:59 +0000 | [diff] [blame] | 252 | #error "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT defined, but not all prerequisites" |
Hannes Tschofenig | fd6cca4 | 2021-10-12 09:22:33 +0200 | [diff] [blame] | 253 | #endif |
| 254 | |
Hannes Tschofenig | b2e6615 | 2022-11-23 10:53:44 +0100 | [diff] [blame] | 255 | #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) && MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT != 0 |
| 256 | #if defined(MBEDTLS_DEPRECATED_REMOVED) |
| 257 | #error "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT is deprecated and will be removed in a future version of Mbed TLS" |
| 258 | #elif defined(MBEDTLS_DEPRECATED_WARNING) |
| 259 | #warning "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT is deprecated and will be removed in a future version of Mbed TLS" |
| 260 | #endif |
| 261 | #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT && MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT != 0 */ |
Hannes Tschofenig | fd6cca4 | 2021-10-12 09:22:33 +0200 | [diff] [blame] | 262 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 263 | #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \ |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 264 | !defined(MBEDTLS_SSL_PROTO_TLS1_2) |
Shaun Case | 8b0ecbc | 2021-12-20 21:14:10 -0800 | [diff] [blame] | 265 | #error "MBEDTLS_SSL_ENCRYPT_THEN_MAC defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 699cafa | 2014-10-27 13:57:03 +0100 | [diff] [blame] | 266 | #endif |
| 267 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 268 | #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) && \ |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 269 | !defined(MBEDTLS_SSL_PROTO_TLS1_2) |
Shaun Case | 8b0ecbc | 2021-12-20 21:14:10 -0800 | [diff] [blame] | 270 | #error "MBEDTLS_SSL_EXTENDED_MASTER_SECRET defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 769c6b6 | 2014-10-28 14:13:55 +0100 | [diff] [blame] | 271 | #endif |
| 272 | |
Gilles Peskine | 7d3186d | 2022-08-12 22:43:18 +0200 | [diff] [blame] | 273 | #if defined(MBEDTLS_SSL_RENEGOTIATION) && \ |
| 274 | !defined(MBEDTLS_SSL_PROTO_TLS1_2) |
| 275 | #error "MBEDTLS_SSL_RENEGOTIATION defined, but not all prerequisites" |
| 276 | #endif |
| 277 | |
Przemek Stekiel | 52a428b | 2022-10-10 08:47:13 +0200 | [diff] [blame] | 278 | #if defined(MBEDTLS_SSL_TICKET_C) && \ |
Elena Uziunaite | c0d6943 | 2024-08-20 14:53:19 +0100 | [diff] [blame] | 279 | !( defined(PSA_WANT_ALG_CCM) || defined(PSA_WANT_ALG_GCM) || \ |
| 280 | defined(PSA_WANT_ALG_CHACHA20_POLY1305) ) |
Przemek Stekiel | d61a4d3 | 2022-10-11 09:40:40 +0200 | [diff] [blame] | 281 | #error "MBEDTLS_SSL_TICKET_C defined, but not all prerequisites" |
Przemek Stekiel | 52a428b | 2022-10-10 08:47:13 +0200 | [diff] [blame] | 282 | #endif |
| 283 | |
Jerry Yu | 9750f81 | 2022-07-20 11:04:50 +0800 | [diff] [blame] | 284 | #if defined(MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH) && \ |
| 285 | MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH >= 256 |
| 286 | #error "MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH must be less than 256" |
Jerry Yu | 08aed4d | 2022-07-20 10:36:12 +0800 | [diff] [blame] | 287 | #endif |
| 288 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 289 | #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ |
| 290 | !defined(MBEDTLS_X509_CRT_PARSE_C) |
| 291 | #error "MBEDTLS_SSL_SERVER_NAME_INDICATION defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 292 | #endif |
| 293 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 294 | #if defined(MBEDTLS_VERSION_FEATURES) && !defined(MBEDTLS_VERSION_C) |
| 295 | #error "MBEDTLS_VERSION_FEATURES defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 296 | #endif |
| 297 | |
Valerio Setti | c6aeb0d | 2023-07-27 10:10:28 +0200 | [diff] [blame] | 298 | #if defined(MBEDTLS_X509_USE_C) && \ |
| 299 | (!defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_PARSE_C) || \ |
Manuel Pégourié-Gonnard | 48e0e3a | 2025-01-23 09:42:54 +0100 | [diff] [blame^] | 300 | !defined(MBEDTLS_PK_PARSE_C)) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 301 | #error "MBEDTLS_X509_USE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 302 | #endif |
| 303 | |
Valerio Setti | c6aeb0d | 2023-07-27 10:10:28 +0200 | [diff] [blame] | 304 | #if defined(MBEDTLS_X509_CREATE_C) && \ |
| 305 | (!defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_WRITE_C) || \ |
Manuel Pégourié-Gonnard | 48e0e3a | 2025-01-23 09:42:54 +0100 | [diff] [blame^] | 306 | !defined(MBEDTLS_PK_PARSE_C)) |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 307 | #error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 308 | #endif |
| 309 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 310 | #if defined(MBEDTLS_X509_CRT_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) |
| 311 | #error "MBEDTLS_X509_CRT_PARSE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 312 | #endif |
| 313 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 314 | #if defined(MBEDTLS_X509_CRL_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) |
| 315 | #error "MBEDTLS_X509_CRL_PARSE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 316 | #endif |
| 317 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 318 | #if defined(MBEDTLS_X509_CSR_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) |
| 319 | #error "MBEDTLS_X509_CSR_PARSE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 320 | #endif |
| 321 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 322 | #if defined(MBEDTLS_X509_CRT_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) ) |
| 323 | #error "MBEDTLS_X509_CRT_WRITE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 324 | #endif |
| 325 | |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 326 | #if defined(MBEDTLS_X509_CSR_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) ) |
| 327 | #error "MBEDTLS_X509_CSR_WRITE_C defined, but not all prerequisites" |
Manuel Pégourié-Gonnard | 14d5595 | 2014-04-30 12:35:08 +0200 | [diff] [blame] | 328 | #endif |
| 329 | |
Valerio Setti | a4bb0fa | 2023-01-03 15:36:25 +0100 | [diff] [blame] | 330 | #if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) && \ |
Valerio Setti | 8e45cdd | 2023-01-05 09:32:29 +0100 | [diff] [blame] | 331 | ( !defined(MBEDTLS_X509_CRT_PARSE_C) ) |
Valerio Setti | a4bb0fa | 2023-01-03 15:36:25 +0100 | [diff] [blame] | 332 | #error "MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK defined, but not all prerequisites" |
| 333 | #endif |
| 334 | |
Ron Eldor | 3adb992 | 2017-12-21 10:15:08 +0200 | [diff] [blame] | 335 | #if defined(MBEDTLS_SSL_DTLS_SRTP) && ( !defined(MBEDTLS_SSL_PROTO_DTLS) ) |
| 336 | #error "MBEDTLS_SSL_DTLS_SRTP defined, but not all prerequisites" |
| 337 | #endif |
| 338 | |
Andrzej Kurek | 557289b | 2020-10-21 15:12:39 +0200 | [diff] [blame] | 339 | #if defined(MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH) && ( !defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) ) |
| 340 | #error "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH defined, but not all prerequisites" |
| 341 | #endif |
| 342 | |
Jan Bruckner | 151f642 | 2023-02-10 12:45:19 +0100 | [diff] [blame] | 343 | #if defined(MBEDTLS_SSL_RECORD_SIZE_LIMIT) && ( !defined(MBEDTLS_SSL_PROTO_TLS1_3) ) |
| 344 | #error "MBEDTLS_SSL_RECORD_SIZE_LIMIT defined, but not all prerequisites" |
| 345 | #endif |
| 346 | |
Valerio Setti | e7bac17 | 2023-10-02 16:03:42 +0200 | [diff] [blame] | 347 | #if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION) && \ |
Elena Uziunaite | c0d6943 | 2024-08-20 14:53:19 +0100 | [diff] [blame] | 348 | !( defined(PSA_WANT_ALG_CCM) || defined(PSA_WANT_ALG_GCM) || \ |
| 349 | defined(PSA_WANT_ALG_CHACHA20_POLY1305) ) |
Przemek Stekiel | d582a01 | 2022-09-28 07:59:01 +0200 | [diff] [blame] | 350 | #error "MBEDTLS_SSL_CONTEXT_SERIALIZATION defined, but not all prerequisites" |
| 351 | #endif |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 352 | |
| 353 | /* Reject attempts to enable options that have been removed and that could |
| 354 | * cause a build to succeed but with features removed. */ |
| 355 | |
| 356 | #if defined(MBEDTLS_HAVEGE_C) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 357 | #error "MBEDTLS_HAVEGE_C was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/2599" |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 358 | #endif |
| 359 | |
| 360 | #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 361 | #error "MBEDTLS_SSL_HW_RECORD_ACCEL was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4031" |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 362 | #endif |
| 363 | |
| 364 | #if defined(MBEDTLS_SSL_PROTO_SSL3) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 365 | #error "MBEDTLS_SSL_PROTO_SSL3 (SSL v3.0 support) was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4031" |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 366 | #endif |
| 367 | |
| 368 | #if defined(MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 369 | #error "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO (SSL v2 ClientHello support) was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4031" |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 370 | #endif |
| 371 | |
| 372 | #if defined(MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 373 | #error "MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT (compatibility with the buggy implementation of truncated HMAC in Mbed TLS up to 2.7) was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4031" |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 374 | #endif |
| 375 | |
| 376 | #if defined(MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES) //no-check-names |
Gilles Peskine | cc26e3b | 2021-04-21 19:01:59 +0200 | [diff] [blame] | 377 | #error "MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES was removed in Mbed TLS 3.0. See the ChangeLog entry if you really need SHA-1-signed certificates." |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 378 | #endif |
| 379 | |
| 380 | #if defined(MBEDTLS_ZLIB_SUPPORT) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 381 | #error "MBEDTLS_ZLIB_SUPPORT was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4031" |
Gilles Peskine | fa4e4b8 | 2021-04-21 18:45:41 +0200 | [diff] [blame] | 382 | #endif |
| 383 | |
TRodziewicz | cc70741 | 2021-05-14 15:08:04 +0200 | [diff] [blame] | 384 | #if defined(MBEDTLS_CHECK_PARAMS) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 385 | #error "MBEDTLS_CHECK_PARAMS was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4313" |
TRodziewicz | cc70741 | 2021-05-14 15:08:04 +0200 | [diff] [blame] | 386 | #endif |
| 387 | |
TRodziewicz | 4e57f4c | 2021-05-31 12:58:25 +0200 | [diff] [blame] | 388 | #if defined(MBEDTLS_SSL_CID_PADDING_GRANULARITY) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 389 | #error "MBEDTLS_SSL_CID_PADDING_GRANULARITY was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4335" |
TRodziewicz | 4e57f4c | 2021-05-31 12:58:25 +0200 | [diff] [blame] | 390 | #endif |
| 391 | |
| 392 | #if defined(MBEDTLS_SSL_TLS1_3_PADDING_GRANULARITY) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 393 | #error "MBEDTLS_SSL_TLS1_3_PADDING_GRANULARITY was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4335" |
TRodziewicz | 4e57f4c | 2021-05-31 12:58:25 +0200 | [diff] [blame] | 394 | #endif |
| 395 | |
Thomas Daubney | 4a7010d | 2021-06-15 12:54:14 +0100 | [diff] [blame] | 396 | #if defined(MBEDTLS_SSL_TRUNCATED_HMAC) //no-check-names |
Dave Rodgman | 017a199 | 2022-03-31 14:07:01 +0100 | [diff] [blame] | 397 | #error "MBEDTLS_SSL_TRUNCATED_HMAC was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4341" |
Thomas Daubney | 4a7010d | 2021-06-15 12:54:14 +0100 | [diff] [blame] | 398 | #endif |
| 399 | |
Nayna Jain | c9deb18 | 2020-11-16 19:03:12 +0000 | [diff] [blame] | 400 | #if defined(MBEDTLS_PKCS7_C) && ( ( !defined(MBEDTLS_ASN1_PARSE_C) ) || \ |
| 401 | ( !defined(MBEDTLS_OID_C) ) || ( !defined(MBEDTLS_PK_PARSE_C) ) || \ |
Valerio Setti | c6aeb0d | 2023-07-27 10:10:28 +0200 | [diff] [blame] | 402 | ( !defined(MBEDTLS_X509_CRT_PARSE_C) ) || \ |
| 403 | ( !defined(MBEDTLS_X509_CRL_PARSE_C) ) || \ |
Nick Child | 89e82e1 | 2022-11-09 10:36:10 -0600 | [diff] [blame] | 404 | ( !defined(MBEDTLS_MD_C) ) ) |
Nayna Jain | c9deb18 | 2020-11-16 19:03:12 +0000 | [diff] [blame] | 405 | #error "MBEDTLS_PKCS7_C is defined, but not all prerequisites" |
| 406 | #endif |
| 407 | |
David Horstmann | 1b84781 | 2022-11-14 15:40:46 +0000 | [diff] [blame] | 408 | /* *INDENT-ON* */ |
Manuel Pégourié-Gonnard | 2cf5a7c | 2015-04-08 12:49:31 +0200 | [diff] [blame] | 409 | #endif /* MBEDTLS_CHECK_CONFIG_H */ |