quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

version_features.c (32754B)


      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 */