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 16 static 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_KEY_STORE_DYNAMIC) 427 "PSA_KEY_STORE_DYNAMIC", //no-check-names 428 #endif /* MBEDTLS_PSA_KEY_STORE_DYNAMIC */ 429 #if defined(MBEDTLS_PSA_P256M_DRIVER_ENABLED) 430 "PSA_P256M_DRIVER_ENABLED", //no-check-names 431 #endif /* MBEDTLS_PSA_P256M_DRIVER_ENABLED */ 432 #if defined(MBEDTLS_PSA_INJECT_ENTROPY) 433 "PSA_INJECT_ENTROPY", //no-check-names 434 #endif /* MBEDTLS_PSA_INJECT_ENTROPY */ 435 #if defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS) 436 "PSA_ASSUME_EXCLUSIVE_BUFFERS", //no-check-names 437 #endif /* MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS */ 438 #if defined(MBEDTLS_RSA_NO_CRT) 439 "RSA_NO_CRT", //no-check-names 440 #endif /* MBEDTLS_RSA_NO_CRT */ 441 #if defined(MBEDTLS_SELF_TEST) 442 "SELF_TEST", //no-check-names 443 #endif /* MBEDTLS_SELF_TEST */ 444 #if defined(MBEDTLS_SHA256_SMALLER) 445 "SHA256_SMALLER", //no-check-names 446 #endif /* MBEDTLS_SHA256_SMALLER */ 447 #if defined(MBEDTLS_SHA512_SMALLER) 448 "SHA512_SMALLER", //no-check-names 449 #endif /* MBEDTLS_SHA512_SMALLER */ 450 #if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES) 451 "SSL_ALL_ALERT_MESSAGES", //no-check-names 452 #endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */ 453 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 454 "SSL_DTLS_CONNECTION_ID", //no-check-names 455 #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ 456 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) 457 "SSL_DTLS_CONNECTION_ID_COMPAT", //no-check-names 458 #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT */ 459 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) 460 "SSL_ASYNC_PRIVATE", //no-check-names 461 #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ 462 #if defined(MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME) 463 "SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME", //no-check-names 464 #endif /* MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME */ 465 #if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION) 466 "SSL_CONTEXT_SERIALIZATION", //no-check-names 467 #endif /* MBEDTLS_SSL_CONTEXT_SERIALIZATION */ 468 #if defined(MBEDTLS_SSL_DEBUG_ALL) 469 "SSL_DEBUG_ALL", //no-check-names 470 #endif /* MBEDTLS_SSL_DEBUG_ALL */ 471 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) 472 "SSL_ENCRYPT_THEN_MAC", //no-check-names 473 #endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */ 474 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) 475 "SSL_EXTENDED_MASTER_SECRET", //no-check-names 476 #endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */ 477 #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) 478 "SSL_KEEP_PEER_CERTIFICATE", //no-check-names 479 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ 480 #if defined(MBEDTLS_SSL_KEYING_MATERIAL_EXPORT) 481 "SSL_KEYING_MATERIAL_EXPORT", //no-check-names 482 #endif /* MBEDTLS_SSL_KEYING_MATERIAL_EXPORT */ 483 #if defined(MBEDTLS_SSL_RENEGOTIATION) 484 "SSL_RENEGOTIATION", //no-check-names 485 #endif /* MBEDTLS_SSL_RENEGOTIATION */ 486 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) 487 "SSL_MAX_FRAGMENT_LENGTH", //no-check-names 488 #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */ 489 #if defined(MBEDTLS_SSL_RECORD_SIZE_LIMIT) 490 "SSL_RECORD_SIZE_LIMIT", //no-check-names 491 #endif /* MBEDTLS_SSL_RECORD_SIZE_LIMIT */ 492 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 493 "SSL_PROTO_TLS1_2", //no-check-names 494 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ 495 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 496 "SSL_PROTO_TLS1_3", //no-check-names 497 #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ 498 #if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE) 499 "SSL_TLS1_3_COMPATIBILITY_MODE", //no-check-names 500 #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ 501 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) 502 "SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED", //no-check-names 503 #endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */ 504 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) 505 "SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED", //no-check-names 506 #endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ 507 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) 508 "SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED", //no-check-names 509 #endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */ 510 #if defined(MBEDTLS_SSL_EARLY_DATA) 511 "SSL_EARLY_DATA", //no-check-names 512 #endif /* MBEDTLS_SSL_EARLY_DATA */ 513 #if defined(MBEDTLS_SSL_PROTO_DTLS) 514 "SSL_PROTO_DTLS", //no-check-names 515 #endif /* MBEDTLS_SSL_PROTO_DTLS */ 516 #if defined(MBEDTLS_SSL_ALPN) 517 "SSL_ALPN", //no-check-names 518 #endif /* MBEDTLS_SSL_ALPN */ 519 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) 520 "SSL_DTLS_ANTI_REPLAY", //no-check-names 521 #endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */ 522 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) 523 "SSL_DTLS_HELLO_VERIFY", //no-check-names 524 #endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */ 525 #if defined(MBEDTLS_SSL_DTLS_SRTP) 526 "SSL_DTLS_SRTP", //no-check-names 527 #endif /* MBEDTLS_SSL_DTLS_SRTP */ 528 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) 529 "SSL_DTLS_CLIENT_PORT_REUSE", //no-check-names 530 #endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */ 531 #if defined(MBEDTLS_SSL_SESSION_TICKETS) 532 "SSL_SESSION_TICKETS", //no-check-names 533 #endif /* MBEDTLS_SSL_SESSION_TICKETS */ 534 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 535 "SSL_SERVER_NAME_INDICATION", //no-check-names 536 #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ 537 #if defined(MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH) 538 "SSL_VARIABLE_BUFFER_LENGTH", //no-check-names 539 #endif /* MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH */ 540 #if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN) 541 "TEST_CONSTANT_FLOW_MEMSAN", //no-check-names 542 #endif /* MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN */ 543 #if defined(MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND) 544 "TEST_CONSTANT_FLOW_VALGRIND", //no-check-names 545 #endif /* MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND */ 546 #if defined(MBEDTLS_TEST_HOOKS) 547 "TEST_HOOKS", //no-check-names 548 #endif /* MBEDTLS_TEST_HOOKS */ 549 #if defined(MBEDTLS_THREADING_ALT) 550 "THREADING_ALT", //no-check-names 551 #endif /* MBEDTLS_THREADING_ALT */ 552 #if defined(MBEDTLS_THREADING_PTHREAD) 553 "THREADING_PTHREAD", //no-check-names 554 #endif /* MBEDTLS_THREADING_PTHREAD */ 555 #if defined(MBEDTLS_USE_PSA_CRYPTO) 556 "USE_PSA_CRYPTO", //no-check-names 557 #endif /* MBEDTLS_USE_PSA_CRYPTO */ 558 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 559 "PSA_CRYPTO_CONFIG", //no-check-names 560 #endif /* MBEDTLS_PSA_CRYPTO_CONFIG */ 561 #if defined(MBEDTLS_VERSION_FEATURES) 562 "VERSION_FEATURES", //no-check-names 563 #endif /* MBEDTLS_VERSION_FEATURES */ 564 #if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) 565 "X509_TRUSTED_CERTIFICATE_CALLBACK", //no-check-names 566 #endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */ 567 #if defined(MBEDTLS_X509_REMOVE_INFO) 568 "X509_REMOVE_INFO", //no-check-names 569 #endif /* MBEDTLS_X509_REMOVE_INFO */ 570 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) 571 "X509_RSASSA_PSS_SUPPORT", //no-check-names 572 #endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ 573 #if defined(MBEDTLS_AESNI_C) 574 "AESNI_C", //no-check-names 575 #endif /* MBEDTLS_AESNI_C */ 576 #if defined(MBEDTLS_AESCE_C) 577 "AESCE_C", //no-check-names 578 #endif /* MBEDTLS_AESCE_C */ 579 #if defined(MBEDTLS_AES_C) 580 "AES_C", //no-check-names 581 #endif /* MBEDTLS_AES_C */ 582 #if defined(MBEDTLS_ASN1_PARSE_C) 583 "ASN1_PARSE_C", //no-check-names 584 #endif /* MBEDTLS_ASN1_PARSE_C */ 585 #if defined(MBEDTLS_ASN1_WRITE_C) 586 "ASN1_WRITE_C", //no-check-names 587 #endif /* MBEDTLS_ASN1_WRITE_C */ 588 #if defined(MBEDTLS_BASE64_C) 589 "BASE64_C", //no-check-names 590 #endif /* MBEDTLS_BASE64_C */ 591 #if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT) 592 "BLOCK_CIPHER_NO_DECRYPT", //no-check-names 593 #endif /* MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */ 594 #if defined(MBEDTLS_BIGNUM_C) 595 "BIGNUM_C", //no-check-names 596 #endif /* MBEDTLS_BIGNUM_C */ 597 #if defined(MBEDTLS_CAMELLIA_C) 598 "CAMELLIA_C", //no-check-names 599 #endif /* MBEDTLS_CAMELLIA_C */ 600 #if defined(MBEDTLS_ARIA_C) 601 "ARIA_C", //no-check-names 602 #endif /* MBEDTLS_ARIA_C */ 603 #if defined(MBEDTLS_CCM_C) 604 "CCM_C", //no-check-names 605 #endif /* MBEDTLS_CCM_C */ 606 #if defined(MBEDTLS_CHACHA20_C) 607 "CHACHA20_C", //no-check-names 608 #endif /* MBEDTLS_CHACHA20_C */ 609 #if defined(MBEDTLS_CHACHAPOLY_C) 610 "CHACHAPOLY_C", //no-check-names 611 #endif /* MBEDTLS_CHACHAPOLY_C */ 612 #if defined(MBEDTLS_CIPHER_C) 613 "CIPHER_C", //no-check-names 614 #endif /* MBEDTLS_CIPHER_C */ 615 #if defined(MBEDTLS_CMAC_C) 616 "CMAC_C", //no-check-names 617 #endif /* MBEDTLS_CMAC_C */ 618 #if defined(MBEDTLS_CTR_DRBG_C) 619 "CTR_DRBG_C", //no-check-names 620 #endif /* MBEDTLS_CTR_DRBG_C */ 621 #if defined(MBEDTLS_DEBUG_C) 622 "DEBUG_C", //no-check-names 623 #endif /* MBEDTLS_DEBUG_C */ 624 #if defined(MBEDTLS_DES_C) 625 "DES_C", //no-check-names 626 #endif /* MBEDTLS_DES_C */ 627 #if defined(MBEDTLS_DHM_C) 628 "DHM_C", //no-check-names 629 #endif /* MBEDTLS_DHM_C */ 630 #if defined(MBEDTLS_ECDH_C) 631 "ECDH_C", //no-check-names 632 #endif /* MBEDTLS_ECDH_C */ 633 #if defined(MBEDTLS_ECDSA_C) 634 "ECDSA_C", //no-check-names 635 #endif /* MBEDTLS_ECDSA_C */ 636 #if defined(MBEDTLS_ECJPAKE_C) 637 "ECJPAKE_C", //no-check-names 638 #endif /* MBEDTLS_ECJPAKE_C */ 639 #if defined(MBEDTLS_ECP_C) 640 "ECP_C", //no-check-names 641 #endif /* MBEDTLS_ECP_C */ 642 #if defined(MBEDTLS_ENTROPY_C) 643 "ENTROPY_C", //no-check-names 644 #endif /* MBEDTLS_ENTROPY_C */ 645 #if defined(MBEDTLS_ERROR_C) 646 "ERROR_C", //no-check-names 647 #endif /* MBEDTLS_ERROR_C */ 648 #if defined(MBEDTLS_GCM_C) 649 "GCM_C", //no-check-names 650 #endif /* MBEDTLS_GCM_C */ 651 #if defined(MBEDTLS_GCM_LARGE_TABLE) 652 "GCM_LARGE_TABLE", //no-check-names 653 #endif /* MBEDTLS_GCM_LARGE_TABLE */ 654 #if defined(MBEDTLS_HKDF_C) 655 "HKDF_C", //no-check-names 656 #endif /* MBEDTLS_HKDF_C */ 657 #if defined(MBEDTLS_HMAC_DRBG_C) 658 "HMAC_DRBG_C", //no-check-names 659 #endif /* MBEDTLS_HMAC_DRBG_C */ 660 #if defined(MBEDTLS_LMS_C) 661 "LMS_C", //no-check-names 662 #endif /* MBEDTLS_LMS_C */ 663 #if defined(MBEDTLS_LMS_PRIVATE) 664 "LMS_PRIVATE", //no-check-names 665 #endif /* MBEDTLS_LMS_PRIVATE */ 666 #if defined(MBEDTLS_NIST_KW_C) 667 "NIST_KW_C", //no-check-names 668 #endif /* MBEDTLS_NIST_KW_C */ 669 #if defined(MBEDTLS_MD_C) 670 "MD_C", //no-check-names 671 #endif /* MBEDTLS_MD_C */ 672 #if defined(MBEDTLS_MD5_C) 673 "MD5_C", //no-check-names 674 #endif /* MBEDTLS_MD5_C */ 675 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) 676 "MEMORY_BUFFER_ALLOC_C", //no-check-names 677 #endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */ 678 #if defined(MBEDTLS_NET_C) 679 "NET_C", //no-check-names 680 #endif /* MBEDTLS_NET_C */ 681 #if defined(MBEDTLS_OID_C) 682 "OID_C", //no-check-names 683 #endif /* MBEDTLS_OID_C */ 684 #if defined(MBEDTLS_PADLOCK_C) 685 "PADLOCK_C", //no-check-names 686 #endif /* MBEDTLS_PADLOCK_C */ 687 #if defined(MBEDTLS_PEM_PARSE_C) 688 "PEM_PARSE_C", //no-check-names 689 #endif /* MBEDTLS_PEM_PARSE_C */ 690 #if defined(MBEDTLS_PEM_WRITE_C) 691 "PEM_WRITE_C", //no-check-names 692 #endif /* MBEDTLS_PEM_WRITE_C */ 693 #if defined(MBEDTLS_PK_C) 694 "PK_C", //no-check-names 695 #endif /* MBEDTLS_PK_C */ 696 #if defined(MBEDTLS_PK_PARSE_C) 697 "PK_PARSE_C", //no-check-names 698 #endif /* MBEDTLS_PK_PARSE_C */ 699 #if defined(MBEDTLS_PK_WRITE_C) 700 "PK_WRITE_C", //no-check-names 701 #endif /* MBEDTLS_PK_WRITE_C */ 702 #if defined(MBEDTLS_PKCS5_C) 703 "PKCS5_C", //no-check-names 704 #endif /* MBEDTLS_PKCS5_C */ 705 #if defined(MBEDTLS_PKCS7_C) 706 "PKCS7_C", //no-check-names 707 #endif /* MBEDTLS_PKCS7_C */ 708 #if defined(MBEDTLS_PKCS12_C) 709 "PKCS12_C", //no-check-names 710 #endif /* MBEDTLS_PKCS12_C */ 711 #if defined(MBEDTLS_PLATFORM_C) 712 "PLATFORM_C", //no-check-names 713 #endif /* MBEDTLS_PLATFORM_C */ 714 #if defined(MBEDTLS_POLY1305_C) 715 "POLY1305_C", //no-check-names 716 #endif /* MBEDTLS_POLY1305_C */ 717 #if defined(MBEDTLS_PSA_CRYPTO_C) 718 "PSA_CRYPTO_C", //no-check-names 719 #endif /* MBEDTLS_PSA_CRYPTO_C */ 720 #if defined(MBEDTLS_PSA_CRYPTO_SE_C) 721 "PSA_CRYPTO_SE_C", //no-check-names 722 #endif /* MBEDTLS_PSA_CRYPTO_SE_C */ 723 #if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) 724 "PSA_CRYPTO_STORAGE_C", //no-check-names 725 #endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */ 726 #if defined(MBEDTLS_PSA_ITS_FILE_C) 727 "PSA_ITS_FILE_C", //no-check-names 728 #endif /* MBEDTLS_PSA_ITS_FILE_C */ 729 #if defined(MBEDTLS_PSA_STATIC_KEY_SLOTS) 730 "PSA_STATIC_KEY_SLOTS", //no-check-names 731 #endif /* MBEDTLS_PSA_STATIC_KEY_SLOTS */ 732 #if defined(MBEDTLS_RIPEMD160_C) 733 "RIPEMD160_C", //no-check-names 734 #endif /* MBEDTLS_RIPEMD160_C */ 735 #if defined(MBEDTLS_RSA_C) 736 "RSA_C", //no-check-names 737 #endif /* MBEDTLS_RSA_C */ 738 #if defined(MBEDTLS_SHA1_C) 739 "SHA1_C", //no-check-names 740 #endif /* MBEDTLS_SHA1_C */ 741 #if defined(MBEDTLS_SHA224_C) 742 "SHA224_C", //no-check-names 743 #endif /* MBEDTLS_SHA224_C */ 744 #if defined(MBEDTLS_SHA256_C) 745 "SHA256_C", //no-check-names 746 #endif /* MBEDTLS_SHA256_C */ 747 #if defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT) 748 "SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT", //no-check-names 749 #endif /* MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT */ 750 #if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT) 751 "SHA256_USE_A64_CRYPTO_IF_PRESENT", //no-check-names 752 #endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT */ 753 #if defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY) 754 "SHA256_USE_ARMV8_A_CRYPTO_ONLY", //no-check-names 755 #endif /* MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY */ 756 #if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY) 757 "SHA256_USE_A64_CRYPTO_ONLY", //no-check-names 758 #endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY */ 759 #if defined(MBEDTLS_SHA384_C) 760 "SHA384_C", //no-check-names 761 #endif /* MBEDTLS_SHA384_C */ 762 #if defined(MBEDTLS_SHA512_C) 763 "SHA512_C", //no-check-names 764 #endif /* MBEDTLS_SHA512_C */ 765 #if defined(MBEDTLS_SHA3_C) 766 "SHA3_C", //no-check-names 767 #endif /* MBEDTLS_SHA3_C */ 768 #if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT) 769 "SHA512_USE_A64_CRYPTO_IF_PRESENT", //no-check-names 770 #endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT */ 771 #if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY) 772 "SHA512_USE_A64_CRYPTO_ONLY", //no-check-names 773 #endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY */ 774 #if defined(MBEDTLS_SSL_CACHE_C) 775 "SSL_CACHE_C", //no-check-names 776 #endif /* MBEDTLS_SSL_CACHE_C */ 777 #if defined(MBEDTLS_SSL_COOKIE_C) 778 "SSL_COOKIE_C", //no-check-names 779 #endif /* MBEDTLS_SSL_COOKIE_C */ 780 #if defined(MBEDTLS_SSL_TICKET_C) 781 "SSL_TICKET_C", //no-check-names 782 #endif /* MBEDTLS_SSL_TICKET_C */ 783 #if defined(MBEDTLS_SSL_CLI_C) 784 "SSL_CLI_C", //no-check-names 785 #endif /* MBEDTLS_SSL_CLI_C */ 786 #if defined(MBEDTLS_SSL_SRV_C) 787 "SSL_SRV_C", //no-check-names 788 #endif /* MBEDTLS_SSL_SRV_C */ 789 #if defined(MBEDTLS_SSL_TLS_C) 790 "SSL_TLS_C", //no-check-names 791 #endif /* MBEDTLS_SSL_TLS_C */ 792 #if defined(MBEDTLS_THREADING_C) 793 "THREADING_C", //no-check-names 794 #endif /* MBEDTLS_THREADING_C */ 795 #if defined(MBEDTLS_TIMING_C) 796 "TIMING_C", //no-check-names 797 #endif /* MBEDTLS_TIMING_C */ 798 #if defined(MBEDTLS_VERSION_C) 799 "VERSION_C", //no-check-names 800 #endif /* MBEDTLS_VERSION_C */ 801 #if defined(MBEDTLS_X509_USE_C) 802 "X509_USE_C", //no-check-names 803 #endif /* MBEDTLS_X509_USE_C */ 804 #if defined(MBEDTLS_X509_CRT_PARSE_C) 805 "X509_CRT_PARSE_C", //no-check-names 806 #endif /* MBEDTLS_X509_CRT_PARSE_C */ 807 #if defined(MBEDTLS_X509_CRL_PARSE_C) 808 "X509_CRL_PARSE_C", //no-check-names 809 #endif /* MBEDTLS_X509_CRL_PARSE_C */ 810 #if defined(MBEDTLS_X509_CSR_PARSE_C) 811 "X509_CSR_PARSE_C", //no-check-names 812 #endif /* MBEDTLS_X509_CSR_PARSE_C */ 813 #if defined(MBEDTLS_X509_CREATE_C) 814 "X509_CREATE_C", //no-check-names 815 #endif /* MBEDTLS_X509_CREATE_C */ 816 #if defined(MBEDTLS_X509_CRT_WRITE_C) 817 "X509_CRT_WRITE_C", //no-check-names 818 #endif /* MBEDTLS_X509_CRT_WRITE_C */ 819 #if defined(MBEDTLS_X509_CSR_WRITE_C) 820 "X509_CSR_WRITE_C", //no-check-names 821 #endif /* MBEDTLS_X509_CSR_WRITE_C */ 822 #endif /* MBEDTLS_VERSION_FEATURES */ 823 NULL 824 }; 825 826 int mbedtls_version_check_feature(const char *feature) 827 { 828 const char * const *idx = features; 829 830 if (*idx == NULL) { 831 return -2; 832 } 833 834 if (feature == NULL) { 835 return -1; 836 } 837 838 if (strncmp(feature, "MBEDTLS_", 8)) { 839 return -1; 840 } 841 842 feature += 8; 843 844 while (*idx != NULL) { 845 if (!strcmp(*idx, feature)) { 846 return 0; 847 } 848 idx++; 849 } 850 return -1; 851 } 852 853 #endif /* MBEDTLS_VERSION_C */ 854