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