Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: WncControllerK64F
Dependents: WNCProximityMqtt Pubnub_ATT_IoT_SK_WNC_sync BluemixDemo BluemixQS ... more
check_config.h
00001 /** 00002 * \file check_config.h 00003 * 00004 * \brief Consistency checks for configuration options 00005 * 00006 * Copyright (C) 2006-2016, ARM Limited, All Rights Reserved 00007 * SPDX-License-Identifier: Apache-2.0 00008 * 00009 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00010 * not use this file except in compliance with the License. 00011 * You may obtain a copy of the License at 00012 * 00013 * http://www.apache.org/licenses/LICENSE-2.0 00014 * 00015 * Unless required by applicable law or agreed to in writing, software 00016 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00017 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00018 * See the License for the specific language governing permissions and 00019 * limitations under the License. 00020 * 00021 * This file is part of mbed TLS (https://tls.mbed.org) 00022 */ 00023 00024 /* 00025 * It is recommended to include this file from your config.h 00026 * in order to catch dependency issues early. 00027 */ 00028 00029 #ifndef MBEDTLS_CHECK_CONFIG_H 00030 #define MBEDTLS_CHECK_CONFIG_H 00031 00032 /* 00033 * We assume CHAR_BIT is 8 in many places. In practice, this is true on our 00034 * target platforms, so not an issue, but let's just be extra sure. 00035 */ 00036 #include <limits.h> 00037 #if CHAR_BIT != 8 00038 #error "mbed TLS requires a platform with 8-bit chars" 00039 #endif 00040 00041 #if defined(_WIN32) 00042 #if !defined(MBEDTLS_PLATFORM_C) 00043 #error "MBEDTLS_PLATFORM_C is required on Windows" 00044 #endif 00045 00046 /* Fix the config here. Not convenient to put an #ifdef _WIN32 in config.h as 00047 * it would confuse config.pl. */ 00048 #if !defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && \ 00049 !defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) 00050 #define MBEDTLS_PLATFORM_SNPRINTF_ALT 00051 #endif 00052 #endif /* _WIN32 */ 00053 00054 #if defined(TARGET_LIKE_MBED) && \ 00055 ( defined(MBEDTLS_NET_C) || defined(MBEDTLS_TIMING_C) ) 00056 #error "The NET and TIMING modules are not available for mbed OS - please use the network and timing functions provided by mbed OS" 00057 #endif 00058 00059 #if defined(MBEDTLS_DEPRECATED_WARNING) && \ 00060 !defined(__GNUC__) && !defined(__clang__) 00061 #error "MBEDTLS_DEPRECATED_WARNING only works with GCC and Clang" 00062 #endif 00063 00064 #if defined(MBEDTLS_HAVE_TIME_DATE) && !defined(MBEDTLS_HAVE_TIME) 00065 #error "MBEDTLS_HAVE_TIME_DATE without MBEDTLS_HAVE_TIME does not make sense" 00066 #endif 00067 00068 #if defined(MBEDTLS_AESNI_C) && !defined(MBEDTLS_HAVE_ASM) 00069 #error "MBEDTLS_AESNI_C defined, but not all prerequisites" 00070 #endif 00071 00072 #if defined(MBEDTLS_CTR_DRBG_C) && !defined(MBEDTLS_AES_C) 00073 #error "MBEDTLS_CTR_DRBG_C defined, but not all prerequisites" 00074 #endif 00075 00076 #if defined(MBEDTLS_DHM_C) && !defined(MBEDTLS_BIGNUM_C) 00077 #error "MBEDTLS_DHM_C defined, but not all prerequisites" 00078 #endif 00079 00080 #if defined(MBEDTLS_ECDH_C) && !defined(MBEDTLS_ECP_C) 00081 #error "MBEDTLS_ECDH_C defined, but not all prerequisites" 00082 #endif 00083 00084 #if defined(MBEDTLS_ECDSA_C) && \ 00085 ( !defined(MBEDTLS_ECP_C) || \ 00086 !defined(MBEDTLS_ASN1_PARSE_C) || \ 00087 !defined(MBEDTLS_ASN1_WRITE_C) ) 00088 #error "MBEDTLS_ECDSA_C defined, but not all prerequisites" 00089 #endif 00090 00091 #if defined(MBEDTLS_ECJPAKE_C) && \ 00092 ( !defined(MBEDTLS_ECP_C) || !defined(MBEDTLS_MD_C) ) 00093 #error "MBEDTLS_ECJPAKE_C defined, but not all prerequisites" 00094 #endif 00095 00096 #if defined(MBEDTLS_ECDSA_DETERMINISTIC) && !defined(MBEDTLS_HMAC_DRBG_C) 00097 #error "MBEDTLS_ECDSA_DETERMINISTIC defined, but not all prerequisites" 00098 #endif 00099 00100 #if defined(MBEDTLS_ECP_C) && ( !defined(MBEDTLS_BIGNUM_C) || ( \ 00101 !defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) && \ 00102 !defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) && \ 00103 !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) && \ 00104 !defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) && \ 00105 !defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) && \ 00106 !defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) && \ 00107 !defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) && \ 00108 !defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) && \ 00109 !defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) && \ 00110 !defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) && \ 00111 !defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) ) ) 00112 #error "MBEDTLS_ECP_C defined, but not all prerequisites" 00113 #endif 00114 00115 #if defined(MBEDTLS_ENTROPY_C) && (!defined(MBEDTLS_SHA512_C) && \ 00116 !defined(MBEDTLS_SHA256_C)) 00117 #error "MBEDTLS_ENTROPY_C defined, but not all prerequisites" 00118 #endif 00119 #if defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_SHA512_C) && \ 00120 defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) && (MBEDTLS_CTR_DRBG_ENTROPY_LEN > 64) 00121 #error "MBEDTLS_CTR_DRBG_ENTROPY_LEN value too high" 00122 #endif 00123 #if defined(MBEDTLS_ENTROPY_C) && \ 00124 ( !defined(MBEDTLS_SHA512_C) || defined(MBEDTLS_ENTROPY_FORCE_SHA256) ) \ 00125 && defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) && (MBEDTLS_CTR_DRBG_ENTROPY_LEN > 32) 00126 #error "MBEDTLS_CTR_DRBG_ENTROPY_LEN value too high" 00127 #endif 00128 #if defined(MBEDTLS_ENTROPY_C) && \ 00129 defined(MBEDTLS_ENTROPY_FORCE_SHA256) && !defined(MBEDTLS_SHA256_C) 00130 #error "MBEDTLS_ENTROPY_FORCE_SHA256 defined, but not all prerequisites" 00131 #endif 00132 00133 #if defined(MBEDTLS_TEST_NULL_ENTROPY) && \ 00134 ( !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) ) 00135 #error "MBEDTLS_TEST_NULL_ENTROPY defined, but not all prerequisites" 00136 #endif 00137 #if defined(MBEDTLS_TEST_NULL_ENTROPY) && \ 00138 ( defined(MBEDTLS_ENTROPY_NV_SEED) || defined(MBEDTLS_ENTROPY_HARDWARE_ALT) || \ 00139 defined(MBEDTLS_HAVEGE_C) ) 00140 #error "MBEDTLS_TEST_NULL_ENTROPY defined, but entropy sources too" 00141 #endif 00142 00143 #if defined(MBEDTLS_GCM_C) && ( \ 00144 !defined(MBEDTLS_AES_C) && !defined(MBEDTLS_CAMELLIA_C) ) 00145 #error "MBEDTLS_GCM_C defined, but not all prerequisites" 00146 #endif 00147 00148 #if defined(MBEDTLS_HAVEGE_C) && !defined(MBEDTLS_TIMING_C) 00149 #error "MBEDTLS_HAVEGE_C defined, but not all prerequisites" 00150 #endif 00151 00152 #if defined(MBEDTLS_HMAC_DRBG_C) && !defined(MBEDTLS_MD_C) 00153 #error "MBEDTLS_HMAC_DRBG_C defined, but not all prerequisites" 00154 #endif 00155 00156 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \ 00157 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) ) 00158 #error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites" 00159 #endif 00160 00161 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) && \ 00162 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) ) 00163 #error "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED defined, but not all prerequisites" 00164 #endif 00165 00166 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) && !defined(MBEDTLS_DHM_C) 00167 #error "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED defined, but not all prerequisites" 00168 #endif 00169 00170 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) && \ 00171 !defined(MBEDTLS_ECDH_C) 00172 #error "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED defined, but not all prerequisites" 00173 #endif 00174 00175 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) && \ 00176 ( !defined(MBEDTLS_DHM_C) || !defined(MBEDTLS_RSA_C) || \ 00177 !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) ) 00178 #error "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED defined, but not all prerequisites" 00179 #endif 00180 00181 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \ 00182 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_RSA_C) || \ 00183 !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) ) 00184 #error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites" 00185 #endif 00186 00187 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \ 00188 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_ECDSA_C) || \ 00189 !defined(MBEDTLS_X509_CRT_PARSE_C) ) 00190 #error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites" 00191 #endif 00192 00193 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) && \ 00194 ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \ 00195 !defined(MBEDTLS_PKCS1_V15) ) 00196 #error "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED defined, but not all prerequisites" 00197 #endif 00198 00199 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) && \ 00200 ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \ 00201 !defined(MBEDTLS_PKCS1_V15) ) 00202 #error "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites" 00203 #endif 00204 00205 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ 00206 ( !defined(MBEDTLS_ECJPAKE_C) || !defined(MBEDTLS_SHA256_C) || \ 00207 !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) ) 00208 #error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" 00209 #endif 00210 00211 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \ 00212 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) ) 00213 #error "MBEDTLS_MEMORY_BUFFER_ALLOC_C defined, but not all prerequisites" 00214 #endif 00215 00216 #if defined(MBEDTLS_PADLOCK_C) && !defined(MBEDTLS_HAVE_ASM) 00217 #error "MBEDTLS_PADLOCK_C defined, but not all prerequisites" 00218 #endif 00219 00220 #if defined(MBEDTLS_PEM_PARSE_C) && !defined(MBEDTLS_BASE64_C) 00221 #error "MBEDTLS_PEM_PARSE_C defined, but not all prerequisites" 00222 #endif 00223 00224 #if defined(MBEDTLS_PEM_WRITE_C) && !defined(MBEDTLS_BASE64_C) 00225 #error "MBEDTLS_PEM_WRITE_C defined, but not all prerequisites" 00226 #endif 00227 00228 #if defined(MBEDTLS_PK_C) && \ 00229 ( !defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_ECP_C) ) 00230 #error "MBEDTLS_PK_C defined, but not all prerequisites" 00231 #endif 00232 00233 #if defined(MBEDTLS_PK_PARSE_C) && !defined(MBEDTLS_PK_C) 00234 #error "MBEDTLS_PK_PARSE_C defined, but not all prerequisites" 00235 #endif 00236 00237 #if defined(MBEDTLS_PK_WRITE_C) && !defined(MBEDTLS_PK_C) 00238 #error "MBEDTLS_PK_WRITE_C defined, but not all prerequisites" 00239 #endif 00240 00241 #if defined(MBEDTLS_PKCS11_C) && !defined(MBEDTLS_PK_C) 00242 #error "MBEDTLS_PKCS11_C defined, but not all prerequisites" 00243 #endif 00244 00245 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) && !defined(MBEDTLS_PLATFORM_C) 00246 #error "MBEDTLS_PLATFORM_EXIT_ALT defined, but not all prerequisites" 00247 #endif 00248 00249 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00250 #error "MBEDTLS_PLATFORM_EXIT_MACRO defined, but not all prerequisites" 00251 #endif 00252 00253 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) &&\ 00254 ( defined(MBEDTLS_PLATFORM_STD_EXIT) ||\ 00255 defined(MBEDTLS_PLATFORM_EXIT_ALT) ) 00256 #error "MBEDTLS_PLATFORM_EXIT_MACRO and MBEDTLS_PLATFORM_STD_EXIT/MBEDTLS_PLATFORM_EXIT_ALT cannot be defined simultaneously" 00257 #endif 00258 00259 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) 00260 #error "MBEDTLS_PLATFORM_FPRINTF_ALT defined, but not all prerequisites" 00261 #endif 00262 00263 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00264 #error "MBEDTLS_PLATFORM_FPRINTF_MACRO defined, but not all prerequisites" 00265 #endif 00266 00267 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) &&\ 00268 ( defined(MBEDTLS_PLATFORM_STD_FPRINTF) ||\ 00269 defined(MBEDTLS_PLATFORM_FPRINTF_ALT) ) 00270 #error "MBEDTLS_PLATFORM_FPRINTF_MACRO and MBEDTLS_PLATFORM_STD_FPRINTF/MBEDTLS_PLATFORM_FPRINTF_ALT cannot be defined simultaneously" 00271 #endif 00272 00273 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) &&\ 00274 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) ) 00275 #error "MBEDTLS_PLATFORM_FREE_MACRO defined, but not all prerequisites" 00276 #endif 00277 00278 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) &&\ 00279 defined(MBEDTLS_PLATFORM_STD_FREE) 00280 #error "MBEDTLS_PLATFORM_FREE_MACRO and MBEDTLS_PLATFORM_STD_FREE cannot be defined simultaneously" 00281 #endif 00282 00283 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) && !defined(MBEDTLS_PLATFORM_CALLOC_MACRO) 00284 #error "MBEDTLS_PLATFORM_CALLOC_MACRO must be defined if MBEDTLS_PLATFORM_FREE_MACRO is" 00285 #endif 00286 00287 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&\ 00288 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) ) 00289 #error "MBEDTLS_PLATFORM_CALLOC_MACRO defined, but not all prerequisites" 00290 #endif 00291 00292 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&\ 00293 defined(MBEDTLS_PLATFORM_STD_CALLOC) 00294 #error "MBEDTLS_PLATFORM_CALLOC_MACRO and MBEDTLS_PLATFORM_STD_CALLOC cannot be defined simultaneously" 00295 #endif 00296 00297 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) && !defined(MBEDTLS_PLATFORM_FREE_MACRO) 00298 #error "MBEDTLS_PLATFORM_FREE_MACRO must be defined if MBEDTLS_PLATFORM_CALLOC_MACRO is" 00299 #endif 00300 00301 #if defined(MBEDTLS_PLATFORM_MEMORY) && !defined(MBEDTLS_PLATFORM_C) 00302 #error "MBEDTLS_PLATFORM_MEMORY defined, but not all prerequisites" 00303 #endif 00304 00305 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) 00306 #error "MBEDTLS_PLATFORM_PRINTF_ALT defined, but not all prerequisites" 00307 #endif 00308 00309 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00310 #error "MBEDTLS_PLATFORM_PRINTF_MACRO defined, but not all prerequisites" 00311 #endif 00312 00313 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) &&\ 00314 ( defined(MBEDTLS_PLATFORM_STD_PRINTF) ||\ 00315 defined(MBEDTLS_PLATFORM_PRINTF_ALT) ) 00316 #error "MBEDTLS_PLATFORM_PRINTF_MACRO and MBEDTLS_PLATFORM_STD_PRINTF/MBEDTLS_PLATFORM_PRINTF_ALT cannot be defined simultaneously" 00317 #endif 00318 00319 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) 00320 #error "MBEDTLS_PLATFORM_SNPRINTF_ALT defined, but not all prerequisites" 00321 #endif 00322 00323 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00324 #error "MBEDTLS_PLATFORM_SNPRINTF_MACRO defined, but not all prerequisites" 00325 #endif 00326 00327 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) &&\ 00328 ( defined(MBEDTLS_PLATFORM_STD_SNPRINTF) ||\ 00329 defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) ) 00330 #error "MBEDTLS_PLATFORM_SNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_SNPRINTF/MBEDTLS_PLATFORM_SNPRINTF_ALT cannot be defined simultaneously" 00331 #endif 00332 00333 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) &&\ 00334 !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 00335 #error "MBEDTLS_PLATFORM_STD_MEM_HDR defined, but not all prerequisites" 00336 #endif 00337 00338 #if defined(MBEDTLS_PLATFORM_STD_CALLOC) && !defined(MBEDTLS_PLATFORM_MEMORY) 00339 #error "MBEDTLS_PLATFORM_STD_CALLOC defined, but not all prerequisites" 00340 #endif 00341 00342 #if defined(MBEDTLS_PLATFORM_STD_CALLOC) && !defined(MBEDTLS_PLATFORM_MEMORY) 00343 #error "MBEDTLS_PLATFORM_STD_CALLOC defined, but not all prerequisites" 00344 #endif 00345 00346 #if defined(MBEDTLS_PLATFORM_STD_FREE) && !defined(MBEDTLS_PLATFORM_MEMORY) 00347 #error "MBEDTLS_PLATFORM_STD_FREE defined, but not all prerequisites" 00348 #endif 00349 00350 #if defined(MBEDTLS_PLATFORM_STD_EXIT) &&\ 00351 !defined(MBEDTLS_PLATFORM_EXIT_ALT) 00352 #error "MBEDTLS_PLATFORM_STD_EXIT defined, but not all prerequisites" 00353 #endif 00354 00355 #if defined(MBEDTLS_PLATFORM_STD_FPRINTF) &&\ 00356 !defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 00357 #error "MBEDTLS_PLATFORM_STD_FPRINTF defined, but not all prerequisites" 00358 #endif 00359 00360 #if defined(MBEDTLS_PLATFORM_STD_PRINTF) &&\ 00361 !defined(MBEDTLS_PLATFORM_PRINTF_ALT) 00362 #error "MBEDTLS_PLATFORM_STD_PRINTF defined, but not all prerequisites" 00363 #endif 00364 00365 #if defined(MBEDTLS_PLATFORM_STD_SNPRINTF) &&\ 00366 !defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 00367 #error "MBEDTLS_PLATFORM_STD_SNPRINTF defined, but not all prerequisites" 00368 #endif 00369 00370 #if defined(MBEDTLS_ENTROPY_NV_SEED) &&\ 00371 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_ENTROPY_C) ) 00372 #error "MBEDTLS_ENTROPY_NV_SEED defined, but not all prerequisites" 00373 #endif 00374 00375 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) &&\ 00376 !defined(MBEDTLS_ENTROPY_NV_SEED) 00377 #error "MBEDTLS_PLATFORM_NV_SEED_ALT defined, but not all prerequisites" 00378 #endif 00379 00380 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) &&\ 00381 !defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 00382 #error "MBEDTLS_PLATFORM_STD_NV_SEED_READ defined, but not all prerequisites" 00383 #endif 00384 00385 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) &&\ 00386 !defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 00387 #error "MBEDTLS_PLATFORM_STD_NV_SEED_WRITE defined, but not all prerequisites" 00388 #endif 00389 00390 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) &&\ 00391 ( defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) ||\ 00392 defined(MBEDTLS_PLATFORM_NV_SEED_ALT) ) 00393 #error "MBEDTLS_PLATFORM_NV_SEED_READ_MACRO and MBEDTLS_PLATFORM_STD_NV_SEED_READ cannot be defined simultaneously" 00394 #endif 00395 00396 #if defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO) &&\ 00397 ( defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) ||\ 00398 defined(MBEDTLS_PLATFORM_NV_SEED_ALT) ) 00399 #error "MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO and MBEDTLS_PLATFORM_STD_NV_SEED_WRITE cannot be defined simultaneously" 00400 #endif 00401 00402 #if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ 00403 !defined(MBEDTLS_OID_C) ) 00404 #error "MBEDTLS_RSA_C defined, but not all prerequisites" 00405 #endif 00406 00407 #if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_PKCS1_V21) && \ 00408 !defined(MBEDTLS_PKCS1_V15) ) 00409 #error "MBEDTLS_RSA_C defined, but none of the PKCS1 versions enabled" 00410 #endif 00411 00412 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && \ 00413 ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_PKCS1_V21) ) 00414 #error "MBEDTLS_X509_RSASSA_PSS_SUPPORT defined, but not all prerequisites" 00415 #endif 00416 00417 #if defined(MBEDTLS_SSL_PROTO_SSL3) && ( !defined(MBEDTLS_MD5_C) || \ 00418 !defined(MBEDTLS_SHA1_C) ) 00419 #error "MBEDTLS_SSL_PROTO_SSL3 defined, but not all prerequisites" 00420 #endif 00421 00422 #if defined(MBEDTLS_SSL_PROTO_TLS1) && ( !defined(MBEDTLS_MD5_C) || \ 00423 !defined(MBEDTLS_SHA1_C) ) 00424 #error "MBEDTLS_SSL_PROTO_TLS1 defined, but not all prerequisites" 00425 #endif 00426 00427 #if defined(MBEDTLS_SSL_PROTO_TLS1_1) && ( !defined(MBEDTLS_MD5_C) || \ 00428 !defined(MBEDTLS_SHA1_C) ) 00429 #error "MBEDTLS_SSL_PROTO_TLS1_1 defined, but not all prerequisites" 00430 #endif 00431 00432 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && ( !defined(MBEDTLS_SHA1_C) && \ 00433 !defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA512_C) ) 00434 #error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites" 00435 #endif 00436 00437 #if defined(MBEDTLS_SSL_PROTO_DTLS) && \ 00438 !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00439 !defined(MBEDTLS_SSL_PROTO_TLS1_2) 00440 #error "MBEDTLS_SSL_PROTO_DTLS defined, but not all prerequisites" 00441 #endif 00442 00443 #if defined(MBEDTLS_SSL_CLI_C) && !defined(MBEDTLS_SSL_TLS_C) 00444 #error "MBEDTLS_SSL_CLI_C defined, but not all prerequisites" 00445 #endif 00446 00447 #if defined(MBEDTLS_SSL_TLS_C) && ( !defined(MBEDTLS_CIPHER_C) || \ 00448 !defined(MBEDTLS_MD_C) ) 00449 #error "MBEDTLS_SSL_TLS_C defined, but not all prerequisites" 00450 #endif 00451 00452 #if defined(MBEDTLS_SSL_SRV_C) && !defined(MBEDTLS_SSL_TLS_C) 00453 #error "MBEDTLS_SSL_SRV_C defined, but not all prerequisites" 00454 #endif 00455 00456 #if defined(MBEDTLS_SSL_TLS_C) && (!defined(MBEDTLS_SSL_PROTO_SSL3) && \ 00457 !defined(MBEDTLS_SSL_PROTO_TLS1) && !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00458 !defined(MBEDTLS_SSL_PROTO_TLS1_2)) 00459 #error "MBEDTLS_SSL_TLS_C defined, but no protocols are active" 00460 #endif 00461 00462 #if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_SSL3) && \ 00463 defined(MBEDTLS_SSL_PROTO_TLS1_1) && !defined(MBEDTLS_SSL_PROTO_TLS1)) 00464 #error "Illegal protocol selection" 00465 #endif 00466 00467 #if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_TLS1) && \ 00468 defined(MBEDTLS_SSL_PROTO_TLS1_2) && !defined(MBEDTLS_SSL_PROTO_TLS1_1)) 00469 #error "Illegal protocol selection" 00470 #endif 00471 00472 #if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_SSL3) && \ 00473 defined(MBEDTLS_SSL_PROTO_TLS1_2) && (!defined(MBEDTLS_SSL_PROTO_TLS1) || \ 00474 !defined(MBEDTLS_SSL_PROTO_TLS1_1))) 00475 #error "Illegal protocol selection" 00476 #endif 00477 00478 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && !defined(MBEDTLS_SSL_PROTO_DTLS) 00479 #error "MBEDTLS_SSL_DTLS_HELLO_VERIFY defined, but not all prerequisites" 00480 #endif 00481 00482 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) && \ 00483 !defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) 00484 #error "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE defined, but not all prerequisites" 00485 #endif 00486 00487 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) && \ 00488 ( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) ) 00489 #error "MBEDTLS_SSL_DTLS_ANTI_REPLAY defined, but not all prerequisites" 00490 #endif 00491 00492 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT) && \ 00493 ( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) ) 00494 #error "MBEDTLS_SSL_DTLS_BADMAC_LIMIT defined, but not all prerequisites" 00495 #endif 00496 00497 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \ 00498 !defined(MBEDTLS_SSL_PROTO_TLS1) && \ 00499 !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00500 !defined(MBEDTLS_SSL_PROTO_TLS1_2) 00501 #error "MBEDTLS_SSL_ENCRYPT_THEN_MAC defined, but not all prerequsites" 00502 #endif 00503 00504 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) && \ 00505 !defined(MBEDTLS_SSL_PROTO_TLS1) && \ 00506 !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00507 !defined(MBEDTLS_SSL_PROTO_TLS1_2) 00508 #error "MBEDTLS_SSL_EXTENDED_MASTER_SECRET defined, but not all prerequsites" 00509 #endif 00510 00511 #if defined(MBEDTLS_SSL_TICKET_C) && !defined(MBEDTLS_CIPHER_C) 00512 #error "MBEDTLS_SSL_TICKET_C defined, but not all prerequisites" 00513 #endif 00514 00515 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING) && \ 00516 !defined(MBEDTLS_SSL_PROTO_SSL3) && !defined(MBEDTLS_SSL_PROTO_TLS1) 00517 #error "MBEDTLS_SSL_CBC_RECORD_SPLITTING defined, but not all prerequisites" 00518 #endif 00519 00520 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ 00521 !defined(MBEDTLS_X509_CRT_PARSE_C) 00522 #error "MBEDTLS_SSL_SERVER_NAME_INDICATION defined, but not all prerequisites" 00523 #endif 00524 00525 #if defined(MBEDTLS_THREADING_PTHREAD) 00526 #if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL) 00527 #error "MBEDTLS_THREADING_PTHREAD defined, but not all prerequisites" 00528 #endif 00529 #define MBEDTLS_THREADING_IMPL 00530 #endif 00531 00532 #if defined(MBEDTLS_THREADING_ALT) 00533 #if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL) 00534 #error "MBEDTLS_THREADING_ALT defined, but not all prerequisites" 00535 #endif 00536 #define MBEDTLS_THREADING_IMPL 00537 #endif 00538 00539 #if defined(MBEDTLS_THREADING_C) && !defined(MBEDTLS_THREADING_IMPL) 00540 #error "MBEDTLS_THREADING_C defined, single threading implementation required" 00541 #endif 00542 #undef MBEDTLS_THREADING_IMPL 00543 00544 #if defined(MBEDTLS_VERSION_FEATURES) && !defined(MBEDTLS_VERSION_C) 00545 #error "MBEDTLS_VERSION_FEATURES defined, but not all prerequisites" 00546 #endif 00547 00548 #if defined(MBEDTLS_X509_USE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ 00549 !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_PARSE_C) || \ 00550 !defined(MBEDTLS_PK_PARSE_C) ) 00551 #error "MBEDTLS_X509_USE_C defined, but not all prerequisites" 00552 #endif 00553 00554 #if defined(MBEDTLS_X509_CREATE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ 00555 !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_WRITE_C) || \ 00556 !defined(MBEDTLS_PK_WRITE_C) ) 00557 #error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites" 00558 #endif 00559 00560 #if defined(MBEDTLS_X509_CRT_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) 00561 #error "MBEDTLS_X509_CRT_PARSE_C defined, but not all prerequisites" 00562 #endif 00563 00564 #if defined(MBEDTLS_X509_CRL_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) 00565 #error "MBEDTLS_X509_CRL_PARSE_C defined, but not all prerequisites" 00566 #endif 00567 00568 #if defined(MBEDTLS_X509_CSR_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) 00569 #error "MBEDTLS_X509_CSR_PARSE_C defined, but not all prerequisites" 00570 #endif 00571 00572 #if defined(MBEDTLS_X509_CRT_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) ) 00573 #error "MBEDTLS_X509_CRT_WRITE_C defined, but not all prerequisites" 00574 #endif 00575 00576 #if defined(MBEDTLS_X509_CSR_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) ) 00577 #error "MBEDTLS_X509_CSR_WRITE_C defined, but not all prerequisites" 00578 #endif 00579 00580 /* 00581 * Avoid warning from -pedantic. This is a convenient place for this 00582 * workaround since this is included by every single file before the 00583 * #if defined(MBEDTLS_xxx_C) that results in emtpy translation units. 00584 */ 00585 typedef int mbedtls_iso_c_forbids_empty_translation_units; 00586 00587 #endif /* MBEDTLS_CHECK_CONFIG_H */
Generated on Tue Jul 12 2022 20:19:29 by
