1 /* 2 * Version feature information 3 * 4 * Copyright The Mbed TLS Contributors 5 * SPDX-License-Identifier: Apache-2.0 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); you may 8 * not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20 #include "common.h" 21 22 #if defined(MBEDTLS_VERSION_C) 23 24 #include "mbedtls/version.h" 25 26 #include <string.h> 27 28 static const char * const features[] = { 29 #if defined(MBEDTLS_VERSION_FEATURES) 30 #if defined(MBEDTLS_HAVE_ASM) 31 "MBEDTLS_HAVE_ASM", 32 #endif /* MBEDTLS_HAVE_ASM */ 33 #if defined(MBEDTLS_NO_UDBL_DIVISION) 34 "MBEDTLS_NO_UDBL_DIVISION", 35 #endif /* MBEDTLS_NO_UDBL_DIVISION */ 36 #if defined(MBEDTLS_NO_64BIT_MULTIPLICATION) 37 "MBEDTLS_NO_64BIT_MULTIPLICATION", 38 #endif /* MBEDTLS_NO_64BIT_MULTIPLICATION */ 39 #if defined(MBEDTLS_HAVE_SSE2) 40 "MBEDTLS_HAVE_SSE2", 41 #endif /* MBEDTLS_HAVE_SSE2 */ 42 #if defined(MBEDTLS_HAVE_TIME) 43 "MBEDTLS_HAVE_TIME", 44 #endif /* MBEDTLS_HAVE_TIME */ 45 #if defined(MBEDTLS_HAVE_TIME_DATE) 46 "MBEDTLS_HAVE_TIME_DATE", 47 #endif /* MBEDTLS_HAVE_TIME_DATE */ 48 #if defined(MBEDTLS_PLATFORM_MEMORY) 49 "MBEDTLS_PLATFORM_MEMORY", 50 #endif /* MBEDTLS_PLATFORM_MEMORY */ 51 #if defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 52 "MBEDTLS_PLATFORM_NO_STD_FUNCTIONS", 53 #endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */ 54 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) 55 "MBEDTLS_PLATFORM_EXIT_ALT", 56 #endif /* MBEDTLS_PLATFORM_EXIT_ALT */ 57 #if defined(MBEDTLS_PLATFORM_TIME_ALT) 58 "MBEDTLS_PLATFORM_TIME_ALT", 59 #endif /* MBEDTLS_PLATFORM_TIME_ALT */ 60 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 61 "MBEDTLS_PLATFORM_FPRINTF_ALT", 62 #endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */ 63 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) 64 "MBEDTLS_PLATFORM_PRINTF_ALT", 65 #endif /* MBEDTLS_PLATFORM_PRINTF_ALT */ 66 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 67 "MBEDTLS_PLATFORM_SNPRINTF_ALT", 68 #endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */ 69 #if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT) 70 "MBEDTLS_PLATFORM_VSNPRINTF_ALT", 71 #endif /* MBEDTLS_PLATFORM_VSNPRINTF_ALT */ 72 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 73 "MBEDTLS_PLATFORM_NV_SEED_ALT", 74 #endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */ 75 #if defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT) 76 "MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT", 77 #endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */ 78 #if defined(MBEDTLS_DEPRECATED_WARNING) 79 "MBEDTLS_DEPRECATED_WARNING", 80 #endif /* MBEDTLS_DEPRECATED_WARNING */ 81 #if defined(MBEDTLS_DEPRECATED_REMOVED) 82 "MBEDTLS_DEPRECATED_REMOVED", 83 #endif /* MBEDTLS_DEPRECATED_REMOVED */ 84 #if defined(MBEDTLS_CHECK_PARAMS) 85 "MBEDTLS_CHECK_PARAMS", 86 #endif /* MBEDTLS_CHECK_PARAMS */ 87 #if defined(MBEDTLS_CHECK_PARAMS_ASSERT) 88 "MBEDTLS_CHECK_PARAMS_ASSERT", 89 #endif /* MBEDTLS_CHECK_PARAMS_ASSERT */ 90 #if defined(MBEDTLS_TIMING_ALT) 91 "MBEDTLS_TIMING_ALT", 92 #endif /* MBEDTLS_TIMING_ALT */ 93 #if defined(MBEDTLS_AES_ALT) 94 "MBEDTLS_AES_ALT", 95 #endif /* MBEDTLS_AES_ALT */ 96 #if defined(MBEDTLS_ARC4_ALT) 97 "MBEDTLS_ARC4_ALT", 98 #endif /* MBEDTLS_ARC4_ALT */ 99 #if defined(MBEDTLS_ARIA_ALT) 100 "MBEDTLS_ARIA_ALT", 101 #endif /* MBEDTLS_ARIA_ALT */ 102 #if defined(MBEDTLS_BLOWFISH_ALT) 103 "MBEDTLS_BLOWFISH_ALT", 104 #endif /* MBEDTLS_BLOWFISH_ALT */ 105 #if defined(MBEDTLS_CAMELLIA_ALT) 106 "MBEDTLS_CAMELLIA_ALT", 107 #endif /* MBEDTLS_CAMELLIA_ALT */ 108 #if defined(MBEDTLS_CCM_ALT) 109 "MBEDTLS_CCM_ALT", 110 #endif /* MBEDTLS_CCM_ALT */ 111 #if defined(MBEDTLS_CHACHA20_ALT) 112 "MBEDTLS_CHACHA20_ALT", 113 #endif /* MBEDTLS_CHACHA20_ALT */ 114 #if defined(MBEDTLS_CHACHAPOLY_ALT) 115 "MBEDTLS_CHACHAPOLY_ALT", 116 #endif /* MBEDTLS_CHACHAPOLY_ALT */ 117 #if defined(MBEDTLS_CMAC_ALT) 118 "MBEDTLS_CMAC_ALT", 119 #endif /* MBEDTLS_CMAC_ALT */ 120 #if defined(MBEDTLS_DES_ALT) 121 "MBEDTLS_DES_ALT", 122 #endif /* MBEDTLS_DES_ALT */ 123 #if defined(MBEDTLS_DHM_ALT) 124 "MBEDTLS_DHM_ALT", 125 #endif /* MBEDTLS_DHM_ALT */ 126 #if defined(MBEDTLS_ECJPAKE_ALT) 127 "MBEDTLS_ECJPAKE_ALT", 128 #endif /* MBEDTLS_ECJPAKE_ALT */ 129 #if defined(MBEDTLS_GCM_ALT) 130 "MBEDTLS_GCM_ALT", 131 #endif /* MBEDTLS_GCM_ALT */ 132 #if defined(MBEDTLS_NIST_KW_ALT) 133 "MBEDTLS_NIST_KW_ALT", 134 #endif /* MBEDTLS_NIST_KW_ALT */ 135 #if defined(MBEDTLS_MD2_ALT) 136 "MBEDTLS_MD2_ALT", 137 #endif /* MBEDTLS_MD2_ALT */ 138 #if defined(MBEDTLS_MD4_ALT) 139 "MBEDTLS_MD4_ALT", 140 #endif /* MBEDTLS_MD4_ALT */ 141 #if defined(MBEDTLS_MD5_ALT) 142 "MBEDTLS_MD5_ALT", 143 #endif /* MBEDTLS_MD5_ALT */ 144 #if defined(MBEDTLS_POLY1305_ALT) 145 "MBEDTLS_POLY1305_ALT", 146 #endif /* MBEDTLS_POLY1305_ALT */ 147 #if defined(MBEDTLS_RIPEMD160_ALT) 148 "MBEDTLS_RIPEMD160_ALT", 149 #endif /* MBEDTLS_RIPEMD160_ALT */ 150 #if defined(MBEDTLS_RSA_ALT) 151 "MBEDTLS_RSA_ALT", 152 #endif /* MBEDTLS_RSA_ALT */ 153 #if defined(MBEDTLS_SHA1_ALT) 154 "MBEDTLS_SHA1_ALT", 155 #endif /* MBEDTLS_SHA1_ALT */ 156 #if defined(MBEDTLS_SHA256_ALT) 157 "MBEDTLS_SHA256_ALT", 158 #endif /* MBEDTLS_SHA256_ALT */ 159 #if defined(MBEDTLS_SHA512_ALT) 160 "MBEDTLS_SHA512_ALT", 161 #endif /* MBEDTLS_SHA512_ALT */ 162 #if defined(MBEDTLS_XTEA_ALT) 163 "MBEDTLS_XTEA_ALT", 164 #endif /* MBEDTLS_XTEA_ALT */ 165 #if defined(MBEDTLS_ECP_ALT) 166 "MBEDTLS_ECP_ALT", 167 #endif /* MBEDTLS_ECP_ALT */ 168 #if defined(MBEDTLS_MD2_PROCESS_ALT) 169 "MBEDTLS_MD2_PROCESS_ALT", 170 #endif /* MBEDTLS_MD2_PROCESS_ALT */ 171 #if defined(MBEDTLS_MD4_PROCESS_ALT) 172 "MBEDTLS_MD4_PROCESS_ALT", 173 #endif /* MBEDTLS_MD4_PROCESS_ALT */ 174 #if defined(MBEDTLS_MD5_PROCESS_ALT) 175 "MBEDTLS_MD5_PROCESS_ALT", 176 #endif /* MBEDTLS_MD5_PROCESS_ALT */ 177 #if defined(MBEDTLS_RIPEMD160_PROCESS_ALT) 178 "MBEDTLS_RIPEMD160_PROCESS_ALT", 179 #endif /* MBEDTLS_RIPEMD160_PROCESS_ALT */ 180 #if defined(MBEDTLS_SHA1_PROCESS_ALT) 181 "MBEDTLS_SHA1_PROCESS_ALT", 182 #endif /* MBEDTLS_SHA1_PROCESS_ALT */ 183 #if defined(MBEDTLS_SHA256_PROCESS_ALT) 184 "MBEDTLS_SHA256_PROCESS_ALT", 185 #endif /* MBEDTLS_SHA256_PROCESS_ALT */ 186 #if defined(MBEDTLS_SHA512_PROCESS_ALT) 187 "MBEDTLS_SHA512_PROCESS_ALT", 188 #endif /* MBEDTLS_SHA512_PROCESS_ALT */ 189 #if defined(MBEDTLS_DES_SETKEY_ALT) 190 "MBEDTLS_DES_SETKEY_ALT", 191 #endif /* MBEDTLS_DES_SETKEY_ALT */ 192 #if defined(MBEDTLS_DES_CRYPT_ECB_ALT) 193 "MBEDTLS_DES_CRYPT_ECB_ALT", 194 #endif /* MBEDTLS_DES_CRYPT_ECB_ALT */ 195 #if defined(MBEDTLS_DES3_CRYPT_ECB_ALT) 196 "MBEDTLS_DES3_CRYPT_ECB_ALT", 197 #endif /* MBEDTLS_DES3_CRYPT_ECB_ALT */ 198 #if defined(MBEDTLS_AES_SETKEY_ENC_ALT) 199 "MBEDTLS_AES_SETKEY_ENC_ALT", 200 #endif /* MBEDTLS_AES_SETKEY_ENC_ALT */ 201 #if defined(MBEDTLS_AES_SETKEY_DEC_ALT) 202 "MBEDTLS_AES_SETKEY_DEC_ALT", 203 #endif /* MBEDTLS_AES_SETKEY_DEC_ALT */ 204 #if defined(MBEDTLS_AES_ENCRYPT_ALT) 205 "MBEDTLS_AES_ENCRYPT_ALT", 206 #endif /* MBEDTLS_AES_ENCRYPT_ALT */ 207 #if defined(MBEDTLS_AES_DECRYPT_ALT) 208 "MBEDTLS_AES_DECRYPT_ALT", 209 #endif /* MBEDTLS_AES_DECRYPT_ALT */ 210 #if defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT) 211 "MBEDTLS_ECDH_GEN_PUBLIC_ALT", 212 #endif /* MBEDTLS_ECDH_GEN_PUBLIC_ALT */ 213 #if defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT) 214 "MBEDTLS_ECDH_COMPUTE_SHARED_ALT", 215 #endif /* MBEDTLS_ECDH_COMPUTE_SHARED_ALT */ 216 #if defined(MBEDTLS_ECDSA_VERIFY_ALT) 217 "MBEDTLS_ECDSA_VERIFY_ALT", 218 #endif /* MBEDTLS_ECDSA_VERIFY_ALT */ 219 #if defined(MBEDTLS_ECDSA_SIGN_ALT) 220 "MBEDTLS_ECDSA_SIGN_ALT", 221 #endif /* MBEDTLS_ECDSA_SIGN_ALT */ 222 #if defined(MBEDTLS_ECDSA_GENKEY_ALT) 223 "MBEDTLS_ECDSA_GENKEY_ALT", 224 #endif /* MBEDTLS_ECDSA_GENKEY_ALT */ 225 #if defined(MBEDTLS_ECP_INTERNAL_ALT) 226 "MBEDTLS_ECP_INTERNAL_ALT", 227 #endif /* MBEDTLS_ECP_INTERNAL_ALT */ 228 #if defined(MBEDTLS_ECP_NO_FALLBACK) 229 "MBEDTLS_ECP_NO_FALLBACK", 230 #endif /* MBEDTLS_ECP_NO_FALLBACK */ 231 #if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT) 232 "MBEDTLS_ECP_RANDOMIZE_JAC_ALT", 233 #endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */ 234 #if defined(MBEDTLS_ECP_ADD_MIXED_ALT) 235 "MBEDTLS_ECP_ADD_MIXED_ALT", 236 #endif /* MBEDTLS_ECP_ADD_MIXED_ALT */ 237 #if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT) 238 "MBEDTLS_ECP_DOUBLE_JAC_ALT", 239 #endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */ 240 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT) 241 "MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT", 242 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT */ 243 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT) 244 "MBEDTLS_ECP_NORMALIZE_JAC_ALT", 245 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */ 246 #if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT) 247 "MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT", 248 #endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */ 249 #if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT) 250 "MBEDTLS_ECP_RANDOMIZE_MXZ_ALT", 251 #endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */ 252 #if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT) 253 "MBEDTLS_ECP_NORMALIZE_MXZ_ALT", 254 #endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */ 255 #if defined(MBEDTLS_TEST_NULL_ENTROPY) 256 "MBEDTLS_TEST_NULL_ENTROPY", 257 #endif /* MBEDTLS_TEST_NULL_ENTROPY */ 258 #if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) 259 "MBEDTLS_ENTROPY_HARDWARE_ALT", 260 #endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */ 261 #if defined(MBEDTLS_AES_ROM_TABLES) 262 "MBEDTLS_AES_ROM_TABLES", 263 #endif /* MBEDTLS_AES_ROM_TABLES */ 264 #if defined(MBEDTLS_AES_FEWER_TABLES) 265 "MBEDTLS_AES_FEWER_TABLES", 266 #endif /* MBEDTLS_AES_FEWER_TABLES */ 267 #if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY) 268 "MBEDTLS_CAMELLIA_SMALL_MEMORY", 269 #endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */ 270 #if defined(MBEDTLS_CHECK_RETURN_WARNING) 271 "MBEDTLS_CHECK_RETURN_WARNING", 272 #endif /* MBEDTLS_CHECK_RETURN_WARNING */ 273 #if defined(MBEDTLS_CIPHER_MODE_CBC) 274 "MBEDTLS_CIPHER_MODE_CBC", 275 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 276 #if defined(MBEDTLS_CIPHER_MODE_CFB) 277 "MBEDTLS_CIPHER_MODE_CFB", 278 #endif /* MBEDTLS_CIPHER_MODE_CFB */ 279 #if defined(MBEDTLS_CIPHER_MODE_CTR) 280 "MBEDTLS_CIPHER_MODE_CTR", 281 #endif /* MBEDTLS_CIPHER_MODE_CTR */ 282 #if defined(MBEDTLS_CIPHER_MODE_OFB) 283 "MBEDTLS_CIPHER_MODE_OFB", 284 #endif /* MBEDTLS_CIPHER_MODE_OFB */ 285 #if defined(MBEDTLS_CIPHER_MODE_XTS) 286 "MBEDTLS_CIPHER_MODE_XTS", 287 #endif /* MBEDTLS_CIPHER_MODE_XTS */ 288 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 289 "MBEDTLS_CIPHER_NULL_CIPHER", 290 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 291 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7) 292 "MBEDTLS_CIPHER_PADDING_PKCS7", 293 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */ 294 #if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS) 295 "MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS", 296 #endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */ 297 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN) 298 "MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN", 299 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */ 300 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS) 301 "MBEDTLS_CIPHER_PADDING_ZEROS", 302 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS */ 303 #if defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY) 304 "MBEDTLS_CTR_DRBG_USE_128_BIT_KEY", 305 #endif /* MBEDTLS_CTR_DRBG_USE_128_BIT_KEY */ 306 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES) 307 "MBEDTLS_ENABLE_WEAK_CIPHERSUITES", 308 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */ 309 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES) 310 "MBEDTLS_REMOVE_ARC4_CIPHERSUITES", 311 #endif /* MBEDTLS_REMOVE_ARC4_CIPHERSUITES */ 312 #if defined(MBEDTLS_REMOVE_3DES_CIPHERSUITES) 313 "MBEDTLS_REMOVE_3DES_CIPHERSUITES", 314 #endif /* MBEDTLS_REMOVE_3DES_CIPHERSUITES */ 315 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 316 "MBEDTLS_ECP_DP_SECP192R1_ENABLED", 317 #endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */ 318 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 319 "MBEDTLS_ECP_DP_SECP224R1_ENABLED", 320 #endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */ 321 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 322 "MBEDTLS_ECP_DP_SECP256R1_ENABLED", 323 #endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */ 324 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 325 "MBEDTLS_ECP_DP_SECP384R1_ENABLED", 326 #endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 327 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 328 "MBEDTLS_ECP_DP_SECP521R1_ENABLED", 329 #endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */ 330 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 331 "MBEDTLS_ECP_DP_SECP192K1_ENABLED", 332 #endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */ 333 #if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 334 "MBEDTLS_ECP_DP_SECP224K1_ENABLED", 335 #endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */ 336 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 337 "MBEDTLS_ECP_DP_SECP256K1_ENABLED", 338 #endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */ 339 #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 340 "MBEDTLS_ECP_DP_BP256R1_ENABLED", 341 #endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */ 342 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 343 "MBEDTLS_ECP_DP_BP384R1_ENABLED", 344 #endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */ 345 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 346 "MBEDTLS_ECP_DP_BP512R1_ENABLED", 347 #endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */ 348 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 349 "MBEDTLS_ECP_DP_CURVE25519_ENABLED", 350 #endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */ 351 #if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 352 "MBEDTLS_ECP_DP_CURVE448_ENABLED", 353 #endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */ 354 #if defined(MBEDTLS_ECP_NIST_OPTIM) 355 "MBEDTLS_ECP_NIST_OPTIM", 356 #endif /* MBEDTLS_ECP_NIST_OPTIM */ 357 #if defined(MBEDTLS_ECP_NO_INTERNAL_RNG) 358 "MBEDTLS_ECP_NO_INTERNAL_RNG", 359 #endif /* MBEDTLS_ECP_NO_INTERNAL_RNG */ 360 #if defined(MBEDTLS_ECP_RESTARTABLE) 361 "MBEDTLS_ECP_RESTARTABLE", 362 #endif /* MBEDTLS_ECP_RESTARTABLE */ 363 #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT) 364 "MBEDTLS_ECDH_LEGACY_CONTEXT", 365 #endif /* MBEDTLS_ECDH_LEGACY_CONTEXT */ 366 #if defined(MBEDTLS_ECDSA_DETERMINISTIC) 367 "MBEDTLS_ECDSA_DETERMINISTIC", 368 #endif /* MBEDTLS_ECDSA_DETERMINISTIC */ 369 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 370 "MBEDTLS_KEY_EXCHANGE_PSK_ENABLED", 371 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 372 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 373 "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED", 374 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 375 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 376 "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED", 377 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 378 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 379 "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED", 380 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 381 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 382 "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED", 383 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 384 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 385 "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED", 386 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 387 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 388 "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED", 389 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 390 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 391 "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED", 392 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 393 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 394 "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED", 395 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 396 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 397 "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED", 398 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 399 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 400 "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED", 401 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 402 #if defined(MBEDTLS_PK_PARSE_EC_EXTENDED) 403 "MBEDTLS_PK_PARSE_EC_EXTENDED", 404 #endif /* MBEDTLS_PK_PARSE_EC_EXTENDED */ 405 #if defined(MBEDTLS_ERROR_STRERROR_DUMMY) 406 "MBEDTLS_ERROR_STRERROR_DUMMY", 407 #endif /* MBEDTLS_ERROR_STRERROR_DUMMY */ 408 #if defined(MBEDTLS_GENPRIME) 409 "MBEDTLS_GENPRIME", 410 #endif /* MBEDTLS_GENPRIME */ 411 #if defined(MBEDTLS_FS_IO) 412 "MBEDTLS_FS_IO", 413 #endif /* MBEDTLS_FS_IO */ 414 #if defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) 415 "MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES", 416 #endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */ 417 #if defined(MBEDTLS_NO_PLATFORM_ENTROPY) 418 "MBEDTLS_NO_PLATFORM_ENTROPY", 419 #endif /* MBEDTLS_NO_PLATFORM_ENTROPY */ 420 #if defined(MBEDTLS_ENTROPY_FORCE_SHA256) 421 "MBEDTLS_ENTROPY_FORCE_SHA256", 422 #endif /* MBEDTLS_ENTROPY_FORCE_SHA256 */ 423 #if defined(MBEDTLS_ENTROPY_NV_SEED) 424 "MBEDTLS_ENTROPY_NV_SEED", 425 #endif /* MBEDTLS_ENTROPY_NV_SEED */ 426 #if defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER) 427 "MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER", 428 #endif /* MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER */ 429 #if defined(MBEDTLS_MEMORY_DEBUG) 430 "MBEDTLS_MEMORY_DEBUG", 431 #endif /* MBEDTLS_MEMORY_DEBUG */ 432 #if defined(MBEDTLS_MEMORY_BACKTRACE) 433 "MBEDTLS_MEMORY_BACKTRACE", 434 #endif /* MBEDTLS_MEMORY_BACKTRACE */ 435 #if defined(MBEDTLS_PK_RSA_ALT_SUPPORT) 436 "MBEDTLS_PK_RSA_ALT_SUPPORT", 437 #endif /* MBEDTLS_PK_RSA_ALT_SUPPORT */ 438 #if defined(MBEDTLS_PKCS1_V15) 439 "MBEDTLS_PKCS1_V15", 440 #endif /* MBEDTLS_PKCS1_V15 */ 441 #if defined(MBEDTLS_PKCS1_V21) 442 "MBEDTLS_PKCS1_V21", 443 #endif /* MBEDTLS_PKCS1_V21 */ 444 #if defined(MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS) 445 "MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS", 446 #endif /* MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */ 447 #if defined(MBEDTLS_PSA_CRYPTO_CLIENT) 448 "MBEDTLS_PSA_CRYPTO_CLIENT", 449 #endif /* MBEDTLS_PSA_CRYPTO_CLIENT */ 450 #if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) 451 "MBEDTLS_PSA_CRYPTO_DRIVERS", 452 #endif /* MBEDTLS_PSA_CRYPTO_DRIVERS */ 453 #if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) 454 "MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG", 455 #endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */ 456 #if defined(MBEDTLS_PSA_CRYPTO_SPM) 457 "MBEDTLS_PSA_CRYPTO_SPM", 458 #endif /* MBEDTLS_PSA_CRYPTO_SPM */ 459 #if defined(MBEDTLS_PSA_INJECT_ENTROPY) 460 "MBEDTLS_PSA_INJECT_ENTROPY", 461 #endif /* MBEDTLS_PSA_INJECT_ENTROPY */ 462 #if defined(MBEDTLS_RSA_NO_CRT) 463 "MBEDTLS_RSA_NO_CRT", 464 #endif /* MBEDTLS_RSA_NO_CRT */ 465 #if defined(MBEDTLS_SELF_TEST) 466 "MBEDTLS_SELF_TEST", 467 #endif /* MBEDTLS_SELF_TEST */ 468 #if defined(MBEDTLS_SHA256_SMALLER) 469 "MBEDTLS_SHA256_SMALLER", 470 #endif /* MBEDTLS_SHA256_SMALLER */ 471 #if defined(MBEDTLS_SHA512_SMALLER) 472 "MBEDTLS_SHA512_SMALLER", 473 #endif /* MBEDTLS_SHA512_SMALLER */ 474 #if defined(MBEDTLS_SHA512_NO_SHA384) 475 "MBEDTLS_SHA512_NO_SHA384", 476 #endif /* MBEDTLS_SHA512_NO_SHA384 */ 477 #if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES) 478 "MBEDTLS_SSL_ALL_ALERT_MESSAGES", 479 #endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */ 480 #if defined(MBEDTLS_SSL_RECORD_CHECKING) 481 "MBEDTLS_SSL_RECORD_CHECKING", 482 #endif /* MBEDTLS_SSL_RECORD_CHECKING */ 483 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 484 "MBEDTLS_SSL_DTLS_CONNECTION_ID", 485 #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ 486 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) 487 "MBEDTLS_SSL_ASYNC_PRIVATE", 488 #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ 489 #if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION) 490 "MBEDTLS_SSL_CONTEXT_SERIALIZATION", 491 #endif /* MBEDTLS_SSL_CONTEXT_SERIALIZATION */ 492 #if defined(MBEDTLS_SSL_DEBUG_ALL) 493 "MBEDTLS_SSL_DEBUG_ALL", 494 #endif /* MBEDTLS_SSL_DEBUG_ALL */ 495 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) 496 "MBEDTLS_SSL_ENCRYPT_THEN_MAC", 497 #endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */ 498 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) 499 "MBEDTLS_SSL_EXTENDED_MASTER_SECRET", 500 #endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */ 501 #if defined(MBEDTLS_SSL_FALLBACK_SCSV) 502 "MBEDTLS_SSL_FALLBACK_SCSV", 503 #endif /* MBEDTLS_SSL_FALLBACK_SCSV */ 504 #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) 505 "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE", 506 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ 507 #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL) 508 "MBEDTLS_SSL_HW_RECORD_ACCEL", 509 #endif /* MBEDTLS_SSL_HW_RECORD_ACCEL */ 510 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING) 511 "MBEDTLS_SSL_CBC_RECORD_SPLITTING", 512 #endif /* MBEDTLS_SSL_CBC_RECORD_SPLITTING */ 513 #if defined(MBEDTLS_SSL_RENEGOTIATION) 514 "MBEDTLS_SSL_RENEGOTIATION", 515 #endif /* MBEDTLS_SSL_RENEGOTIATION */ 516 #if defined(MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO) 517 "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO", 518 #endif /* MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */ 519 #if defined(MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE) 520 "MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE", 521 #endif /* MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE */ 522 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) 523 "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH", 524 #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */ 525 #if defined(MBEDTLS_SSL_PROTO_SSL3) 526 "MBEDTLS_SSL_PROTO_SSL3", 527 #endif /* MBEDTLS_SSL_PROTO_SSL3 */ 528 #if defined(MBEDTLS_SSL_PROTO_TLS1) 529 "MBEDTLS_SSL_PROTO_TLS1", 530 #endif /* MBEDTLS_SSL_PROTO_TLS1 */ 531 #if defined(MBEDTLS_SSL_PROTO_TLS1_1) 532 "MBEDTLS_SSL_PROTO_TLS1_1", 533 #endif /* MBEDTLS_SSL_PROTO_TLS1_1 */ 534 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 535 "MBEDTLS_SSL_PROTO_TLS1_2", 536 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ 537 #if defined(MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL) 538 "MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL", 539 #endif /* MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL */ 540 #if defined(MBEDTLS_SSL_PROTO_DTLS) 541 "MBEDTLS_SSL_PROTO_DTLS", 542 #endif /* MBEDTLS_SSL_PROTO_DTLS */ 543 #if defined(MBEDTLS_SSL_ALPN) 544 "MBEDTLS_SSL_ALPN", 545 #endif /* MBEDTLS_SSL_ALPN */ 546 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) 547 "MBEDTLS_SSL_DTLS_ANTI_REPLAY", 548 #endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */ 549 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) 550 "MBEDTLS_SSL_DTLS_HELLO_VERIFY", 551 #endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */ 552 #if defined(MBEDTLS_SSL_DTLS_SRTP) 553 "MBEDTLS_SSL_DTLS_SRTP", 554 #endif /* MBEDTLS_SSL_DTLS_SRTP */ 555 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) 556 "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE", 557 #endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */ 558 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT) 559 "MBEDTLS_SSL_DTLS_BADMAC_LIMIT", 560 #endif /* MBEDTLS_SSL_DTLS_BADMAC_LIMIT */ 561 #if defined(MBEDTLS_SSL_SESSION_TICKETS) 562 "MBEDTLS_SSL_SESSION_TICKETS", 563 #endif /* MBEDTLS_SSL_SESSION_TICKETS */ 564 #if defined(MBEDTLS_SSL_EXPORT_KEYS) 565 "MBEDTLS_SSL_EXPORT_KEYS", 566 #endif /* MBEDTLS_SSL_EXPORT_KEYS */ 567 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 568 "MBEDTLS_SSL_SERVER_NAME_INDICATION", 569 #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ 570 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC) 571 "MBEDTLS_SSL_TRUNCATED_HMAC", 572 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC */ 573 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT) 574 "MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT", 575 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT */ 576 #if defined(MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH) 577 "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH", 578 #endif /* MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH */ 579 #if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN) 580 "MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN", 581 #endif /* MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN */ 582 #if defined(MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND) 583 "MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND", 584 #endif /* MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND */ 585 #if defined(MBEDTLS_TEST_HOOKS) 586 "MBEDTLS_TEST_HOOKS", 587 #endif /* MBEDTLS_TEST_HOOKS */ 588 #if defined(MBEDTLS_THREADING_ALT) 589 "MBEDTLS_THREADING_ALT", 590 #endif /* MBEDTLS_THREADING_ALT */ 591 #if defined(MBEDTLS_THREADING_PTHREAD) 592 "MBEDTLS_THREADING_PTHREAD", 593 #endif /* MBEDTLS_THREADING_PTHREAD */ 594 #if defined(MBEDTLS_USE_PSA_CRYPTO) 595 "MBEDTLS_USE_PSA_CRYPTO", 596 #endif /* MBEDTLS_USE_PSA_CRYPTO */ 597 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 598 "MBEDTLS_PSA_CRYPTO_CONFIG", 599 #endif /* MBEDTLS_PSA_CRYPTO_CONFIG */ 600 #if defined(MBEDTLS_VERSION_FEATURES) 601 "MBEDTLS_VERSION_FEATURES", 602 #endif /* MBEDTLS_VERSION_FEATURES */ 603 #if defined(MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3) 604 "MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3", 605 #endif /* MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 */ 606 #if defined(MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION) 607 "MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION", 608 #endif /* MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION */ 609 #if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) 610 "MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK", 611 #endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */ 612 #if defined(MBEDTLS_X509_CHECK_KEY_USAGE) 613 "MBEDTLS_X509_CHECK_KEY_USAGE", 614 #endif /* MBEDTLS_X509_CHECK_KEY_USAGE */ 615 #if defined(MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE) 616 "MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE", 617 #endif /* MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE */ 618 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) 619 "MBEDTLS_X509_RSASSA_PSS_SUPPORT", 620 #endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ 621 #if defined(MBEDTLS_ZLIB_SUPPORT) 622 "MBEDTLS_ZLIB_SUPPORT", 623 #endif /* MBEDTLS_ZLIB_SUPPORT */ 624 #if defined(MBEDTLS_AESNI_C) 625 "MBEDTLS_AESNI_C", 626 #endif /* MBEDTLS_AESNI_C */ 627 #if defined(MBEDTLS_AES_C) 628 "MBEDTLS_AES_C", 629 #endif /* MBEDTLS_AES_C */ 630 #if defined(MBEDTLS_ARC4_C) 631 "MBEDTLS_ARC4_C", 632 #endif /* MBEDTLS_ARC4_C */ 633 #if defined(MBEDTLS_ASN1_PARSE_C) 634 "MBEDTLS_ASN1_PARSE_C", 635 #endif /* MBEDTLS_ASN1_PARSE_C */ 636 #if defined(MBEDTLS_ASN1_WRITE_C) 637 "MBEDTLS_ASN1_WRITE_C", 638 #endif /* MBEDTLS_ASN1_WRITE_C */ 639 #if defined(MBEDTLS_BASE64_C) 640 "MBEDTLS_BASE64_C", 641 #endif /* MBEDTLS_BASE64_C */ 642 #if defined(MBEDTLS_BIGNUM_C) 643 "MBEDTLS_BIGNUM_C", 644 #endif /* MBEDTLS_BIGNUM_C */ 645 #if defined(MBEDTLS_BLOWFISH_C) 646 "MBEDTLS_BLOWFISH_C", 647 #endif /* MBEDTLS_BLOWFISH_C */ 648 #if defined(MBEDTLS_CAMELLIA_C) 649 "MBEDTLS_CAMELLIA_C", 650 #endif /* MBEDTLS_CAMELLIA_C */ 651 #if defined(MBEDTLS_ARIA_C) 652 "MBEDTLS_ARIA_C", 653 #endif /* MBEDTLS_ARIA_C */ 654 #if defined(MBEDTLS_CCM_C) 655 "MBEDTLS_CCM_C", 656 #endif /* MBEDTLS_CCM_C */ 657 #if defined(MBEDTLS_CERTS_C) 658 "MBEDTLS_CERTS_C", 659 #endif /* MBEDTLS_CERTS_C */ 660 #if defined(MBEDTLS_CHACHA20_C) 661 "MBEDTLS_CHACHA20_C", 662 #endif /* MBEDTLS_CHACHA20_C */ 663 #if defined(MBEDTLS_CHACHAPOLY_C) 664 "MBEDTLS_CHACHAPOLY_C", 665 #endif /* MBEDTLS_CHACHAPOLY_C */ 666 #if defined(MBEDTLS_CIPHER_C) 667 "MBEDTLS_CIPHER_C", 668 #endif /* MBEDTLS_CIPHER_C */ 669 #if defined(MBEDTLS_CMAC_C) 670 "MBEDTLS_CMAC_C", 671 #endif /* MBEDTLS_CMAC_C */ 672 #if defined(MBEDTLS_CTR_DRBG_C) 673 "MBEDTLS_CTR_DRBG_C", 674 #endif /* MBEDTLS_CTR_DRBG_C */ 675 #if defined(MBEDTLS_DEBUG_C) 676 "MBEDTLS_DEBUG_C", 677 #endif /* MBEDTLS_DEBUG_C */ 678 #if defined(MBEDTLS_DES_C) 679 "MBEDTLS_DES_C", 680 #endif /* MBEDTLS_DES_C */ 681 #if defined(MBEDTLS_DHM_C) 682 "MBEDTLS_DHM_C", 683 #endif /* MBEDTLS_DHM_C */ 684 #if defined(MBEDTLS_ECDH_C) 685 "MBEDTLS_ECDH_C", 686 #endif /* MBEDTLS_ECDH_C */ 687 #if defined(MBEDTLS_ECDSA_C) 688 "MBEDTLS_ECDSA_C", 689 #endif /* MBEDTLS_ECDSA_C */ 690 #if defined(MBEDTLS_ECJPAKE_C) 691 "MBEDTLS_ECJPAKE_C", 692 #endif /* MBEDTLS_ECJPAKE_C */ 693 #if defined(MBEDTLS_ECP_C) 694 "MBEDTLS_ECP_C", 695 #endif /* MBEDTLS_ECP_C */ 696 #if defined(MBEDTLS_ENTROPY_C) 697 "MBEDTLS_ENTROPY_C", 698 #endif /* MBEDTLS_ENTROPY_C */ 699 #if defined(MBEDTLS_ERROR_C) 700 "MBEDTLS_ERROR_C", 701 #endif /* MBEDTLS_ERROR_C */ 702 #if defined(MBEDTLS_GCM_C) 703 "MBEDTLS_GCM_C", 704 #endif /* MBEDTLS_GCM_C */ 705 #if defined(MBEDTLS_HAVEGE_C) 706 "MBEDTLS_HAVEGE_C", 707 #endif /* MBEDTLS_HAVEGE_C */ 708 #if defined(MBEDTLS_HKDF_C) 709 "MBEDTLS_HKDF_C", 710 #endif /* MBEDTLS_HKDF_C */ 711 #if defined(MBEDTLS_HMAC_DRBG_C) 712 "MBEDTLS_HMAC_DRBG_C", 713 #endif /* MBEDTLS_HMAC_DRBG_C */ 714 #if defined(MBEDTLS_NIST_KW_C) 715 "MBEDTLS_NIST_KW_C", 716 #endif /* MBEDTLS_NIST_KW_C */ 717 #if defined(MBEDTLS_MD_C) 718 "MBEDTLS_MD_C", 719 #endif /* MBEDTLS_MD_C */ 720 #if defined(MBEDTLS_MD2_C) 721 "MBEDTLS_MD2_C", 722 #endif /* MBEDTLS_MD2_C */ 723 #if defined(MBEDTLS_MD4_C) 724 "MBEDTLS_MD4_C", 725 #endif /* MBEDTLS_MD4_C */ 726 #if defined(MBEDTLS_MD5_C) 727 "MBEDTLS_MD5_C", 728 #endif /* MBEDTLS_MD5_C */ 729 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) 730 "MBEDTLS_MEMORY_BUFFER_ALLOC_C", 731 #endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */ 732 #if defined(MBEDTLS_NET_C) 733 "MBEDTLS_NET_C", 734 #endif /* MBEDTLS_NET_C */ 735 #if defined(MBEDTLS_OID_C) 736 "MBEDTLS_OID_C", 737 #endif /* MBEDTLS_OID_C */ 738 #if defined(MBEDTLS_PADLOCK_C) 739 "MBEDTLS_PADLOCK_C", 740 #endif /* MBEDTLS_PADLOCK_C */ 741 #if defined(MBEDTLS_PEM_PARSE_C) 742 "MBEDTLS_PEM_PARSE_C", 743 #endif /* MBEDTLS_PEM_PARSE_C */ 744 #if defined(MBEDTLS_PEM_WRITE_C) 745 "MBEDTLS_PEM_WRITE_C", 746 #endif /* MBEDTLS_PEM_WRITE_C */ 747 #if defined(MBEDTLS_PK_C) 748 "MBEDTLS_PK_C", 749 #endif /* MBEDTLS_PK_C */ 750 #if defined(MBEDTLS_PK_PARSE_C) 751 "MBEDTLS_PK_PARSE_C", 752 #endif /* MBEDTLS_PK_PARSE_C */ 753 #if defined(MBEDTLS_PK_WRITE_C) 754 "MBEDTLS_PK_WRITE_C", 755 #endif /* MBEDTLS_PK_WRITE_C */ 756 #if defined(MBEDTLS_PKCS5_C) 757 "MBEDTLS_PKCS5_C", 758 #endif /* MBEDTLS_PKCS5_C */ 759 #if defined(MBEDTLS_PKCS11_C) 760 "MBEDTLS_PKCS11_C", 761 #endif /* MBEDTLS_PKCS11_C */ 762 #if defined(MBEDTLS_PKCS12_C) 763 "MBEDTLS_PKCS12_C", 764 #endif /* MBEDTLS_PKCS12_C */ 765 #if defined(MBEDTLS_PLATFORM_C) 766 "MBEDTLS_PLATFORM_C", 767 #endif /* MBEDTLS_PLATFORM_C */ 768 #if defined(MBEDTLS_POLY1305_C) 769 "MBEDTLS_POLY1305_C", 770 #endif /* MBEDTLS_POLY1305_C */ 771 #if defined(MBEDTLS_PSA_CRYPTO_C) 772 "MBEDTLS_PSA_CRYPTO_C", 773 #endif /* MBEDTLS_PSA_CRYPTO_C */ 774 #if defined(MBEDTLS_PSA_CRYPTO_SE_C) 775 "MBEDTLS_PSA_CRYPTO_SE_C", 776 #endif /* MBEDTLS_PSA_CRYPTO_SE_C */ 777 #if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) 778 "MBEDTLS_PSA_CRYPTO_STORAGE_C", 779 #endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */ 780 #if defined(MBEDTLS_PSA_ITS_FILE_C) 781 "MBEDTLS_PSA_ITS_FILE_C", 782 #endif /* MBEDTLS_PSA_ITS_FILE_C */ 783 #if defined(MBEDTLS_RIPEMD160_C) 784 "MBEDTLS_RIPEMD160_C", 785 #endif /* MBEDTLS_RIPEMD160_C */ 786 #if defined(MBEDTLS_RSA_C) 787 "MBEDTLS_RSA_C", 788 #endif /* MBEDTLS_RSA_C */ 789 #if defined(MBEDTLS_SHA1_C) 790 "MBEDTLS_SHA1_C", 791 #endif /* MBEDTLS_SHA1_C */ 792 #if defined(MBEDTLS_SHA256_C) 793 "MBEDTLS_SHA256_C", 794 #endif /* MBEDTLS_SHA256_C */ 795 #if defined(MBEDTLS_SHA512_C) 796 "MBEDTLS_SHA512_C", 797 #endif /* MBEDTLS_SHA512_C */ 798 #if defined(MBEDTLS_SSL_CACHE_C) 799 "MBEDTLS_SSL_CACHE_C", 800 #endif /* MBEDTLS_SSL_CACHE_C */ 801 #if defined(MBEDTLS_SSL_COOKIE_C) 802 "MBEDTLS_SSL_COOKIE_C", 803 #endif /* MBEDTLS_SSL_COOKIE_C */ 804 #if defined(MBEDTLS_SSL_TICKET_C) 805 "MBEDTLS_SSL_TICKET_C", 806 #endif /* MBEDTLS_SSL_TICKET_C */ 807 #if defined(MBEDTLS_SSL_CLI_C) 808 "MBEDTLS_SSL_CLI_C", 809 #endif /* MBEDTLS_SSL_CLI_C */ 810 #if defined(MBEDTLS_SSL_SRV_C) 811 "MBEDTLS_SSL_SRV_C", 812 #endif /* MBEDTLS_SSL_SRV_C */ 813 #if defined(MBEDTLS_SSL_TLS_C) 814 "MBEDTLS_SSL_TLS_C", 815 #endif /* MBEDTLS_SSL_TLS_C */ 816 #if defined(MBEDTLS_THREADING_C) 817 "MBEDTLS_THREADING_C", 818 #endif /* MBEDTLS_THREADING_C */ 819 #if defined(MBEDTLS_TIMING_C) 820 "MBEDTLS_TIMING_C", 821 #endif /* MBEDTLS_TIMING_C */ 822 #if defined(MBEDTLS_VERSION_C) 823 "MBEDTLS_VERSION_C", 824 #endif /* MBEDTLS_VERSION_C */ 825 #if defined(MBEDTLS_X509_USE_C) 826 "MBEDTLS_X509_USE_C", 827 #endif /* MBEDTLS_X509_USE_C */ 828 #if defined(MBEDTLS_X509_CRT_PARSE_C) 829 "MBEDTLS_X509_CRT_PARSE_C", 830 #endif /* MBEDTLS_X509_CRT_PARSE_C */ 831 #if defined(MBEDTLS_X509_CRL_PARSE_C) 832 "MBEDTLS_X509_CRL_PARSE_C", 833 #endif /* MBEDTLS_X509_CRL_PARSE_C */ 834 #if defined(MBEDTLS_X509_CSR_PARSE_C) 835 "MBEDTLS_X509_CSR_PARSE_C", 836 #endif /* MBEDTLS_X509_CSR_PARSE_C */ 837 #if defined(MBEDTLS_X509_CREATE_C) 838 "MBEDTLS_X509_CREATE_C", 839 #endif /* MBEDTLS_X509_CREATE_C */ 840 #if defined(MBEDTLS_X509_CRT_WRITE_C) 841 "MBEDTLS_X509_CRT_WRITE_C", 842 #endif /* MBEDTLS_X509_CRT_WRITE_C */ 843 #if defined(MBEDTLS_X509_CSR_WRITE_C) 844 "MBEDTLS_X509_CSR_WRITE_C", 845 #endif /* MBEDTLS_X509_CSR_WRITE_C */ 846 #if defined(MBEDTLS_XTEA_C) 847 "MBEDTLS_XTEA_C", 848 #endif /* MBEDTLS_XTEA_C */ 849 #endif /* MBEDTLS_VERSION_FEATURES */ 850 NULL 851 }; 852 853 int mbedtls_version_check_feature( const char *feature ) 854 { 855 const char * const *idx = features; 856 857 if( *idx == NULL ) 858 return( -2 ); 859 860 if( feature == NULL ) 861 return( -1 ); 862 863 while( *idx != NULL ) 864 { 865 if( !strcmp( *idx, feature ) ) 866 return( 0 ); 867 idx++; 868 } 869 return( -1 ); 870 } 871 872 #endif /* MBEDTLS_VERSION_C */ 873