1/* 2 * Version feature information 3 * 4 * Copyright The Mbed TLS Contributors 5 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 6 */ 7 8#include "common.h" 9 10#if defined(MBEDTLS_VERSION_C) 11 12#include "mbedtls/version.h" 13 14#include <string.h> 15 16static const char * const features[] = { 17#if defined(MBEDTLS_VERSION_FEATURES) 18 #if defined(MBEDTLS_HAVE_ASM) 19 "HAVE_ASM", //no-check-names 20#endif /* MBEDTLS_HAVE_ASM */ 21#if defined(MBEDTLS_NO_UDBL_DIVISION) 22 "NO_UDBL_DIVISION", //no-check-names 23#endif /* MBEDTLS_NO_UDBL_DIVISION */ 24#if defined(MBEDTLS_NO_64BIT_MULTIPLICATION) 25 "NO_64BIT_MULTIPLICATION", //no-check-names 26#endif /* MBEDTLS_NO_64BIT_MULTIPLICATION */ 27#if defined(MBEDTLS_HAVE_SSE2) 28 "HAVE_SSE2", //no-check-names 29#endif /* MBEDTLS_HAVE_SSE2 */ 30#if defined(MBEDTLS_HAVE_TIME) 31 "HAVE_TIME", //no-check-names 32#endif /* MBEDTLS_HAVE_TIME */ 33#if defined(MBEDTLS_HAVE_TIME_DATE) 34 "HAVE_TIME_DATE", //no-check-names 35#endif /* MBEDTLS_HAVE_TIME_DATE */ 36#if defined(MBEDTLS_PLATFORM_MEMORY) 37 "PLATFORM_MEMORY", //no-check-names 38#endif /* MBEDTLS_PLATFORM_MEMORY */ 39#if defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 40 "PLATFORM_NO_STD_FUNCTIONS", //no-check-names 41#endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */ 42#if defined(MBEDTLS_PLATFORM_SETBUF_ALT) 43 "PLATFORM_SETBUF_ALT", //no-check-names 44#endif /* MBEDTLS_PLATFORM_SETBUF_ALT */ 45#if defined(MBEDTLS_PLATFORM_EXIT_ALT) 46 "PLATFORM_EXIT_ALT", //no-check-names 47#endif /* MBEDTLS_PLATFORM_EXIT_ALT */ 48#if defined(MBEDTLS_PLATFORM_TIME_ALT) 49 "PLATFORM_TIME_ALT", //no-check-names 50#endif /* MBEDTLS_PLATFORM_TIME_ALT */ 51#if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 52 "PLATFORM_FPRINTF_ALT", //no-check-names 53#endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */ 54#if defined(MBEDTLS_PLATFORM_PRINTF_ALT) 55 "PLATFORM_PRINTF_ALT", //no-check-names 56#endif /* MBEDTLS_PLATFORM_PRINTF_ALT */ 57#if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 58 "PLATFORM_SNPRINTF_ALT", //no-check-names 59#endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */ 60#if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT) 61 "PLATFORM_VSNPRINTF_ALT", //no-check-names 62#endif /* MBEDTLS_PLATFORM_VSNPRINTF_ALT */ 63#if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 64 "PLATFORM_NV_SEED_ALT", //no-check-names 65#endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */ 66#if defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT) 67 "PLATFORM_SETUP_TEARDOWN_ALT", //no-check-names 68#endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */ 69#if defined(MBEDTLS_PLATFORM_MS_TIME_ALT) 70 "PLATFORM_MS_TIME_ALT", //no-check-names 71#endif /* MBEDTLS_PLATFORM_MS_TIME_ALT */ 72#if defined(MBEDTLS_PLATFORM_GMTIME_R_ALT) 73 "PLATFORM_GMTIME_R_ALT", //no-check-names 74#endif /* MBEDTLS_PLATFORM_GMTIME_R_ALT */ 75#if defined(MBEDTLS_PLATFORM_ZEROIZE_ALT) 76 "PLATFORM_ZEROIZE_ALT", //no-check-names 77#endif /* MBEDTLS_PLATFORM_ZEROIZE_ALT */ 78#if defined(MBEDTLS_DEPRECATED_WARNING) 79 "DEPRECATED_WARNING", //no-check-names 80#endif /* MBEDTLS_DEPRECATED_WARNING */ 81#if defined(MBEDTLS_DEPRECATED_REMOVED) 82 "DEPRECATED_REMOVED", //no-check-names 83#endif /* MBEDTLS_DEPRECATED_REMOVED */ 84#if defined(MBEDTLS_TIMING_ALT) 85 "TIMING_ALT", //no-check-names 86#endif /* MBEDTLS_TIMING_ALT */ 87#if defined(MBEDTLS_AES_ALT) 88 "AES_ALT", //no-check-names 89#endif /* MBEDTLS_AES_ALT */ 90#if defined(MBEDTLS_ARIA_ALT) 91 "ARIA_ALT", //no-check-names 92#endif /* MBEDTLS_ARIA_ALT */ 93#if defined(MBEDTLS_CAMELLIA_ALT) 94 "CAMELLIA_ALT", //no-check-names 95#endif /* MBEDTLS_CAMELLIA_ALT */ 96#if defined(MBEDTLS_CCM_ALT) 97 "CCM_ALT", //no-check-names 98#endif /* MBEDTLS_CCM_ALT */ 99#if defined(MBEDTLS_CHACHA20_ALT) 100 "CHACHA20_ALT", //no-check-names 101#endif /* MBEDTLS_CHACHA20_ALT */ 102#if defined(MBEDTLS_CHACHAPOLY_ALT) 103 "CHACHAPOLY_ALT", //no-check-names 104#endif /* MBEDTLS_CHACHAPOLY_ALT */ 105#if defined(MBEDTLS_CMAC_ALT) 106 "CMAC_ALT", //no-check-names 107#endif /* MBEDTLS_CMAC_ALT */ 108#if defined(MBEDTLS_DES_ALT) 109 "DES_ALT", //no-check-names 110#endif /* MBEDTLS_DES_ALT */ 111#if defined(MBEDTLS_DHM_ALT) 112 "DHM_ALT", //no-check-names 113#endif /* MBEDTLS_DHM_ALT */ 114#if defined(MBEDTLS_ECJPAKE_ALT) 115 "ECJPAKE_ALT", //no-check-names 116#endif /* MBEDTLS_ECJPAKE_ALT */ 117#if defined(MBEDTLS_GCM_ALT) 118 "GCM_ALT", //no-check-names 119#endif /* MBEDTLS_GCM_ALT */ 120#if defined(MBEDTLS_NIST_KW_ALT) 121 "NIST_KW_ALT", //no-check-names 122#endif /* MBEDTLS_NIST_KW_ALT */ 123#if defined(MBEDTLS_MD5_ALT) 124 "MD5_ALT", //no-check-names 125#endif /* MBEDTLS_MD5_ALT */ 126#if defined(MBEDTLS_POLY1305_ALT) 127 "POLY1305_ALT", //no-check-names 128#endif /* MBEDTLS_POLY1305_ALT */ 129#if defined(MBEDTLS_RIPEMD160_ALT) 130 "RIPEMD160_ALT", //no-check-names 131#endif /* MBEDTLS_RIPEMD160_ALT */ 132#if defined(MBEDTLS_RSA_ALT) 133 "RSA_ALT", //no-check-names 134#endif /* MBEDTLS_RSA_ALT */ 135#if defined(MBEDTLS_SHA1_ALT) 136 "SHA1_ALT", //no-check-names 137#endif /* MBEDTLS_SHA1_ALT */ 138#if defined(MBEDTLS_SHA256_ALT) 139 "SHA256_ALT", //no-check-names 140#endif /* MBEDTLS_SHA256_ALT */ 141#if defined(MBEDTLS_SHA512_ALT) 142 "SHA512_ALT", //no-check-names 143#endif /* MBEDTLS_SHA512_ALT */ 144#if defined(MBEDTLS_ECP_ALT) 145 "ECP_ALT", //no-check-names 146#endif /* MBEDTLS_ECP_ALT */ 147#if defined(MBEDTLS_MD5_PROCESS_ALT) 148 "MD5_PROCESS_ALT", //no-check-names 149#endif /* MBEDTLS_MD5_PROCESS_ALT */ 150#if defined(MBEDTLS_RIPEMD160_PROCESS_ALT) 151 "RIPEMD160_PROCESS_ALT", //no-check-names 152#endif /* MBEDTLS_RIPEMD160_PROCESS_ALT */ 153#if defined(MBEDTLS_SHA1_PROCESS_ALT) 154 "SHA1_PROCESS_ALT", //no-check-names 155#endif /* MBEDTLS_SHA1_PROCESS_ALT */ 156#if defined(MBEDTLS_SHA256_PROCESS_ALT) 157 "SHA256_PROCESS_ALT", //no-check-names 158#endif /* MBEDTLS_SHA256_PROCESS_ALT */ 159#if defined(MBEDTLS_SHA512_PROCESS_ALT) 160 "SHA512_PROCESS_ALT", //no-check-names 161#endif /* MBEDTLS_SHA512_PROCESS_ALT */ 162#if defined(MBEDTLS_DES_SETKEY_ALT) 163 "DES_SETKEY_ALT", //no-check-names 164#endif /* MBEDTLS_DES_SETKEY_ALT */ 165#if defined(MBEDTLS_DES_CRYPT_ECB_ALT) 166 "DES_CRYPT_ECB_ALT", //no-check-names 167#endif /* MBEDTLS_DES_CRYPT_ECB_ALT */ 168#if defined(MBEDTLS_DES3_CRYPT_ECB_ALT) 169 "DES3_CRYPT_ECB_ALT", //no-check-names 170#endif /* MBEDTLS_DES3_CRYPT_ECB_ALT */ 171#if defined(MBEDTLS_AES_SETKEY_ENC_ALT) 172 "AES_SETKEY_ENC_ALT", //no-check-names 173#endif /* MBEDTLS_AES_SETKEY_ENC_ALT */ 174#if defined(MBEDTLS_AES_SETKEY_DEC_ALT) 175 "AES_SETKEY_DEC_ALT", //no-check-names 176#endif /* MBEDTLS_AES_SETKEY_DEC_ALT */ 177#if defined(MBEDTLS_AES_ENCRYPT_ALT) 178 "AES_ENCRYPT_ALT", //no-check-names 179#endif /* MBEDTLS_AES_ENCRYPT_ALT */ 180#if defined(MBEDTLS_AES_DECRYPT_ALT) 181 "AES_DECRYPT_ALT", //no-check-names 182#endif /* MBEDTLS_AES_DECRYPT_ALT */ 183#if defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT) 184 "ECDH_GEN_PUBLIC_ALT", //no-check-names 185#endif /* MBEDTLS_ECDH_GEN_PUBLIC_ALT */ 186#if defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT) 187 "ECDH_COMPUTE_SHARED_ALT", //no-check-names 188#endif /* MBEDTLS_ECDH_COMPUTE_SHARED_ALT */ 189#if defined(MBEDTLS_ECDSA_VERIFY_ALT) 190 "ECDSA_VERIFY_ALT", //no-check-names 191#endif /* MBEDTLS_ECDSA_VERIFY_ALT */ 192#if defined(MBEDTLS_ECDSA_SIGN_ALT) 193 "ECDSA_SIGN_ALT", //no-check-names 194#endif /* MBEDTLS_ECDSA_SIGN_ALT */ 195#if defined(MBEDTLS_ECDSA_GENKEY_ALT) 196 "ECDSA_GENKEY_ALT", //no-check-names 197#endif /* MBEDTLS_ECDSA_GENKEY_ALT */ 198#if defined(MBEDTLS_ECP_INTERNAL_ALT) 199 "ECP_INTERNAL_ALT", //no-check-names 200#endif /* MBEDTLS_ECP_INTERNAL_ALT */ 201#if defined(MBEDTLS_ECP_NO_FALLBACK) 202 "ECP_NO_FALLBACK", //no-check-names 203#endif /* MBEDTLS_ECP_NO_FALLBACK */ 204#if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT) 205 "ECP_RANDOMIZE_JAC_ALT", //no-check-names 206#endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */ 207#if defined(MBEDTLS_ECP_ADD_MIXED_ALT) 208 "ECP_ADD_MIXED_ALT", //no-check-names 209#endif /* MBEDTLS_ECP_ADD_MIXED_ALT */ 210#if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT) 211 "ECP_DOUBLE_JAC_ALT", //no-check-names 212#endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */ 213#if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT) 214 "ECP_NORMALIZE_JAC_MANY_ALT", //no-check-names 215#endif /* MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT */ 216#if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT) 217 "ECP_NORMALIZE_JAC_ALT", //no-check-names 218#endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */ 219#if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT) 220 "ECP_DOUBLE_ADD_MXZ_ALT", //no-check-names 221#endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */ 222#if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT) 223 "ECP_RANDOMIZE_MXZ_ALT", //no-check-names 224#endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */ 225#if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT) 226 "ECP_NORMALIZE_MXZ_ALT", //no-check-names 227#endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */ 228#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) 229 "ENTROPY_HARDWARE_ALT", //no-check-names 230#endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */ 231#if defined(MBEDTLS_AES_ROM_TABLES) 232 "AES_ROM_TABLES", //no-check-names 233#endif /* MBEDTLS_AES_ROM_TABLES */ 234#if defined(MBEDTLS_AES_FEWER_TABLES) 235 "AES_FEWER_TABLES", //no-check-names 236#endif /* MBEDTLS_AES_FEWER_TABLES */ 237#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH) 238 "AES_ONLY_128_BIT_KEY_LENGTH", //no-check-names 239#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */ 240#if defined(MBEDTLS_AES_USE_HARDWARE_ONLY) 241 "AES_USE_HARDWARE_ONLY", //no-check-names 242#endif /* MBEDTLS_AES_USE_HARDWARE_ONLY */ 243#if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY) 244 "CAMELLIA_SMALL_MEMORY", //no-check-names 245#endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */ 246#if defined(MBEDTLS_CHECK_RETURN_WARNING) 247 "CHECK_RETURN_WARNING", //no-check-names 248#endif /* MBEDTLS_CHECK_RETURN_WARNING */ 249#if defined(MBEDTLS_CIPHER_MODE_CBC) 250 "CIPHER_MODE_CBC", //no-check-names 251#endif /* MBEDTLS_CIPHER_MODE_CBC */ 252#if defined(MBEDTLS_CIPHER_MODE_CFB) 253 "CIPHER_MODE_CFB", //no-check-names 254#endif /* MBEDTLS_CIPHER_MODE_CFB */ 255#if defined(MBEDTLS_CIPHER_MODE_CTR) 256 "CIPHER_MODE_CTR", //no-check-names 257#endif /* MBEDTLS_CIPHER_MODE_CTR */ 258#if defined(MBEDTLS_CIPHER_MODE_OFB) 259 "CIPHER_MODE_OFB", //no-check-names 260#endif /* MBEDTLS_CIPHER_MODE_OFB */ 261#if defined(MBEDTLS_CIPHER_MODE_XTS) 262 "CIPHER_MODE_XTS", //no-check-names 263#endif /* MBEDTLS_CIPHER_MODE_XTS */ 264#if defined(MBEDTLS_CIPHER_NULL_CIPHER) 265 "CIPHER_NULL_CIPHER", //no-check-names 266#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 267#if defined(MBEDTLS_CIPHER_PADDING_PKCS7) 268 "CIPHER_PADDING_PKCS7", //no-check-names 269#endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */ 270#if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS) 271 "CIPHER_PADDING_ONE_AND_ZEROS", //no-check-names 272#endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */ 273#if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN) 274 "CIPHER_PADDING_ZEROS_AND_LEN", //no-check-names 275#endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */ 276#if defined(MBEDTLS_CIPHER_PADDING_ZEROS) 277 "CIPHER_PADDING_ZEROS", //no-check-names 278#endif /* MBEDTLS_CIPHER_PADDING_ZEROS */ 279#if defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY) 280 "CTR_DRBG_USE_128_BIT_KEY", //no-check-names 281#endif /* MBEDTLS_CTR_DRBG_USE_128_BIT_KEY */ 282#if defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) 283 "ECDH_VARIANT_EVEREST_ENABLED", //no-check-names 284#endif /* MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED */ 285#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 286 "ECP_DP_SECP192R1_ENABLED", //no-check-names 287#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */ 288#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 289 "ECP_DP_SECP224R1_ENABLED", //no-check-names 290#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */ 291#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 292 "ECP_DP_SECP256R1_ENABLED", //no-check-names 293#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */ 294#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 295 "ECP_DP_SECP384R1_ENABLED", //no-check-names 296#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 297#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 298 "ECP_DP_SECP521R1_ENABLED", //no-check-names 299#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */ 300#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 301 "ECP_DP_SECP192K1_ENABLED", //no-check-names 302#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */ 303#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 304 "ECP_DP_SECP224K1_ENABLED", //no-check-names 305#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */ 306#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 307 "ECP_DP_SECP256K1_ENABLED", //no-check-names 308#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */ 309#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 310 "ECP_DP_BP256R1_ENABLED", //no-check-names 311#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */ 312#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 313 "ECP_DP_BP384R1_ENABLED", //no-check-names 314#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */ 315#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 316 "ECP_DP_BP512R1_ENABLED", //no-check-names 317#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */ 318#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 319 "ECP_DP_CURVE25519_ENABLED", //no-check-names 320#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */ 321#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 322 "ECP_DP_CURVE448_ENABLED", //no-check-names 323#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */ 324#if defined(MBEDTLS_ECP_NIST_OPTIM) 325 "ECP_NIST_OPTIM", //no-check-names 326#endif /* MBEDTLS_ECP_NIST_OPTIM */ 327#if defined(MBEDTLS_ECP_RESTARTABLE) 328 "ECP_RESTARTABLE", //no-check-names 329#endif /* MBEDTLS_ECP_RESTARTABLE */ 330#if defined(MBEDTLS_ECP_WITH_MPI_UINT) 331 "ECP_WITH_MPI_UINT", //no-check-names 332#endif /* MBEDTLS_ECP_WITH_MPI_UINT */ 333#if defined(MBEDTLS_ECDSA_DETERMINISTIC) 334 "ECDSA_DETERMINISTIC", //no-check-names 335#endif /* MBEDTLS_ECDSA_DETERMINISTIC */ 336#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 337 "KEY_EXCHANGE_PSK_ENABLED", //no-check-names 338#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 339#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 340 "KEY_EXCHANGE_DHE_PSK_ENABLED", //no-check-names 341#endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 342#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 343 "KEY_EXCHANGE_ECDHE_PSK_ENABLED", //no-check-names 344#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 345#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 346 "KEY_EXCHANGE_RSA_PSK_ENABLED", //no-check-names 347#endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 348#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 349 "KEY_EXCHANGE_RSA_ENABLED", //no-check-names 350#endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 351#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 352 "KEY_EXCHANGE_DHE_RSA_ENABLED", //no-check-names 353#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 354#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 355 "KEY_EXCHANGE_ECDHE_RSA_ENABLED", //no-check-names 356#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 357#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 358 "KEY_EXCHANGE_ECDHE_ECDSA_ENABLED", //no-check-names 359#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 360#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 361 "KEY_EXCHANGE_ECDH_ECDSA_ENABLED", //no-check-names 362#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 363#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 364 "KEY_EXCHANGE_ECDH_RSA_ENABLED", //no-check-names 365#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 366#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 367 "KEY_EXCHANGE_ECJPAKE_ENABLED", //no-check-names 368#endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 369#if defined(MBEDTLS_PK_PARSE_EC_EXTENDED) 370 "PK_PARSE_EC_EXTENDED", //no-check-names 371#endif /* MBEDTLS_PK_PARSE_EC_EXTENDED */ 372#if defined(MBEDTLS_PK_PARSE_EC_COMPRESSED) 373 "PK_PARSE_EC_COMPRESSED", //no-check-names 374#endif /* MBEDTLS_PK_PARSE_EC_COMPRESSED */ 375#if defined(MBEDTLS_ERROR_STRERROR_DUMMY) 376 "ERROR_STRERROR_DUMMY", //no-check-names 377#endif /* MBEDTLS_ERROR_STRERROR_DUMMY */ 378#if defined(MBEDTLS_GENPRIME) 379 "GENPRIME", //no-check-names 380#endif /* MBEDTLS_GENPRIME */ 381#if defined(MBEDTLS_FS_IO) 382 "FS_IO", //no-check-names 383#endif /* MBEDTLS_FS_IO */ 384#if defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) 385 "NO_DEFAULT_ENTROPY_SOURCES", //no-check-names 386#endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */ 387#if defined(MBEDTLS_NO_PLATFORM_ENTROPY) 388 "NO_PLATFORM_ENTROPY", //no-check-names 389#endif /* MBEDTLS_NO_PLATFORM_ENTROPY */ 390#if defined(MBEDTLS_ENTROPY_FORCE_SHA256) 391 "ENTROPY_FORCE_SHA256", //no-check-names 392#endif /* MBEDTLS_ENTROPY_FORCE_SHA256 */ 393#if defined(MBEDTLS_ENTROPY_NV_SEED) 394 "ENTROPY_NV_SEED", //no-check-names 395#endif /* MBEDTLS_ENTROPY_NV_SEED */ 396#if defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER) 397 "PSA_CRYPTO_KEY_ID_ENCODES_OWNER", //no-check-names 398#endif /* MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER */ 399#if defined(MBEDTLS_MEMORY_DEBUG) 400 "MEMORY_DEBUG", //no-check-names 401#endif /* MBEDTLS_MEMORY_DEBUG */ 402#if defined(MBEDTLS_MEMORY_BACKTRACE) 403 "MEMORY_BACKTRACE", //no-check-names 404#endif /* MBEDTLS_MEMORY_BACKTRACE */ 405#if defined(MBEDTLS_PK_RSA_ALT_SUPPORT) 406 "PK_RSA_ALT_SUPPORT", //no-check-names 407#endif /* MBEDTLS_PK_RSA_ALT_SUPPORT */ 408#if defined(MBEDTLS_PKCS1_V15) 409 "PKCS1_V15", //no-check-names 410#endif /* MBEDTLS_PKCS1_V15 */ 411#if defined(MBEDTLS_PKCS1_V21) 412 "PKCS1_V21", //no-check-names 413#endif /* MBEDTLS_PKCS1_V21 */ 414#if defined(MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS) 415 "PSA_CRYPTO_BUILTIN_KEYS", //no-check-names 416#endif /* MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */ 417#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) 418 "PSA_CRYPTO_CLIENT", //no-check-names 419#endif /* MBEDTLS_PSA_CRYPTO_CLIENT */ 420#if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) 421 "PSA_CRYPTO_EXTERNAL_RNG", //no-check-names 422#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */ 423#if defined(MBEDTLS_PSA_CRYPTO_SPM) 424 "PSA_CRYPTO_SPM", //no-check-names 425#endif /* MBEDTLS_PSA_CRYPTO_SPM */ 426#if defined(MBEDTLS_PSA_P256M_DRIVER_ENABLED) 427 "PSA_P256M_DRIVER_ENABLED", //no-check-names 428#endif /* MBEDTLS_PSA_P256M_DRIVER_ENABLED */ 429#if defined(MBEDTLS_PSA_INJECT_ENTROPY) 430 "PSA_INJECT_ENTROPY", //no-check-names 431#endif /* MBEDTLS_PSA_INJECT_ENTROPY */ 432#if defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS) 433 "PSA_ASSUME_EXCLUSIVE_BUFFERS", //no-check-names 434#endif /* MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS */ 435#if defined(MBEDTLS_RSA_NO_CRT) 436 "RSA_NO_CRT", //no-check-names 437#endif /* MBEDTLS_RSA_NO_CRT */ 438#if defined(MBEDTLS_SELF_TEST) 439 "SELF_TEST", //no-check-names 440#endif /* MBEDTLS_SELF_TEST */ 441#if defined(MBEDTLS_SHA256_SMALLER) 442 "SHA256_SMALLER", //no-check-names 443#endif /* MBEDTLS_SHA256_SMALLER */ 444#if defined(MBEDTLS_SHA512_SMALLER) 445 "SHA512_SMALLER", //no-check-names 446#endif /* MBEDTLS_SHA512_SMALLER */ 447#if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES) 448 "SSL_ALL_ALERT_MESSAGES", //no-check-names 449#endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */ 450#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 451 "SSL_DTLS_CONNECTION_ID", //no-check-names 452#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ 453#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) 454 "SSL_DTLS_CONNECTION_ID_COMPAT", //no-check-names 455#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT */ 456#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) 457 "SSL_ASYNC_PRIVATE", //no-check-names 458#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ 459#if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION) 460 "SSL_CONTEXT_SERIALIZATION", //no-check-names 461#endif /* MBEDTLS_SSL_CONTEXT_SERIALIZATION */ 462#if defined(MBEDTLS_SSL_DEBUG_ALL) 463 "SSL_DEBUG_ALL", //no-check-names 464#endif /* MBEDTLS_SSL_DEBUG_ALL */ 465#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) 466 "SSL_ENCRYPT_THEN_MAC", //no-check-names 467#endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */ 468#if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) 469 "SSL_EXTENDED_MASTER_SECRET", //no-check-names 470#endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */ 471#if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) 472 "SSL_KEEP_PEER_CERTIFICATE", //no-check-names 473#endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ 474#if defined(MBEDTLS_SSL_RENEGOTIATION) 475 "SSL_RENEGOTIATION", //no-check-names 476#endif /* MBEDTLS_SSL_RENEGOTIATION */ 477#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) 478 "SSL_MAX_FRAGMENT_LENGTH", //no-check-names 479#endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */ 480#if defined(MBEDTLS_SSL_RECORD_SIZE_LIMIT) 481 "SSL_RECORD_SIZE_LIMIT", //no-check-names 482#endif /* MBEDTLS_SSL_RECORD_SIZE_LIMIT */ 483#if defined(MBEDTLS_SSL_PROTO_TLS1_2) 484 "SSL_PROTO_TLS1_2", //no-check-names 485#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ 486#if defined(MBEDTLS_SSL_PROTO_TLS1_3) 487 "SSL_PROTO_TLS1_3", //no-check-names 488#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ 489#if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE) 490 "SSL_TLS1_3_COMPATIBILITY_MODE", //no-check-names 491#endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ 492#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) 493 "SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED", //no-check-names 494#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */ 495#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) 496 "SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED", //no-check-names 497#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ 498#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) 499 "SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED", //no-check-names 500#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */ 501#if defined(MBEDTLS_SSL_EARLY_DATA) 502 "SSL_EARLY_DATA", //no-check-names 503#endif /* MBEDTLS_SSL_EARLY_DATA */ 504#if defined(MBEDTLS_SSL_PROTO_DTLS) 505 "SSL_PROTO_DTLS", //no-check-names 506#endif /* MBEDTLS_SSL_PROTO_DTLS */ 507#if defined(MBEDTLS_SSL_ALPN) 508 "SSL_ALPN", //no-check-names 509#endif /* MBEDTLS_SSL_ALPN */ 510#if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) 511 "SSL_DTLS_ANTI_REPLAY", //no-check-names 512#endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */ 513#if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) 514 "SSL_DTLS_HELLO_VERIFY", //no-check-names 515#endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */ 516#if defined(MBEDTLS_SSL_DTLS_SRTP) 517 "SSL_DTLS_SRTP", //no-check-names 518#endif /* MBEDTLS_SSL_DTLS_SRTP */ 519#if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) 520 "SSL_DTLS_CLIENT_PORT_REUSE", //no-check-names 521#endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */ 522#if defined(MBEDTLS_SSL_SESSION_TICKETS) 523 "SSL_SESSION_TICKETS", //no-check-names 524#endif /* MBEDTLS_SSL_SESSION_TICKETS */ 525#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 526 "SSL_SERVER_NAME_INDICATION", //no-check-names 527#endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ 528#if defined(MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH) 529 "SSL_VARIABLE_BUFFER_LENGTH", //no-check-names 530#endif /* MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH */ 531#if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN) 532 "TEST_CONSTANT_FLOW_MEMSAN", //no-check-names 533#endif /* MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN */ 534#if defined(MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND) 535 "TEST_CONSTANT_FLOW_VALGRIND", //no-check-names 536#endif /* MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND */ 537#if defined(MBEDTLS_TEST_HOOKS) 538 "TEST_HOOKS", //no-check-names 539#endif /* MBEDTLS_TEST_HOOKS */ 540#if defined(MBEDTLS_THREADING_ALT) 541 "THREADING_ALT", //no-check-names 542#endif /* MBEDTLS_THREADING_ALT */ 543#if defined(MBEDTLS_THREADING_PTHREAD) 544 "THREADING_PTHREAD", //no-check-names 545#endif /* MBEDTLS_THREADING_PTHREAD */ 546#if defined(MBEDTLS_USE_PSA_CRYPTO) 547 "USE_PSA_CRYPTO", //no-check-names 548#endif /* MBEDTLS_USE_PSA_CRYPTO */ 549#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 550 "PSA_CRYPTO_CONFIG", //no-check-names 551#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */ 552#if defined(MBEDTLS_VERSION_FEATURES) 553 "VERSION_FEATURES", //no-check-names 554#endif /* MBEDTLS_VERSION_FEATURES */ 555#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) 556 "X509_TRUSTED_CERTIFICATE_CALLBACK", //no-check-names 557#endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */ 558#if defined(MBEDTLS_X509_REMOVE_INFO) 559 "X509_REMOVE_INFO", //no-check-names 560#endif /* MBEDTLS_X509_REMOVE_INFO */ 561#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) 562 "X509_RSASSA_PSS_SUPPORT", //no-check-names 563#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ 564#if defined(MBEDTLS_AESNI_C) 565 "AESNI_C", //no-check-names 566#endif /* MBEDTLS_AESNI_C */ 567#if defined(MBEDTLS_AESCE_C) 568 "AESCE_C", //no-check-names 569#endif /* MBEDTLS_AESCE_C */ 570#if defined(MBEDTLS_AES_C) 571 "AES_C", //no-check-names 572#endif /* MBEDTLS_AES_C */ 573#if defined(MBEDTLS_ASN1_PARSE_C) 574 "ASN1_PARSE_C", //no-check-names 575#endif /* MBEDTLS_ASN1_PARSE_C */ 576#if defined(MBEDTLS_ASN1_WRITE_C) 577 "ASN1_WRITE_C", //no-check-names 578#endif /* MBEDTLS_ASN1_WRITE_C */ 579#if defined(MBEDTLS_BASE64_C) 580 "BASE64_C", //no-check-names 581#endif /* MBEDTLS_BASE64_C */ 582#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT) 583 "BLOCK_CIPHER_NO_DECRYPT", //no-check-names 584#endif /* MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */ 585#if defined(MBEDTLS_BIGNUM_C) 586 "BIGNUM_C", //no-check-names 587#endif /* MBEDTLS_BIGNUM_C */ 588#if defined(MBEDTLS_CAMELLIA_C) 589 "CAMELLIA_C", //no-check-names 590#endif /* MBEDTLS_CAMELLIA_C */ 591#if defined(MBEDTLS_ARIA_C) 592 "ARIA_C", //no-check-names 593#endif /* MBEDTLS_ARIA_C */ 594#if defined(MBEDTLS_CCM_C) 595 "CCM_C", //no-check-names 596#endif /* MBEDTLS_CCM_C */ 597#if defined(MBEDTLS_CHACHA20_C) 598 "CHACHA20_C", //no-check-names 599#endif /* MBEDTLS_CHACHA20_C */ 600#if defined(MBEDTLS_CHACHAPOLY_C) 601 "CHACHAPOLY_C", //no-check-names 602#endif /* MBEDTLS_CHACHAPOLY_C */ 603#if defined(MBEDTLS_CIPHER_C) 604 "CIPHER_C", //no-check-names 605#endif /* MBEDTLS_CIPHER_C */ 606#if defined(MBEDTLS_CMAC_C) 607 "CMAC_C", //no-check-names 608#endif /* MBEDTLS_CMAC_C */ 609#if defined(MBEDTLS_CTR_DRBG_C) 610 "CTR_DRBG_C", //no-check-names 611#endif /* MBEDTLS_CTR_DRBG_C */ 612#if defined(MBEDTLS_DEBUG_C) 613 "DEBUG_C", //no-check-names 614#endif /* MBEDTLS_DEBUG_C */ 615#if defined(MBEDTLS_DES_C) 616 "DES_C", //no-check-names 617#endif /* MBEDTLS_DES_C */ 618#if defined(MBEDTLS_DHM_C) 619 "DHM_C", //no-check-names 620#endif /* MBEDTLS_DHM_C */ 621#if defined(MBEDTLS_ECDH_C) 622 "ECDH_C", //no-check-names 623#endif /* MBEDTLS_ECDH_C */ 624#if defined(MBEDTLS_ECDSA_C) 625 "ECDSA_C", //no-check-names 626#endif /* MBEDTLS_ECDSA_C */ 627#if defined(MBEDTLS_ECJPAKE_C) 628 "ECJPAKE_C", //no-check-names 629#endif /* MBEDTLS_ECJPAKE_C */ 630#if defined(MBEDTLS_ECP_C) 631 "ECP_C", //no-check-names 632#endif /* MBEDTLS_ECP_C */ 633#if defined(MBEDTLS_ENTROPY_C) 634 "ENTROPY_C", //no-check-names 635#endif /* MBEDTLS_ENTROPY_C */ 636#if defined(MBEDTLS_ERROR_C) 637 "ERROR_C", //no-check-names 638#endif /* MBEDTLS_ERROR_C */ 639#if defined(MBEDTLS_GCM_C) 640 "GCM_C", //no-check-names 641#endif /* MBEDTLS_GCM_C */ 642#if defined(MBEDTLS_GCM_LARGE_TABLE) 643 "GCM_LARGE_TABLE", //no-check-names 644#endif /* MBEDTLS_GCM_LARGE_TABLE */ 645#if defined(MBEDTLS_HKDF_C) 646 "HKDF_C", //no-check-names 647#endif /* MBEDTLS_HKDF_C */ 648#if defined(MBEDTLS_HMAC_DRBG_C) 649 "HMAC_DRBG_C", //no-check-names 650#endif /* MBEDTLS_HMAC_DRBG_C */ 651#if defined(MBEDTLS_LMS_C) 652 "LMS_C", //no-check-names 653#endif /* MBEDTLS_LMS_C */ 654#if defined(MBEDTLS_LMS_PRIVATE) 655 "LMS_PRIVATE", //no-check-names 656#endif /* MBEDTLS_LMS_PRIVATE */ 657#if defined(MBEDTLS_NIST_KW_C) 658 "NIST_KW_C", //no-check-names 659#endif /* MBEDTLS_NIST_KW_C */ 660#if defined(MBEDTLS_MD_C) 661 "MD_C", //no-check-names 662#endif /* MBEDTLS_MD_C */ 663#if defined(MBEDTLS_MD5_C) 664 "MD5_C", //no-check-names 665#endif /* MBEDTLS_MD5_C */ 666#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) 667 "MEMORY_BUFFER_ALLOC_C", //no-check-names 668#endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */ 669#if defined(MBEDTLS_NET_C) 670 "NET_C", //no-check-names 671#endif /* MBEDTLS_NET_C */ 672#if defined(MBEDTLS_OID_C) 673 "OID_C", //no-check-names 674#endif /* MBEDTLS_OID_C */ 675#if defined(MBEDTLS_PADLOCK_C) 676 "PADLOCK_C", //no-check-names 677#endif /* MBEDTLS_PADLOCK_C */ 678#if defined(MBEDTLS_PEM_PARSE_C) 679 "PEM_PARSE_C", //no-check-names 680#endif /* MBEDTLS_PEM_PARSE_C */ 681#if defined(MBEDTLS_PEM_WRITE_C) 682 "PEM_WRITE_C", //no-check-names 683#endif /* MBEDTLS_PEM_WRITE_C */ 684#if defined(MBEDTLS_PK_C) 685 "PK_C", //no-check-names 686#endif /* MBEDTLS_PK_C */ 687#if defined(MBEDTLS_PK_PARSE_C) 688 "PK_PARSE_C", //no-check-names 689#endif /* MBEDTLS_PK_PARSE_C */ 690#if defined(MBEDTLS_PK_WRITE_C) 691 "PK_WRITE_C", //no-check-names 692#endif /* MBEDTLS_PK_WRITE_C */ 693#if defined(MBEDTLS_PKCS5_C) 694 "PKCS5_C", //no-check-names 695#endif /* MBEDTLS_PKCS5_C */ 696#if defined(MBEDTLS_PKCS7_C) 697 "PKCS7_C", //no-check-names 698#endif /* MBEDTLS_PKCS7_C */ 699#if defined(MBEDTLS_PKCS12_C) 700 "PKCS12_C", //no-check-names 701#endif /* MBEDTLS_PKCS12_C */ 702#if defined(MBEDTLS_PLATFORM_C) 703 "PLATFORM_C", //no-check-names 704#endif /* MBEDTLS_PLATFORM_C */ 705#if defined(MBEDTLS_POLY1305_C) 706 "POLY1305_C", //no-check-names 707#endif /* MBEDTLS_POLY1305_C */ 708#if defined(MBEDTLS_PSA_CRYPTO_C) 709 "PSA_CRYPTO_C", //no-check-names 710#endif /* MBEDTLS_PSA_CRYPTO_C */ 711#if defined(MBEDTLS_PSA_CRYPTO_SE_C) 712 "PSA_CRYPTO_SE_C", //no-check-names 713#endif /* MBEDTLS_PSA_CRYPTO_SE_C */ 714#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) 715 "PSA_CRYPTO_STORAGE_C", //no-check-names 716#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */ 717#if defined(MBEDTLS_PSA_ITS_FILE_C) 718 "PSA_ITS_FILE_C", //no-check-names 719#endif /* MBEDTLS_PSA_ITS_FILE_C */ 720#if defined(MBEDTLS_RIPEMD160_C) 721 "RIPEMD160_C", //no-check-names 722#endif /* MBEDTLS_RIPEMD160_C */ 723#if defined(MBEDTLS_RSA_C) 724 "RSA_C", //no-check-names 725#endif /* MBEDTLS_RSA_C */ 726#if defined(MBEDTLS_SHA1_C) 727 "SHA1_C", //no-check-names 728#endif /* MBEDTLS_SHA1_C */ 729#if defined(MBEDTLS_SHA224_C) 730 "SHA224_C", //no-check-names 731#endif /* MBEDTLS_SHA224_C */ 732#if defined(MBEDTLS_SHA256_C) 733 "SHA256_C", //no-check-names 734#endif /* MBEDTLS_SHA256_C */ 735#if defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT) 736 "SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT", //no-check-names 737#endif /* MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT */ 738#if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT) 739 "SHA256_USE_A64_CRYPTO_IF_PRESENT", //no-check-names 740#endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT */ 741#if defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY) 742 "SHA256_USE_ARMV8_A_CRYPTO_ONLY", //no-check-names 743#endif /* MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY */ 744#if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY) 745 "SHA256_USE_A64_CRYPTO_ONLY", //no-check-names 746#endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY */ 747#if defined(MBEDTLS_SHA384_C) 748 "SHA384_C", //no-check-names 749#endif /* MBEDTLS_SHA384_C */ 750#if defined(MBEDTLS_SHA512_C) 751 "SHA512_C", //no-check-names 752#endif /* MBEDTLS_SHA512_C */ 753#if defined(MBEDTLS_SHA3_C) 754 "SHA3_C", //no-check-names 755#endif /* MBEDTLS_SHA3_C */ 756#if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT) 757 "SHA512_USE_A64_CRYPTO_IF_PRESENT", //no-check-names 758#endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT */ 759#if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY) 760 "SHA512_USE_A64_CRYPTO_ONLY", //no-check-names 761#endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY */ 762#if defined(MBEDTLS_SSL_CACHE_C) 763 "SSL_CACHE_C", //no-check-names 764#endif /* MBEDTLS_SSL_CACHE_C */ 765#if defined(MBEDTLS_SSL_COOKIE_C) 766 "SSL_COOKIE_C", //no-check-names 767#endif /* MBEDTLS_SSL_COOKIE_C */ 768#if defined(MBEDTLS_SSL_TICKET_C) 769 "SSL_TICKET_C", //no-check-names 770#endif /* MBEDTLS_SSL_TICKET_C */ 771#if defined(MBEDTLS_SSL_CLI_C) 772 "SSL_CLI_C", //no-check-names 773#endif /* MBEDTLS_SSL_CLI_C */ 774#if defined(MBEDTLS_SSL_SRV_C) 775 "SSL_SRV_C", //no-check-names 776#endif /* MBEDTLS_SSL_SRV_C */ 777#if defined(MBEDTLS_SSL_TLS_C) 778 "SSL_TLS_C", //no-check-names 779#endif /* MBEDTLS_SSL_TLS_C */ 780#if defined(MBEDTLS_THREADING_C) 781 "THREADING_C", //no-check-names 782#endif /* MBEDTLS_THREADING_C */ 783#if defined(MBEDTLS_TIMING_C) 784 "TIMING_C", //no-check-names 785#endif /* MBEDTLS_TIMING_C */ 786#if defined(MBEDTLS_VERSION_C) 787 "VERSION_C", //no-check-names 788#endif /* MBEDTLS_VERSION_C */ 789#if defined(MBEDTLS_X509_USE_C) 790 "X509_USE_C", //no-check-names 791#endif /* MBEDTLS_X509_USE_C */ 792#if defined(MBEDTLS_X509_CRT_PARSE_C) 793 "X509_CRT_PARSE_C", //no-check-names 794#endif /* MBEDTLS_X509_CRT_PARSE_C */ 795#if defined(MBEDTLS_X509_CRL_PARSE_C) 796 "X509_CRL_PARSE_C", //no-check-names 797#endif /* MBEDTLS_X509_CRL_PARSE_C */ 798#if defined(MBEDTLS_X509_CSR_PARSE_C) 799 "X509_CSR_PARSE_C", //no-check-names 800#endif /* MBEDTLS_X509_CSR_PARSE_C */ 801#if defined(MBEDTLS_X509_CREATE_C) 802 "X509_CREATE_C", //no-check-names 803#endif /* MBEDTLS_X509_CREATE_C */ 804#if defined(MBEDTLS_X509_CRT_WRITE_C) 805 "X509_CRT_WRITE_C", //no-check-names 806#endif /* MBEDTLS_X509_CRT_WRITE_C */ 807#if defined(MBEDTLS_X509_CSR_WRITE_C) 808 "X509_CSR_WRITE_C", //no-check-names 809#endif /* MBEDTLS_X509_CSR_WRITE_C */ 810#endif /* MBEDTLS_VERSION_FEATURES */ 811 NULL 812}; 813 814int mbedtls_version_check_feature(const char *feature) 815{ 816 const char * const *idx = features; 817 818 if (*idx == NULL) { 819 return -2; 820 } 821 822 if (feature == NULL) { 823 return -1; 824 } 825 826 if (strncmp(feature, "MBEDTLS_", 8)) { 827 return -1; 828 } 829 830 feature += 8; 831 832 while (*idx != NULL) { 833 if (!strcmp(*idx, feature)) { 834 return 0; 835 } 836 idx++; 837 } 838 return -1; 839} 840 841#endif /* MBEDTLS_VERSION_C */ 842