Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
version_features.c
00001 /* 00002 * Version feature information 00003 * 00004 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved 00005 * SPDX-License-Identifier: Apache-2.0 00006 * 00007 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00008 * not use this file except in compliance with the License. 00009 * You may obtain a copy of the License at 00010 * 00011 * http://www.apache.org/licenses/LICENSE-2.0 00012 * 00013 * Unless required by applicable law or agreed to in writing, software 00014 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00015 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00016 * See the License for the specific language governing permissions and 00017 * limitations under the License. 00018 * 00019 * This file is part of mbed TLS (https://tls.mbed.org) 00020 */ 00021 00022 #if !defined(MBEDTLS_CONFIG_FILE) 00023 #include "mbedtls/config.h" 00024 #else 00025 #include MBEDTLS_CONFIG_FILE 00026 #endif 00027 00028 #if defined(MBEDTLS_VERSION_C) 00029 00030 #include "mbedtls/version.h" 00031 00032 #include <string.h> 00033 00034 static const char *features[] = { 00035 #if defined(MBEDTLS_VERSION_FEATURES) 00036 #if defined(MBEDTLS_HAVE_ASM) 00037 "MBEDTLS_HAVE_ASM", 00038 #endif /* MBEDTLS_HAVE_ASM */ 00039 #if defined(MBEDTLS_NO_UDBL_DIVISION) 00040 "MBEDTLS_NO_UDBL_DIVISION", 00041 #endif /* MBEDTLS_NO_UDBL_DIVISION */ 00042 #if defined(MBEDTLS_HAVE_SSE2) 00043 "MBEDTLS_HAVE_SSE2", 00044 #endif /* MBEDTLS_HAVE_SSE2 */ 00045 #if defined(MBEDTLS_HAVE_TIME) 00046 "MBEDTLS_HAVE_TIME", 00047 #endif /* MBEDTLS_HAVE_TIME */ 00048 #if defined(MBEDTLS_HAVE_TIME_DATE) 00049 "MBEDTLS_HAVE_TIME_DATE", 00050 #endif /* MBEDTLS_HAVE_TIME_DATE */ 00051 #if defined(MBEDTLS_PLATFORM_MEMORY) 00052 "MBEDTLS_PLATFORM_MEMORY", 00053 #endif /* MBEDTLS_PLATFORM_MEMORY */ 00054 #if defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 00055 "MBEDTLS_PLATFORM_NO_STD_FUNCTIONS", 00056 #endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */ 00057 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) 00058 "MBEDTLS_PLATFORM_EXIT_ALT", 00059 #endif /* MBEDTLS_PLATFORM_EXIT_ALT */ 00060 #if defined(MBEDTLS_PLATFORM_TIME_ALT) 00061 "MBEDTLS_PLATFORM_TIME_ALT", 00062 #endif /* MBEDTLS_PLATFORM_TIME_ALT */ 00063 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 00064 "MBEDTLS_PLATFORM_FPRINTF_ALT", 00065 #endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */ 00066 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) 00067 "MBEDTLS_PLATFORM_PRINTF_ALT", 00068 #endif /* MBEDTLS_PLATFORM_PRINTF_ALT */ 00069 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 00070 "MBEDTLS_PLATFORM_SNPRINTF_ALT", 00071 #endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */ 00072 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 00073 "MBEDTLS_PLATFORM_NV_SEED_ALT", 00074 #endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */ 00075 #if defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT) 00076 "MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT", 00077 #endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */ 00078 #if defined(MBEDTLS_DEPRECATED_WARNING) 00079 "MBEDTLS_DEPRECATED_WARNING", 00080 #endif /* MBEDTLS_DEPRECATED_WARNING */ 00081 #if defined(MBEDTLS_DEPRECATED_REMOVED) 00082 "MBEDTLS_DEPRECATED_REMOVED", 00083 #endif /* MBEDTLS_DEPRECATED_REMOVED */ 00084 #if defined(MBEDTLS_TIMING_ALT) 00085 "MBEDTLS_TIMING_ALT", 00086 #endif /* MBEDTLS_TIMING_ALT */ 00087 #if defined(MBEDTLS_AES_ALT) 00088 "MBEDTLS_AES_ALT", 00089 #endif /* MBEDTLS_AES_ALT */ 00090 #if defined(MBEDTLS_ARC4_ALT) 00091 "MBEDTLS_ARC4_ALT", 00092 #endif /* MBEDTLS_ARC4_ALT */ 00093 #if defined(MBEDTLS_BLOWFISH_ALT) 00094 "MBEDTLS_BLOWFISH_ALT", 00095 #endif /* MBEDTLS_BLOWFISH_ALT */ 00096 #if defined(MBEDTLS_CAMELLIA_ALT) 00097 "MBEDTLS_CAMELLIA_ALT", 00098 #endif /* MBEDTLS_CAMELLIA_ALT */ 00099 #if defined(MBEDTLS_DES_ALT) 00100 "MBEDTLS_DES_ALT", 00101 #endif /* MBEDTLS_DES_ALT */ 00102 #if defined(MBEDTLS_XTEA_ALT) 00103 "MBEDTLS_XTEA_ALT", 00104 #endif /* MBEDTLS_XTEA_ALT */ 00105 #if defined(MBEDTLS_MD2_ALT) 00106 "MBEDTLS_MD2_ALT", 00107 #endif /* MBEDTLS_MD2_ALT */ 00108 #if defined(MBEDTLS_MD4_ALT) 00109 "MBEDTLS_MD4_ALT", 00110 #endif /* MBEDTLS_MD4_ALT */ 00111 #if defined(MBEDTLS_MD5_ALT) 00112 "MBEDTLS_MD5_ALT", 00113 #endif /* MBEDTLS_MD5_ALT */ 00114 #if defined(MBEDTLS_RIPEMD160_ALT) 00115 "MBEDTLS_RIPEMD160_ALT", 00116 #endif /* MBEDTLS_RIPEMD160_ALT */ 00117 #if defined(MBEDTLS_SHA1_ALT) 00118 "MBEDTLS_SHA1_ALT", 00119 #endif /* MBEDTLS_SHA1_ALT */ 00120 #if defined(MBEDTLS_SHA256_ALT) 00121 "MBEDTLS_SHA256_ALT", 00122 #endif /* MBEDTLS_SHA256_ALT */ 00123 #if defined(MBEDTLS_SHA512_ALT) 00124 "MBEDTLS_SHA512_ALT", 00125 #endif /* MBEDTLS_SHA512_ALT */ 00126 #if defined(MBEDTLS_ECP_ALT) 00127 "MBEDTLS_ECP_ALT", 00128 #endif /* MBEDTLS_ECP_ALT */ 00129 #if defined(MBEDTLS_MD2_PROCESS_ALT) 00130 "MBEDTLS_MD2_PROCESS_ALT", 00131 #endif /* MBEDTLS_MD2_PROCESS_ALT */ 00132 #if defined(MBEDTLS_MD4_PROCESS_ALT) 00133 "MBEDTLS_MD4_PROCESS_ALT", 00134 #endif /* MBEDTLS_MD4_PROCESS_ALT */ 00135 #if defined(MBEDTLS_MD5_PROCESS_ALT) 00136 "MBEDTLS_MD5_PROCESS_ALT", 00137 #endif /* MBEDTLS_MD5_PROCESS_ALT */ 00138 #if defined(MBEDTLS_RIPEMD160_PROCESS_ALT) 00139 "MBEDTLS_RIPEMD160_PROCESS_ALT", 00140 #endif /* MBEDTLS_RIPEMD160_PROCESS_ALT */ 00141 #if defined(MBEDTLS_SHA1_PROCESS_ALT) 00142 "MBEDTLS_SHA1_PROCESS_ALT", 00143 #endif /* MBEDTLS_SHA1_PROCESS_ALT */ 00144 #if defined(MBEDTLS_SHA256_PROCESS_ALT) 00145 "MBEDTLS_SHA256_PROCESS_ALT", 00146 #endif /* MBEDTLS_SHA256_PROCESS_ALT */ 00147 #if defined(MBEDTLS_SHA512_PROCESS_ALT) 00148 "MBEDTLS_SHA512_PROCESS_ALT", 00149 #endif /* MBEDTLS_SHA512_PROCESS_ALT */ 00150 #if defined(MBEDTLS_DES_SETKEY_ALT) 00151 "MBEDTLS_DES_SETKEY_ALT", 00152 #endif /* MBEDTLS_DES_SETKEY_ALT */ 00153 #if defined(MBEDTLS_DES_CRYPT_ECB_ALT) 00154 "MBEDTLS_DES_CRYPT_ECB_ALT", 00155 #endif /* MBEDTLS_DES_CRYPT_ECB_ALT */ 00156 #if defined(MBEDTLS_DES3_CRYPT_ECB_ALT) 00157 "MBEDTLS_DES3_CRYPT_ECB_ALT", 00158 #endif /* MBEDTLS_DES3_CRYPT_ECB_ALT */ 00159 #if defined(MBEDTLS_AES_SETKEY_ENC_ALT) 00160 "MBEDTLS_AES_SETKEY_ENC_ALT", 00161 #endif /* MBEDTLS_AES_SETKEY_ENC_ALT */ 00162 #if defined(MBEDTLS_AES_SETKEY_DEC_ALT) 00163 "MBEDTLS_AES_SETKEY_DEC_ALT", 00164 #endif /* MBEDTLS_AES_SETKEY_DEC_ALT */ 00165 #if defined(MBEDTLS_AES_ENCRYPT_ALT) 00166 "MBEDTLS_AES_ENCRYPT_ALT", 00167 #endif /* MBEDTLS_AES_ENCRYPT_ALT */ 00168 #if defined(MBEDTLS_AES_DECRYPT_ALT) 00169 "MBEDTLS_AES_DECRYPT_ALT", 00170 #endif /* MBEDTLS_AES_DECRYPT_ALT */ 00171 #if defined(MBEDTLS_ECP_INTERNAL_ALT) 00172 "MBEDTLS_ECP_INTERNAL_ALT", 00173 #endif /* MBEDTLS_ECP_INTERNAL_ALT */ 00174 #if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT) 00175 "MBEDTLS_ECP_RANDOMIZE_JAC_ALT", 00176 #endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */ 00177 #if defined(MBEDTLS_ECP_ADD_MIXED_ALT) 00178 "MBEDTLS_ECP_ADD_MIXED_ALT", 00179 #endif /* MBEDTLS_ECP_ADD_MIXED_ALT */ 00180 #if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT) 00181 "MBEDTLS_ECP_DOUBLE_JAC_ALT", 00182 #endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */ 00183 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT) 00184 "MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT", 00185 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT */ 00186 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT) 00187 "MBEDTLS_ECP_NORMALIZE_JAC_ALT", 00188 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */ 00189 #if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT) 00190 "MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT", 00191 #endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */ 00192 #if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT) 00193 "MBEDTLS_ECP_RANDOMIZE_MXZ_ALT", 00194 #endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */ 00195 #if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT) 00196 "MBEDTLS_ECP_NORMALIZE_MXZ_ALT", 00197 #endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */ 00198 #if defined(MBEDTLS_TEST_NULL_ENTROPY) 00199 "MBEDTLS_TEST_NULL_ENTROPY", 00200 #endif /* MBEDTLS_TEST_NULL_ENTROPY */ 00201 #if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) 00202 "MBEDTLS_ENTROPY_HARDWARE_ALT", 00203 #endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */ 00204 #if defined(MBEDTLS_AES_ROM_TABLES) 00205 "MBEDTLS_AES_ROM_TABLES", 00206 #endif /* MBEDTLS_AES_ROM_TABLES */ 00207 #if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY) 00208 "MBEDTLS_CAMELLIA_SMALL_MEMORY", 00209 #endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */ 00210 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00211 "MBEDTLS_CIPHER_MODE_CBC", 00212 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00213 #if defined(MBEDTLS_CIPHER_MODE_CFB) 00214 "MBEDTLS_CIPHER_MODE_CFB", 00215 #endif /* MBEDTLS_CIPHER_MODE_CFB */ 00216 #if defined(MBEDTLS_CIPHER_MODE_CTR) 00217 "MBEDTLS_CIPHER_MODE_CTR", 00218 #endif /* MBEDTLS_CIPHER_MODE_CTR */ 00219 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00220 "MBEDTLS_CIPHER_NULL_CIPHER", 00221 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00222 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7) 00223 "MBEDTLS_CIPHER_PADDING_PKCS7", 00224 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */ 00225 #if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS) 00226 "MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS", 00227 #endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */ 00228 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN) 00229 "MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN", 00230 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */ 00231 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS) 00232 "MBEDTLS_CIPHER_PADDING_ZEROS", 00233 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS */ 00234 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES) 00235 "MBEDTLS_ENABLE_WEAK_CIPHERSUITES", 00236 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */ 00237 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES) 00238 "MBEDTLS_REMOVE_ARC4_CIPHERSUITES", 00239 #endif /* MBEDTLS_REMOVE_ARC4_CIPHERSUITES */ 00240 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 00241 "MBEDTLS_ECP_DP_SECP192R1_ENABLED", 00242 #endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */ 00243 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 00244 "MBEDTLS_ECP_DP_SECP224R1_ENABLED", 00245 #endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */ 00246 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 00247 "MBEDTLS_ECP_DP_SECP256R1_ENABLED", 00248 #endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */ 00249 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 00250 "MBEDTLS_ECP_DP_SECP384R1_ENABLED", 00251 #endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 00252 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 00253 "MBEDTLS_ECP_DP_SECP521R1_ENABLED", 00254 #endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */ 00255 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 00256 "MBEDTLS_ECP_DP_SECP192K1_ENABLED", 00257 #endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */ 00258 #if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 00259 "MBEDTLS_ECP_DP_SECP224K1_ENABLED", 00260 #endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */ 00261 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 00262 "MBEDTLS_ECP_DP_SECP256K1_ENABLED", 00263 #endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */ 00264 #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 00265 "MBEDTLS_ECP_DP_BP256R1_ENABLED", 00266 #endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */ 00267 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 00268 "MBEDTLS_ECP_DP_BP384R1_ENABLED", 00269 #endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */ 00270 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 00271 "MBEDTLS_ECP_DP_BP512R1_ENABLED", 00272 #endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */ 00273 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 00274 "MBEDTLS_ECP_DP_CURVE25519_ENABLED", 00275 #endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */ 00276 #if defined(MBEDTLS_ECP_NIST_OPTIM) 00277 "MBEDTLS_ECP_NIST_OPTIM", 00278 #endif /* MBEDTLS_ECP_NIST_OPTIM */ 00279 #if defined(MBEDTLS_ECDSA_DETERMINISTIC) 00280 "MBEDTLS_ECDSA_DETERMINISTIC", 00281 #endif /* MBEDTLS_ECDSA_DETERMINISTIC */ 00282 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 00283 "MBEDTLS_KEY_EXCHANGE_PSK_ENABLED", 00284 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 00285 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 00286 "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED", 00287 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 00288 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 00289 "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED", 00290 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 00291 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 00292 "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED", 00293 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 00294 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 00295 "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED", 00296 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 00297 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 00298 "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED", 00299 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 00300 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 00301 "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED", 00302 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 00303 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 00304 "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED", 00305 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 00306 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 00307 "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED", 00308 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 00309 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 00310 "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED", 00311 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 00312 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 00313 "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED", 00314 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 00315 #if defined(MBEDTLS_PK_PARSE_EC_EXTENDED) 00316 "MBEDTLS_PK_PARSE_EC_EXTENDED", 00317 #endif /* MBEDTLS_PK_PARSE_EC_EXTENDED */ 00318 #if defined(MBEDTLS_ERROR_STRERROR_DUMMY) 00319 "MBEDTLS_ERROR_STRERROR_DUMMY", 00320 #endif /* MBEDTLS_ERROR_STRERROR_DUMMY */ 00321 #if defined(MBEDTLS_GENPRIME) 00322 "MBEDTLS_GENPRIME", 00323 #endif /* MBEDTLS_GENPRIME */ 00324 #if defined(MBEDTLS_FS_IO) 00325 "MBEDTLS_FS_IO", 00326 #endif /* MBEDTLS_FS_IO */ 00327 #if defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) 00328 "MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES", 00329 #endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */ 00330 #if defined(MBEDTLS_NO_PLATFORM_ENTROPY) 00331 "MBEDTLS_NO_PLATFORM_ENTROPY", 00332 #endif /* MBEDTLS_NO_PLATFORM_ENTROPY */ 00333 #if defined(MBEDTLS_ENTROPY_FORCE_SHA256) 00334 "MBEDTLS_ENTROPY_FORCE_SHA256", 00335 #endif /* MBEDTLS_ENTROPY_FORCE_SHA256 */ 00336 #if defined(MBEDTLS_ENTROPY_NV_SEED) 00337 "MBEDTLS_ENTROPY_NV_SEED", 00338 #endif /* MBEDTLS_ENTROPY_NV_SEED */ 00339 #if defined(MBEDTLS_MEMORY_DEBUG) 00340 "MBEDTLS_MEMORY_DEBUG", 00341 #endif /* MBEDTLS_MEMORY_DEBUG */ 00342 #if defined(MBEDTLS_MEMORY_BACKTRACE) 00343 "MBEDTLS_MEMORY_BACKTRACE", 00344 #endif /* MBEDTLS_MEMORY_BACKTRACE */ 00345 #if defined(MBEDTLS_PK_RSA_ALT_SUPPORT) 00346 "MBEDTLS_PK_RSA_ALT_SUPPORT", 00347 #endif /* MBEDTLS_PK_RSA_ALT_SUPPORT */ 00348 #if defined(MBEDTLS_PKCS1_V15) 00349 "MBEDTLS_PKCS1_V15", 00350 #endif /* MBEDTLS_PKCS1_V15 */ 00351 #if defined(MBEDTLS_PKCS1_V21) 00352 "MBEDTLS_PKCS1_V21", 00353 #endif /* MBEDTLS_PKCS1_V21 */ 00354 #if defined(MBEDTLS_RSA_NO_CRT) 00355 "MBEDTLS_RSA_NO_CRT", 00356 #endif /* MBEDTLS_RSA_NO_CRT */ 00357 #if defined(MBEDTLS_SELF_TEST) 00358 "MBEDTLS_SELF_TEST", 00359 #endif /* MBEDTLS_SELF_TEST */ 00360 #if defined(MBEDTLS_SHA256_SMALLER) 00361 "MBEDTLS_SHA256_SMALLER", 00362 #endif /* MBEDTLS_SHA256_SMALLER */ 00363 #if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES) 00364 "MBEDTLS_SSL_ALL_ALERT_MESSAGES", 00365 #endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */ 00366 #if defined(MBEDTLS_SSL_DEBUG_ALL) 00367 "MBEDTLS_SSL_DEBUG_ALL", 00368 #endif /* MBEDTLS_SSL_DEBUG_ALL */ 00369 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) 00370 "MBEDTLS_SSL_ENCRYPT_THEN_MAC", 00371 #endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */ 00372 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) 00373 "MBEDTLS_SSL_EXTENDED_MASTER_SECRET", 00374 #endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */ 00375 #if defined(MBEDTLS_SSL_FALLBACK_SCSV) 00376 "MBEDTLS_SSL_FALLBACK_SCSV", 00377 #endif /* MBEDTLS_SSL_FALLBACK_SCSV */ 00378 #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL) 00379 "MBEDTLS_SSL_HW_RECORD_ACCEL", 00380 #endif /* MBEDTLS_SSL_HW_RECORD_ACCEL */ 00381 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING) 00382 "MBEDTLS_SSL_CBC_RECORD_SPLITTING", 00383 #endif /* MBEDTLS_SSL_CBC_RECORD_SPLITTING */ 00384 #if defined(MBEDTLS_SSL_RENEGOTIATION) 00385 "MBEDTLS_SSL_RENEGOTIATION", 00386 #endif /* MBEDTLS_SSL_RENEGOTIATION */ 00387 #if defined(MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO) 00388 "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO", 00389 #endif /* MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */ 00390 #if defined(MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE) 00391 "MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE", 00392 #endif /* MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE */ 00393 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) 00394 "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH", 00395 #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */ 00396 #if defined(MBEDTLS_SSL_PROTO_SSL3) 00397 "MBEDTLS_SSL_PROTO_SSL3", 00398 #endif /* MBEDTLS_SSL_PROTO_SSL3 */ 00399 #if defined(MBEDTLS_SSL_PROTO_TLS1) 00400 "MBEDTLS_SSL_PROTO_TLS1", 00401 #endif /* MBEDTLS_SSL_PROTO_TLS1 */ 00402 #if defined(MBEDTLS_SSL_PROTO_TLS1_1) 00403 "MBEDTLS_SSL_PROTO_TLS1_1", 00404 #endif /* MBEDTLS_SSL_PROTO_TLS1_1 */ 00405 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 00406 "MBEDTLS_SSL_PROTO_TLS1_2", 00407 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ 00408 #if defined(MBEDTLS_SSL_PROTO_DTLS) 00409 "MBEDTLS_SSL_PROTO_DTLS", 00410 #endif /* MBEDTLS_SSL_PROTO_DTLS */ 00411 #if defined(MBEDTLS_SSL_ALPN) 00412 "MBEDTLS_SSL_ALPN", 00413 #endif /* MBEDTLS_SSL_ALPN */ 00414 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) 00415 "MBEDTLS_SSL_DTLS_ANTI_REPLAY", 00416 #endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */ 00417 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) 00418 "MBEDTLS_SSL_DTLS_HELLO_VERIFY", 00419 #endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */ 00420 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) 00421 "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE", 00422 #endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */ 00423 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT) 00424 "MBEDTLS_SSL_DTLS_BADMAC_LIMIT", 00425 #endif /* MBEDTLS_SSL_DTLS_BADMAC_LIMIT */ 00426 #if defined(MBEDTLS_SSL_SESSION_TICKETS) 00427 "MBEDTLS_SSL_SESSION_TICKETS", 00428 #endif /* MBEDTLS_SSL_SESSION_TICKETS */ 00429 #if defined(MBEDTLS_SSL_EXPORT_KEYS) 00430 "MBEDTLS_SSL_EXPORT_KEYS", 00431 #endif /* MBEDTLS_SSL_EXPORT_KEYS */ 00432 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 00433 "MBEDTLS_SSL_SERVER_NAME_INDICATION", 00434 #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ 00435 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC) 00436 "MBEDTLS_SSL_TRUNCATED_HMAC", 00437 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC */ 00438 #if defined(MBEDTLS_THREADING_ALT) 00439 "MBEDTLS_THREADING_ALT", 00440 #endif /* MBEDTLS_THREADING_ALT */ 00441 #if defined(MBEDTLS_THREADING_PTHREAD) 00442 "MBEDTLS_THREADING_PTHREAD", 00443 #endif /* MBEDTLS_THREADING_PTHREAD */ 00444 #if defined(MBEDTLS_VERSION_FEATURES) 00445 "MBEDTLS_VERSION_FEATURES", 00446 #endif /* MBEDTLS_VERSION_FEATURES */ 00447 #if defined(MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3) 00448 "MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3", 00449 #endif /* MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 */ 00450 #if defined(MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION) 00451 "MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION", 00452 #endif /* MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION */ 00453 #if defined(MBEDTLS_X509_CHECK_KEY_USAGE) 00454 "MBEDTLS_X509_CHECK_KEY_USAGE", 00455 #endif /* MBEDTLS_X509_CHECK_KEY_USAGE */ 00456 #if defined(MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE) 00457 "MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE", 00458 #endif /* MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE */ 00459 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) 00460 "MBEDTLS_X509_RSASSA_PSS_SUPPORT", 00461 #endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ 00462 #if defined(MBEDTLS_ZLIB_SUPPORT) 00463 "MBEDTLS_ZLIB_SUPPORT", 00464 #endif /* MBEDTLS_ZLIB_SUPPORT */ 00465 #if defined(MBEDTLS_AESNI_C) 00466 "MBEDTLS_AESNI_C", 00467 #endif /* MBEDTLS_AESNI_C */ 00468 #if defined(MBEDTLS_AES_C) 00469 "MBEDTLS_AES_C", 00470 #endif /* MBEDTLS_AES_C */ 00471 #if defined(MBEDTLS_ARC4_C) 00472 "MBEDTLS_ARC4_C", 00473 #endif /* MBEDTLS_ARC4_C */ 00474 #if defined(MBEDTLS_ASN1_PARSE_C) 00475 "MBEDTLS_ASN1_PARSE_C", 00476 #endif /* MBEDTLS_ASN1_PARSE_C */ 00477 #if defined(MBEDTLS_ASN1_WRITE_C) 00478 "MBEDTLS_ASN1_WRITE_C", 00479 #endif /* MBEDTLS_ASN1_WRITE_C */ 00480 #if defined(MBEDTLS_BASE64_C) 00481 "MBEDTLS_BASE64_C", 00482 #endif /* MBEDTLS_BASE64_C */ 00483 #if defined(MBEDTLS_BIGNUM_C) 00484 "MBEDTLS_BIGNUM_C", 00485 #endif /* MBEDTLS_BIGNUM_C */ 00486 #if defined(MBEDTLS_BLOWFISH_C) 00487 "MBEDTLS_BLOWFISH_C", 00488 #endif /* MBEDTLS_BLOWFISH_C */ 00489 #if defined(MBEDTLS_CAMELLIA_C) 00490 "MBEDTLS_CAMELLIA_C", 00491 #endif /* MBEDTLS_CAMELLIA_C */ 00492 #if defined(MBEDTLS_CCM_C) 00493 "MBEDTLS_CCM_C", 00494 #endif /* MBEDTLS_CCM_C */ 00495 #if defined(MBEDTLS_CERTS_C) 00496 "MBEDTLS_CERTS_C", 00497 #endif /* MBEDTLS_CERTS_C */ 00498 #if defined(MBEDTLS_CIPHER_C) 00499 "MBEDTLS_CIPHER_C", 00500 #endif /* MBEDTLS_CIPHER_C */ 00501 #if defined(MBEDTLS_CMAC_C) 00502 "MBEDTLS_CMAC_C", 00503 #endif /* MBEDTLS_CMAC_C */ 00504 #if defined(MBEDTLS_CTR_DRBG_C) 00505 "MBEDTLS_CTR_DRBG_C", 00506 #endif /* MBEDTLS_CTR_DRBG_C */ 00507 #if defined(MBEDTLS_DEBUG_C) 00508 "MBEDTLS_DEBUG_C", 00509 #endif /* MBEDTLS_DEBUG_C */ 00510 #if defined(MBEDTLS_DES_C) 00511 "MBEDTLS_DES_C", 00512 #endif /* MBEDTLS_DES_C */ 00513 #if defined(MBEDTLS_DHM_C) 00514 "MBEDTLS_DHM_C", 00515 #endif /* MBEDTLS_DHM_C */ 00516 #if defined(MBEDTLS_ECDH_C) 00517 "MBEDTLS_ECDH_C", 00518 #endif /* MBEDTLS_ECDH_C */ 00519 #if defined(MBEDTLS_ECDSA_C) 00520 "MBEDTLS_ECDSA_C", 00521 #endif /* MBEDTLS_ECDSA_C */ 00522 #if defined(MBEDTLS_ECJPAKE_C) 00523 "MBEDTLS_ECJPAKE_C", 00524 #endif /* MBEDTLS_ECJPAKE_C */ 00525 #if defined(MBEDTLS_ECP_C) 00526 "MBEDTLS_ECP_C", 00527 #endif /* MBEDTLS_ECP_C */ 00528 #if defined(MBEDTLS_ENTROPY_C) 00529 "MBEDTLS_ENTROPY_C", 00530 #endif /* MBEDTLS_ENTROPY_C */ 00531 #if defined(MBEDTLS_ERROR_C) 00532 "MBEDTLS_ERROR_C", 00533 #endif /* MBEDTLS_ERROR_C */ 00534 #if defined(MBEDTLS_GCM_C) 00535 "MBEDTLS_GCM_C", 00536 #endif /* MBEDTLS_GCM_C */ 00537 #if defined(MBEDTLS_HAVEGE_C) 00538 "MBEDTLS_HAVEGE_C", 00539 #endif /* MBEDTLS_HAVEGE_C */ 00540 #if defined(MBEDTLS_HMAC_DRBG_C) 00541 "MBEDTLS_HMAC_DRBG_C", 00542 #endif /* MBEDTLS_HMAC_DRBG_C */ 00543 #if defined(MBEDTLS_MD_C) 00544 "MBEDTLS_MD_C", 00545 #endif /* MBEDTLS_MD_C */ 00546 #if defined(MBEDTLS_MD2_C) 00547 "MBEDTLS_MD2_C", 00548 #endif /* MBEDTLS_MD2_C */ 00549 #if defined(MBEDTLS_MD4_C) 00550 "MBEDTLS_MD4_C", 00551 #endif /* MBEDTLS_MD4_C */ 00552 #if defined(MBEDTLS_MD5_C) 00553 "MBEDTLS_MD5_C", 00554 #endif /* MBEDTLS_MD5_C */ 00555 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) 00556 "MBEDTLS_MEMORY_BUFFER_ALLOC_C", 00557 #endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */ 00558 #if defined(MBEDTLS_NET_C) 00559 "MBEDTLS_NET_C", 00560 #endif /* MBEDTLS_NET_C */ 00561 #if defined(MBEDTLS_OID_C) 00562 "MBEDTLS_OID_C", 00563 #endif /* MBEDTLS_OID_C */ 00564 #if defined(MBEDTLS_PADLOCK_C) 00565 "MBEDTLS_PADLOCK_C", 00566 #endif /* MBEDTLS_PADLOCK_C */ 00567 #if defined(MBEDTLS_PEM_PARSE_C) 00568 "MBEDTLS_PEM_PARSE_C", 00569 #endif /* MBEDTLS_PEM_PARSE_C */ 00570 #if defined(MBEDTLS_PEM_WRITE_C) 00571 "MBEDTLS_PEM_WRITE_C", 00572 #endif /* MBEDTLS_PEM_WRITE_C */ 00573 #if defined(MBEDTLS_PK_C) 00574 "MBEDTLS_PK_C", 00575 #endif /* MBEDTLS_PK_C */ 00576 #if defined(MBEDTLS_PK_PARSE_C) 00577 "MBEDTLS_PK_PARSE_C", 00578 #endif /* MBEDTLS_PK_PARSE_C */ 00579 #if defined(MBEDTLS_PK_WRITE_C) 00580 "MBEDTLS_PK_WRITE_C", 00581 #endif /* MBEDTLS_PK_WRITE_C */ 00582 #if defined(MBEDTLS_PKCS5_C) 00583 "MBEDTLS_PKCS5_C", 00584 #endif /* MBEDTLS_PKCS5_C */ 00585 #if defined(MBEDTLS_PKCS11_C) 00586 "MBEDTLS_PKCS11_C", 00587 #endif /* MBEDTLS_PKCS11_C */ 00588 #if defined(MBEDTLS_PKCS12_C) 00589 "MBEDTLS_PKCS12_C", 00590 #endif /* MBEDTLS_PKCS12_C */ 00591 #if defined(MBEDTLS_PLATFORM_C) 00592 "MBEDTLS_PLATFORM_C", 00593 #endif /* MBEDTLS_PLATFORM_C */ 00594 #if defined(MBEDTLS_RIPEMD160_C) 00595 "MBEDTLS_RIPEMD160_C", 00596 #endif /* MBEDTLS_RIPEMD160_C */ 00597 #if defined(MBEDTLS_RSA_C) 00598 "MBEDTLS_RSA_C", 00599 #endif /* MBEDTLS_RSA_C */ 00600 #if defined(MBEDTLS_SHA1_C) 00601 "MBEDTLS_SHA1_C", 00602 #endif /* MBEDTLS_SHA1_C */ 00603 #if defined(MBEDTLS_SHA256_C) 00604 "MBEDTLS_SHA256_C", 00605 #endif /* MBEDTLS_SHA256_C */ 00606 #if defined(MBEDTLS_SHA512_C) 00607 "MBEDTLS_SHA512_C", 00608 #endif /* MBEDTLS_SHA512_C */ 00609 #if defined(MBEDTLS_SSL_CACHE_C) 00610 "MBEDTLS_SSL_CACHE_C", 00611 #endif /* MBEDTLS_SSL_CACHE_C */ 00612 #if defined(MBEDTLS_SSL_COOKIE_C) 00613 "MBEDTLS_SSL_COOKIE_C", 00614 #endif /* MBEDTLS_SSL_COOKIE_C */ 00615 #if defined(MBEDTLS_SSL_TICKET_C) 00616 "MBEDTLS_SSL_TICKET_C", 00617 #endif /* MBEDTLS_SSL_TICKET_C */ 00618 #if defined(MBEDTLS_SSL_CLI_C) 00619 "MBEDTLS_SSL_CLI_C", 00620 #endif /* MBEDTLS_SSL_CLI_C */ 00621 #if defined(MBEDTLS_SSL_SRV_C) 00622 "MBEDTLS_SSL_SRV_C", 00623 #endif /* MBEDTLS_SSL_SRV_C */ 00624 #if defined(MBEDTLS_SSL_TLS_C) 00625 "MBEDTLS_SSL_TLS_C", 00626 #endif /* MBEDTLS_SSL_TLS_C */ 00627 #if defined(MBEDTLS_THREADING_C) 00628 "MBEDTLS_THREADING_C", 00629 #endif /* MBEDTLS_THREADING_C */ 00630 #if defined(MBEDTLS_TIMING_C) 00631 "MBEDTLS_TIMING_C", 00632 #endif /* MBEDTLS_TIMING_C */ 00633 #if defined(MBEDTLS_VERSION_C) 00634 "MBEDTLS_VERSION_C", 00635 #endif /* MBEDTLS_VERSION_C */ 00636 #if defined(MBEDTLS_X509_USE_C) 00637 "MBEDTLS_X509_USE_C", 00638 #endif /* MBEDTLS_X509_USE_C */ 00639 #if defined(MBEDTLS_X509_CRT_PARSE_C) 00640 "MBEDTLS_X509_CRT_PARSE_C", 00641 #endif /* MBEDTLS_X509_CRT_PARSE_C */ 00642 #if defined(MBEDTLS_X509_CRL_PARSE_C) 00643 "MBEDTLS_X509_CRL_PARSE_C", 00644 #endif /* MBEDTLS_X509_CRL_PARSE_C */ 00645 #if defined(MBEDTLS_X509_CSR_PARSE_C) 00646 "MBEDTLS_X509_CSR_PARSE_C", 00647 #endif /* MBEDTLS_X509_CSR_PARSE_C */ 00648 #if defined(MBEDTLS_X509_CREATE_C) 00649 "MBEDTLS_X509_CREATE_C", 00650 #endif /* MBEDTLS_X509_CREATE_C */ 00651 #if defined(MBEDTLS_X509_CRT_WRITE_C) 00652 "MBEDTLS_X509_CRT_WRITE_C", 00653 #endif /* MBEDTLS_X509_CRT_WRITE_C */ 00654 #if defined(MBEDTLS_X509_CSR_WRITE_C) 00655 "MBEDTLS_X509_CSR_WRITE_C", 00656 #endif /* MBEDTLS_X509_CSR_WRITE_C */ 00657 #if defined(MBEDTLS_XTEA_C) 00658 "MBEDTLS_XTEA_C", 00659 #endif /* MBEDTLS_XTEA_C */ 00660 #endif /* MBEDTLS_VERSION_FEATURES */ 00661 NULL 00662 }; 00663 00664 int mbedtls_version_check_feature( const char *feature ) 00665 { 00666 const char **idx = features; 00667 00668 if( *idx == NULL ) 00669 return( -2 ); 00670 00671 if( feature == NULL ) 00672 return( -1 ); 00673 00674 while( *idx != NULL ) 00675 { 00676 if( !strcmp( *idx, feature ) ) 00677 return( 0 ); 00678 idx++; 00679 } 00680 return( -1 ); 00681 } 00682 00683 #endif /* MBEDTLS_VERSION_C */
Generated on Sun Jul 17 2022 08:25:33 by 1.7.2