mbed TLS library
Dependents: HTTPClient-SSL WS_SERVER
version_features.c
00001 /* 00002 * Version feature information 00003 * 00004 * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved 00005 * 00006 * This file is part of mbed TLS (https://tls.mbed.org) 00007 * 00008 * This program is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License along 00019 * with this program; if not, write to the Free Software Foundation, Inc., 00020 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00021 */ 00022 00023 #if !defined(POLARSSL_CONFIG_FILE) 00024 #include "polarssl/config.h" 00025 #else 00026 #include POLARSSL_CONFIG_FILE 00027 #endif 00028 00029 #if defined(POLARSSL_VERSION_C) 00030 00031 #include "polarssl/version.h" 00032 00033 #include <string.h> 00034 00035 #if defined(_MSC_VER) && !defined strcasecmp && !defined(EFIX64) && \ 00036 !defined(EFI32) 00037 #define strcasecmp _stricmp 00038 #endif 00039 00040 static const char *features[] = { 00041 #if defined(POLARSSL_VERSION_FEATURES) 00042 #if defined(POLARSSL_HAVE_INT8) 00043 "POLARSSL_HAVE_INT8", 00044 #endif /* POLARSSL_HAVE_INT8 */ 00045 #if defined(POLARSSL_HAVE_INT16) 00046 "POLARSSL_HAVE_INT16", 00047 #endif /* POLARSSL_HAVE_INT16 */ 00048 #if defined(POLARSSL_HAVE_LONGLONG) 00049 "POLARSSL_HAVE_LONGLONG", 00050 #endif /* POLARSSL_HAVE_LONGLONG */ 00051 #if defined(POLARSSL_HAVE_ASM) 00052 "POLARSSL_HAVE_ASM", 00053 #endif /* POLARSSL_HAVE_ASM */ 00054 #if defined(POLARSSL_HAVE_SSE2) 00055 "POLARSSL_HAVE_SSE2", 00056 #endif /* POLARSSL_HAVE_SSE2 */ 00057 #if defined(POLARSSL_HAVE_TIME) 00058 "POLARSSL_HAVE_TIME", 00059 #endif /* POLARSSL_HAVE_TIME */ 00060 #if defined(POLARSSL_HAVE_IPV6) 00061 "POLARSSL_HAVE_IPV6", 00062 #endif /* POLARSSL_HAVE_IPV6 */ 00063 #if defined(POLARSSL_PLATFORM_MEMORY) 00064 "POLARSSL_PLATFORM_MEMORY", 00065 #endif /* POLARSSL_PLATFORM_MEMORY */ 00066 #if defined(POLARSSL_PLATFORM_NO_STD_FUNCTIONS) 00067 "POLARSSL_PLATFORM_NO_STD_FUNCTIONS", 00068 #endif /* POLARSSL_PLATFORM_NO_STD_FUNCTIONS */ 00069 #if defined(POLARSSL_PLATFORM_EXIT_ALT) 00070 "POLARSSL_PLATFORM_EXIT_ALT", 00071 #endif /* POLARSSL_PLATFORM_EXIT_ALT */ 00072 #if defined(POLARSSL_PLATFORM_FPRINTF_ALT) 00073 "POLARSSL_PLATFORM_FPRINTF_ALT", 00074 #endif /* POLARSSL_PLATFORM_FPRINTF_ALT */ 00075 #if defined(POLARSSL_PLATFORM_PRINTF_ALT) 00076 "POLARSSL_PLATFORM_PRINTF_ALT", 00077 #endif /* POLARSSL_PLATFORM_PRINTF_ALT */ 00078 #if defined(POLARSSL_PLATFORM_SNPRINTF_ALT) 00079 "POLARSSL_PLATFORM_SNPRINTF_ALT", 00080 #endif /* POLARSSL_PLATFORM_SNPRINTF_ALT */ 00081 #if defined(POLARSSL_DEPRECATED_WARNING) 00082 "POLARSSL_DEPRECATED_WARNING", 00083 #endif /* POLARSSL_DEPRECATED_WARNING */ 00084 #if defined(POLARSSL_DEPRECATED_REMOVED) 00085 "POLARSSL_DEPRECATED_REMOVED", 00086 #endif /* POLARSSL_DEPRECATED_REMOVED */ 00087 #if defined(POLARSSL_TIMING_ALT) 00088 "POLARSSL_TIMING_ALT", 00089 #endif /* POLARSSL_TIMING_ALT */ 00090 #if defined(POLARSSL_AES_ALT) 00091 "POLARSSL_AES_ALT", 00092 #endif /* POLARSSL_AES_ALT */ 00093 #if defined(POLARSSL_ARC4_ALT) 00094 "POLARSSL_ARC4_ALT", 00095 #endif /* POLARSSL_ARC4_ALT */ 00096 #if defined(POLARSSL_BLOWFISH_ALT) 00097 "POLARSSL_BLOWFISH_ALT", 00098 #endif /* POLARSSL_BLOWFISH_ALT */ 00099 #if defined(POLARSSL_CAMELLIA_ALT) 00100 "POLARSSL_CAMELLIA_ALT", 00101 #endif /* POLARSSL_CAMELLIA_ALT */ 00102 #if defined(POLARSSL_DES_ALT) 00103 "POLARSSL_DES_ALT", 00104 #endif /* POLARSSL_DES_ALT */ 00105 #if defined(POLARSSL_XTEA_ALT) 00106 "POLARSSL_XTEA_ALT", 00107 #endif /* POLARSSL_XTEA_ALT */ 00108 #if defined(POLARSSL_MD2_ALT) 00109 "POLARSSL_MD2_ALT", 00110 #endif /* POLARSSL_MD2_ALT */ 00111 #if defined(POLARSSL_MD4_ALT) 00112 "POLARSSL_MD4_ALT", 00113 #endif /* POLARSSL_MD4_ALT */ 00114 #if defined(POLARSSL_MD5_ALT) 00115 "POLARSSL_MD5_ALT", 00116 #endif /* POLARSSL_MD5_ALT */ 00117 #if defined(POLARSSL_RIPEMD160_ALT) 00118 "POLARSSL_RIPEMD160_ALT", 00119 #endif /* POLARSSL_RIPEMD160_ALT */ 00120 #if defined(POLARSSL_SHA1_ALT) 00121 "POLARSSL_SHA1_ALT", 00122 #endif /* POLARSSL_SHA1_ALT */ 00123 #if defined(POLARSSL_SHA256_ALT) 00124 "POLARSSL_SHA256_ALT", 00125 #endif /* POLARSSL_SHA256_ALT */ 00126 #if defined(POLARSSL_SHA512_ALT) 00127 "POLARSSL_SHA512_ALT", 00128 #endif /* POLARSSL_SHA512_ALT */ 00129 #if defined(POLARSSL_AES_ROM_TABLES) 00130 "POLARSSL_AES_ROM_TABLES", 00131 #endif /* POLARSSL_AES_ROM_TABLES */ 00132 #if defined(POLARSSL_CAMELLIA_SMALL_MEMORY) 00133 "POLARSSL_CAMELLIA_SMALL_MEMORY", 00134 #endif /* POLARSSL_CAMELLIA_SMALL_MEMORY */ 00135 #if defined(POLARSSL_CIPHER_MODE_CBC) 00136 "POLARSSL_CIPHER_MODE_CBC", 00137 #endif /* POLARSSL_CIPHER_MODE_CBC */ 00138 #if defined(POLARSSL_CIPHER_MODE_CFB) 00139 "POLARSSL_CIPHER_MODE_CFB", 00140 #endif /* POLARSSL_CIPHER_MODE_CFB */ 00141 #if defined(POLARSSL_CIPHER_MODE_CTR) 00142 "POLARSSL_CIPHER_MODE_CTR", 00143 #endif /* POLARSSL_CIPHER_MODE_CTR */ 00144 #if defined(POLARSSL_CIPHER_NULL_CIPHER) 00145 "POLARSSL_CIPHER_NULL_CIPHER", 00146 #endif /* POLARSSL_CIPHER_NULL_CIPHER */ 00147 #if defined(POLARSSL_CIPHER_PADDING_PKCS7) 00148 "POLARSSL_CIPHER_PADDING_PKCS7", 00149 #endif /* POLARSSL_CIPHER_PADDING_PKCS7 */ 00150 #if defined(POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS) 00151 "POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS", 00152 #endif /* POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS */ 00153 #if defined(POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN) 00154 "POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN", 00155 #endif /* POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN */ 00156 #if defined(POLARSSL_CIPHER_PADDING_ZEROS) 00157 "POLARSSL_CIPHER_PADDING_ZEROS", 00158 #endif /* POLARSSL_CIPHER_PADDING_ZEROS */ 00159 #if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES) 00160 "POLARSSL_ENABLE_WEAK_CIPHERSUITES", 00161 #endif /* POLARSSL_ENABLE_WEAK_CIPHERSUITES */ 00162 #if defined(POLARSSL_REMOVE_ARC4_CIPHERSUITES) 00163 "POLARSSL_REMOVE_ARC4_CIPHERSUITES", 00164 #endif /* POLARSSL_REMOVE_ARC4_CIPHERSUITES */ 00165 #if defined(POLARSSL_ECP_DP_SECP192R1_ENABLED) 00166 "POLARSSL_ECP_DP_SECP192R1_ENABLED", 00167 #endif /* POLARSSL_ECP_DP_SECP192R1_ENABLED */ 00168 #if defined(POLARSSL_ECP_DP_SECP224R1_ENABLED) 00169 "POLARSSL_ECP_DP_SECP224R1_ENABLED", 00170 #endif /* POLARSSL_ECP_DP_SECP224R1_ENABLED */ 00171 #if defined(POLARSSL_ECP_DP_SECP256R1_ENABLED) 00172 "POLARSSL_ECP_DP_SECP256R1_ENABLED", 00173 #endif /* POLARSSL_ECP_DP_SECP256R1_ENABLED */ 00174 #if defined(POLARSSL_ECP_DP_SECP384R1_ENABLED) 00175 "POLARSSL_ECP_DP_SECP384R1_ENABLED", 00176 #endif /* POLARSSL_ECP_DP_SECP384R1_ENABLED */ 00177 #if defined(POLARSSL_ECP_DP_SECP521R1_ENABLED) 00178 "POLARSSL_ECP_DP_SECP521R1_ENABLED", 00179 #endif /* POLARSSL_ECP_DP_SECP521R1_ENABLED */ 00180 #if defined(POLARSSL_ECP_DP_SECP192K1_ENABLED) 00181 "POLARSSL_ECP_DP_SECP192K1_ENABLED", 00182 #endif /* POLARSSL_ECP_DP_SECP192K1_ENABLED */ 00183 #if defined(POLARSSL_ECP_DP_SECP224K1_ENABLED) 00184 "POLARSSL_ECP_DP_SECP224K1_ENABLED", 00185 #endif /* POLARSSL_ECP_DP_SECP224K1_ENABLED */ 00186 #if defined(POLARSSL_ECP_DP_SECP256K1_ENABLED) 00187 "POLARSSL_ECP_DP_SECP256K1_ENABLED", 00188 #endif /* POLARSSL_ECP_DP_SECP256K1_ENABLED */ 00189 #if defined(POLARSSL_ECP_DP_BP256R1_ENABLED) 00190 "POLARSSL_ECP_DP_BP256R1_ENABLED", 00191 #endif /* POLARSSL_ECP_DP_BP256R1_ENABLED */ 00192 #if defined(POLARSSL_ECP_DP_BP384R1_ENABLED) 00193 "POLARSSL_ECP_DP_BP384R1_ENABLED", 00194 #endif /* POLARSSL_ECP_DP_BP384R1_ENABLED */ 00195 #if defined(POLARSSL_ECP_DP_BP512R1_ENABLED) 00196 "POLARSSL_ECP_DP_BP512R1_ENABLED", 00197 #endif /* POLARSSL_ECP_DP_BP512R1_ENABLED */ 00198 #if defined(POLARSSL_ECP_DP_M221_ENABLED) 00199 "POLARSSL_ECP_DP_M221_ENABLED", 00200 #endif /* POLARSSL_ECP_DP_M221_ENABLED */ 00201 #if defined(POLARSSL_ECP_DP_M255_ENABLED) 00202 "POLARSSL_ECP_DP_M255_ENABLED", 00203 #endif /* POLARSSL_ECP_DP_M255_ENABLED */ 00204 #if defined(POLARSSL_ECP_DP_M383_ENABLED) 00205 "POLARSSL_ECP_DP_M383_ENABLED", 00206 #endif /* POLARSSL_ECP_DP_M383_ENABLED */ 00207 #if defined(POLARSSL_ECP_DP_M511_ENABLED) 00208 "POLARSSL_ECP_DP_M511_ENABLED", 00209 #endif /* POLARSSL_ECP_DP_M511_ENABLED */ 00210 #if defined(POLARSSL_ECP_NIST_OPTIM) 00211 "POLARSSL_ECP_NIST_OPTIM", 00212 #endif /* POLARSSL_ECP_NIST_OPTIM */ 00213 #if defined(POLARSSL_ECDSA_DETERMINISTIC) 00214 "POLARSSL_ECDSA_DETERMINISTIC", 00215 #endif /* POLARSSL_ECDSA_DETERMINISTIC */ 00216 #if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED) 00217 "POLARSSL_KEY_EXCHANGE_PSK_ENABLED", 00218 #endif /* POLARSSL_KEY_EXCHANGE_PSK_ENABLED */ 00219 #if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED) 00220 "POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED", 00221 #endif /* POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED */ 00222 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 00223 "POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED", 00224 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 00225 #if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED) 00226 "POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED", 00227 #endif /* POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED */ 00228 #if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED) 00229 "POLARSSL_KEY_EXCHANGE_RSA_ENABLED", 00230 #endif /* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */ 00231 #if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED) 00232 "POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED", 00233 #endif /* POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED */ 00234 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 00235 "POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED", 00236 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 00237 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 00238 "POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED", 00239 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 00240 #if defined(POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 00241 "POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED", 00242 #endif /* POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 00243 #if defined(POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED) 00244 "POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED", 00245 #endif /* POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 00246 #if defined(POLARSSL_PK_PARSE_EC_EXTENDED) 00247 "POLARSSL_PK_PARSE_EC_EXTENDED", 00248 #endif /* POLARSSL_PK_PARSE_EC_EXTENDED */ 00249 #if defined(POLARSSL_ERROR_STRERROR_BC) 00250 "POLARSSL_ERROR_STRERROR_BC", 00251 #endif /* POLARSSL_ERROR_STRERROR_BC */ 00252 #if defined(POLARSSL_ERROR_STRERROR_DUMMY) 00253 "POLARSSL_ERROR_STRERROR_DUMMY", 00254 #endif /* POLARSSL_ERROR_STRERROR_DUMMY */ 00255 #if defined(POLARSSL_GENPRIME) 00256 "POLARSSL_GENPRIME", 00257 #endif /* POLARSSL_GENPRIME */ 00258 #if defined(POLARSSL_FS_IO) 00259 "POLARSSL_FS_IO", 00260 #endif /* POLARSSL_FS_IO */ 00261 #if defined(POLARSSL_NO_DEFAULT_ENTROPY_SOURCES) 00262 "POLARSSL_NO_DEFAULT_ENTROPY_SOURCES", 00263 #endif /* POLARSSL_NO_DEFAULT_ENTROPY_SOURCES */ 00264 #if defined(POLARSSL_NO_PLATFORM_ENTROPY) 00265 "POLARSSL_NO_PLATFORM_ENTROPY", 00266 #endif /* POLARSSL_NO_PLATFORM_ENTROPY */ 00267 #if defined(POLARSSL_ENTROPY_FORCE_SHA256) 00268 "POLARSSL_ENTROPY_FORCE_SHA256", 00269 #endif /* POLARSSL_ENTROPY_FORCE_SHA256 */ 00270 #if defined(POLARSSL_MEMORY_DEBUG) 00271 "POLARSSL_MEMORY_DEBUG", 00272 #endif /* POLARSSL_MEMORY_DEBUG */ 00273 #if defined(POLARSSL_MEMORY_BACKTRACE) 00274 "POLARSSL_MEMORY_BACKTRACE", 00275 #endif /* POLARSSL_MEMORY_BACKTRACE */ 00276 #if defined(POLARSSL_PKCS1_V15) 00277 "POLARSSL_PKCS1_V15", 00278 #endif /* POLARSSL_PKCS1_V15 */ 00279 #if defined(POLARSSL_PKCS1_V21) 00280 "POLARSSL_PKCS1_V21", 00281 #endif /* POLARSSL_PKCS1_V21 */ 00282 #if defined(POLARSSL_RSA_NO_CRT) 00283 "POLARSSL_RSA_NO_CRT", 00284 #endif /* POLARSSL_RSA_NO_CRT */ 00285 #if defined(POLARSSL_SELF_TEST) 00286 "POLARSSL_SELF_TEST", 00287 #endif /* POLARSSL_SELF_TEST */ 00288 #if defined(POLARSSL_SSL_AEAD_RANDOM_IV) 00289 "POLARSSL_SSL_AEAD_RANDOM_IV", 00290 #endif /* POLARSSL_SSL_AEAD_RANDOM_IV */ 00291 #if defined(POLARSSL_SSL_ALERT_MESSAGES) 00292 "POLARSSL_SSL_ALERT_MESSAGES", 00293 #endif /* POLARSSL_SSL_ALERT_MESSAGES */ 00294 #if defined(POLARSSL_SSL_DEBUG_ALL) 00295 "POLARSSL_SSL_DEBUG_ALL", 00296 #endif /* POLARSSL_SSL_DEBUG_ALL */ 00297 #if defined(POLARSSL_SSL_ENCRYPT_THEN_MAC) 00298 "POLARSSL_SSL_ENCRYPT_THEN_MAC", 00299 #endif /* POLARSSL_SSL_ENCRYPT_THEN_MAC */ 00300 #if defined(POLARSSL_SSL_EXTENDED_MASTER_SECRET) 00301 "POLARSSL_SSL_EXTENDED_MASTER_SECRET", 00302 #endif /* POLARSSL_SSL_EXTENDED_MASTER_SECRET */ 00303 #if defined(POLARSSL_SSL_FALLBACK_SCSV) 00304 "POLARSSL_SSL_FALLBACK_SCSV", 00305 #endif /* POLARSSL_SSL_FALLBACK_SCSV */ 00306 #if defined(POLARSSL_SSL_HW_RECORD_ACCEL) 00307 "POLARSSL_SSL_HW_RECORD_ACCEL", 00308 #endif /* POLARSSL_SSL_HW_RECORD_ACCEL */ 00309 #if defined(POLARSSL_SSL_CBC_RECORD_SPLITTING) 00310 "POLARSSL_SSL_CBC_RECORD_SPLITTING", 00311 #endif /* POLARSSL_SSL_CBC_RECORD_SPLITTING */ 00312 #if defined(POLARSSL_SSL_DISABLE_RENEGOTIATION) 00313 "POLARSSL_SSL_DISABLE_RENEGOTIATION", 00314 #endif /* POLARSSL_SSL_DISABLE_RENEGOTIATION */ 00315 #if defined(POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO) 00316 "POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO", 00317 #endif /* POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */ 00318 #if defined(POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE) 00319 "POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE", 00320 #endif /* POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE */ 00321 #if defined(POLARSSL_SSL_MAX_FRAGMENT_LENGTH) 00322 "POLARSSL_SSL_MAX_FRAGMENT_LENGTH", 00323 #endif /* POLARSSL_SSL_MAX_FRAGMENT_LENGTH */ 00324 #if defined(POLARSSL_SSL_PROTO_SSL3) 00325 "POLARSSL_SSL_PROTO_SSL3", 00326 #endif /* POLARSSL_SSL_PROTO_SSL3 */ 00327 #if defined(POLARSSL_SSL_PROTO_TLS1) 00328 "POLARSSL_SSL_PROTO_TLS1", 00329 #endif /* POLARSSL_SSL_PROTO_TLS1 */ 00330 #if defined(POLARSSL_SSL_PROTO_TLS1_1) 00331 "POLARSSL_SSL_PROTO_TLS1_1", 00332 #endif /* POLARSSL_SSL_PROTO_TLS1_1 */ 00333 #if defined(POLARSSL_SSL_PROTO_TLS1_2) 00334 "POLARSSL_SSL_PROTO_TLS1_2", 00335 #endif /* POLARSSL_SSL_PROTO_TLS1_2 */ 00336 #if defined(POLARSSL_SSL_ALPN) 00337 "POLARSSL_SSL_ALPN", 00338 #endif /* POLARSSL_SSL_ALPN */ 00339 #if defined(POLARSSL_SSL_SESSION_TICKETS) 00340 "POLARSSL_SSL_SESSION_TICKETS", 00341 #endif /* POLARSSL_SSL_SESSION_TICKETS */ 00342 #if defined(POLARSSL_SSL_SERVER_NAME_INDICATION) 00343 "POLARSSL_SSL_SERVER_NAME_INDICATION", 00344 #endif /* POLARSSL_SSL_SERVER_NAME_INDICATION */ 00345 #if defined(POLARSSL_SSL_TRUNCATED_HMAC) 00346 "POLARSSL_SSL_TRUNCATED_HMAC", 00347 #endif /* POLARSSL_SSL_TRUNCATED_HMAC */ 00348 #if defined(POLARSSL_SSL_SET_CURVES) 00349 "POLARSSL_SSL_SET_CURVES", 00350 #endif /* POLARSSL_SSL_SET_CURVES */ 00351 #if defined(POLARSSL_THREADING_ALT) 00352 "POLARSSL_THREADING_ALT", 00353 #endif /* POLARSSL_THREADING_ALT */ 00354 #if defined(POLARSSL_THREADING_PTHREAD) 00355 "POLARSSL_THREADING_PTHREAD", 00356 #endif /* POLARSSL_THREADING_PTHREAD */ 00357 #if defined(POLARSSL_VERSION_FEATURES) 00358 "POLARSSL_VERSION_FEATURES", 00359 #endif /* POLARSSL_VERSION_FEATURES */ 00360 #if defined(POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3) 00361 "POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3", 00362 #endif /* POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 */ 00363 #if defined(POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION) 00364 "POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION", 00365 #endif /* POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION */ 00366 #if defined(POLARSSL_X509_CHECK_KEY_USAGE) 00367 "POLARSSL_X509_CHECK_KEY_USAGE", 00368 #endif /* POLARSSL_X509_CHECK_KEY_USAGE */ 00369 #if defined(POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE) 00370 "POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE", 00371 #endif /* POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE */ 00372 #if defined(POLARSSL_X509_RSASSA_PSS_SUPPORT) 00373 "POLARSSL_X509_RSASSA_PSS_SUPPORT", 00374 #endif /* POLARSSL_X509_RSASSA_PSS_SUPPORT */ 00375 #if defined(POLARSSL_ZLIB_SUPPORT) 00376 "POLARSSL_ZLIB_SUPPORT", 00377 #endif /* POLARSSL_ZLIB_SUPPORT */ 00378 #if defined(POLARSSL_AESNI_C) 00379 "POLARSSL_AESNI_C", 00380 #endif /* POLARSSL_AESNI_C */ 00381 #if defined(POLARSSL_AES_C) 00382 "POLARSSL_AES_C", 00383 #endif /* POLARSSL_AES_C */ 00384 #if defined(POLARSSL_ARC4_C) 00385 "POLARSSL_ARC4_C", 00386 #endif /* POLARSSL_ARC4_C */ 00387 #if defined(POLARSSL_ASN1_PARSE_C) 00388 "POLARSSL_ASN1_PARSE_C", 00389 #endif /* POLARSSL_ASN1_PARSE_C */ 00390 #if defined(POLARSSL_ASN1_WRITE_C) 00391 "POLARSSL_ASN1_WRITE_C", 00392 #endif /* POLARSSL_ASN1_WRITE_C */ 00393 #if defined(POLARSSL_BASE64_C) 00394 "POLARSSL_BASE64_C", 00395 #endif /* POLARSSL_BASE64_C */ 00396 #if defined(POLARSSL_BIGNUM_C) 00397 "POLARSSL_BIGNUM_C", 00398 #endif /* POLARSSL_BIGNUM_C */ 00399 #if defined(POLARSSL_BLOWFISH_C) 00400 "POLARSSL_BLOWFISH_C", 00401 #endif /* POLARSSL_BLOWFISH_C */ 00402 #if defined(POLARSSL_CAMELLIA_C) 00403 "POLARSSL_CAMELLIA_C", 00404 #endif /* POLARSSL_CAMELLIA_C */ 00405 #if defined(POLARSSL_CCM_C) 00406 "POLARSSL_CCM_C", 00407 #endif /* POLARSSL_CCM_C */ 00408 #if defined(POLARSSL_CERTS_C) 00409 "POLARSSL_CERTS_C", 00410 #endif /* POLARSSL_CERTS_C */ 00411 #if defined(POLARSSL_CIPHER_C) 00412 "POLARSSL_CIPHER_C", 00413 #endif /* POLARSSL_CIPHER_C */ 00414 #if defined(POLARSSL_CTR_DRBG_C) 00415 "POLARSSL_CTR_DRBG_C", 00416 #endif /* POLARSSL_CTR_DRBG_C */ 00417 #if defined(POLARSSL_DEBUG_C) 00418 "POLARSSL_DEBUG_C", 00419 #endif /* POLARSSL_DEBUG_C */ 00420 #if defined(POLARSSL_DES_C) 00421 "POLARSSL_DES_C", 00422 #endif /* POLARSSL_DES_C */ 00423 #if defined(POLARSSL_DHM_C) 00424 "POLARSSL_DHM_C", 00425 #endif /* POLARSSL_DHM_C */ 00426 #if defined(POLARSSL_ECDH_C) 00427 "POLARSSL_ECDH_C", 00428 #endif /* POLARSSL_ECDH_C */ 00429 #if defined(POLARSSL_ECDSA_C) 00430 "POLARSSL_ECDSA_C", 00431 #endif /* POLARSSL_ECDSA_C */ 00432 #if defined(POLARSSL_ECP_C) 00433 "POLARSSL_ECP_C", 00434 #endif /* POLARSSL_ECP_C */ 00435 #if defined(POLARSSL_ENTROPY_C) 00436 "POLARSSL_ENTROPY_C", 00437 #endif /* POLARSSL_ENTROPY_C */ 00438 #if defined(POLARSSL_ERROR_C) 00439 "POLARSSL_ERROR_C", 00440 #endif /* POLARSSL_ERROR_C */ 00441 #if defined(POLARSSL_GCM_C) 00442 "POLARSSL_GCM_C", 00443 #endif /* POLARSSL_GCM_C */ 00444 #if defined(POLARSSL_HAVEGE_C) 00445 "POLARSSL_HAVEGE_C", 00446 #endif /* POLARSSL_HAVEGE_C */ 00447 #if defined(POLARSSL_HMAC_DRBG_C) 00448 "POLARSSL_HMAC_DRBG_C", 00449 #endif /* POLARSSL_HMAC_DRBG_C */ 00450 #if defined(POLARSSL_MD_C) 00451 "POLARSSL_MD_C", 00452 #endif /* POLARSSL_MD_C */ 00453 #if defined(POLARSSL_MD2_C) 00454 "POLARSSL_MD2_C", 00455 #endif /* POLARSSL_MD2_C */ 00456 #if defined(POLARSSL_MD4_C) 00457 "POLARSSL_MD4_C", 00458 #endif /* POLARSSL_MD4_C */ 00459 #if defined(POLARSSL_MD5_C) 00460 "POLARSSL_MD5_C", 00461 #endif /* POLARSSL_MD5_C */ 00462 #if defined(POLARSSL_MEMORY_C) 00463 "POLARSSL_MEMORY_C", 00464 #endif /* POLARSSL_MEMORY_C */ 00465 #if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C) 00466 "POLARSSL_MEMORY_BUFFER_ALLOC_C", 00467 #endif /* POLARSSL_MEMORY_BUFFER_ALLOC_C */ 00468 #if defined(POLARSSL_NET_C) 00469 "POLARSSL_NET_C", 00470 #endif /* POLARSSL_NET_C */ 00471 #if defined(POLARSSL_OID_C) 00472 "POLARSSL_OID_C", 00473 #endif /* POLARSSL_OID_C */ 00474 #if defined(POLARSSL_PADLOCK_C) 00475 "POLARSSL_PADLOCK_C", 00476 #endif /* POLARSSL_PADLOCK_C */ 00477 #if defined(POLARSSL_PBKDF2_C) 00478 "POLARSSL_PBKDF2_C", 00479 #endif /* POLARSSL_PBKDF2_C */ 00480 #if defined(POLARSSL_PEM_PARSE_C) 00481 "POLARSSL_PEM_PARSE_C", 00482 #endif /* POLARSSL_PEM_PARSE_C */ 00483 #if defined(POLARSSL_PEM_WRITE_C) 00484 "POLARSSL_PEM_WRITE_C", 00485 #endif /* POLARSSL_PEM_WRITE_C */ 00486 #if defined(POLARSSL_PK_C) 00487 "POLARSSL_PK_C", 00488 #endif /* POLARSSL_PK_C */ 00489 #if defined(POLARSSL_PK_PARSE_C) 00490 "POLARSSL_PK_PARSE_C", 00491 #endif /* POLARSSL_PK_PARSE_C */ 00492 #if defined(POLARSSL_PK_WRITE_C) 00493 "POLARSSL_PK_WRITE_C", 00494 #endif /* POLARSSL_PK_WRITE_C */ 00495 #if defined(POLARSSL_PKCS5_C) 00496 "POLARSSL_PKCS5_C", 00497 #endif /* POLARSSL_PKCS5_C */ 00498 #if defined(POLARSSL_PKCS11_C) 00499 "POLARSSL_PKCS11_C", 00500 #endif /* POLARSSL_PKCS11_C */ 00501 #if defined(POLARSSL_PKCS12_C) 00502 "POLARSSL_PKCS12_C", 00503 #endif /* POLARSSL_PKCS12_C */ 00504 #if defined(POLARSSL_PLATFORM_C) 00505 "POLARSSL_PLATFORM_C", 00506 #endif /* POLARSSL_PLATFORM_C */ 00507 #if defined(POLARSSL_RIPEMD160_C) 00508 "POLARSSL_RIPEMD160_C", 00509 #endif /* POLARSSL_RIPEMD160_C */ 00510 #if defined(POLARSSL_RSA_C) 00511 "POLARSSL_RSA_C", 00512 #endif /* POLARSSL_RSA_C */ 00513 #if defined(POLARSSL_SHA1_C) 00514 "POLARSSL_SHA1_C", 00515 #endif /* POLARSSL_SHA1_C */ 00516 #if defined(POLARSSL_SHA256_C) 00517 "POLARSSL_SHA256_C", 00518 #endif /* POLARSSL_SHA256_C */ 00519 #if defined(POLARSSL_SHA512_C) 00520 "POLARSSL_SHA512_C", 00521 #endif /* POLARSSL_SHA512_C */ 00522 #if defined(POLARSSL_SSL_CACHE_C) 00523 "POLARSSL_SSL_CACHE_C", 00524 #endif /* POLARSSL_SSL_CACHE_C */ 00525 #if defined(POLARSSL_SSL_CLI_C) 00526 "POLARSSL_SSL_CLI_C", 00527 #endif /* POLARSSL_SSL_CLI_C */ 00528 #if defined(POLARSSL_SSL_SRV_C) 00529 "POLARSSL_SSL_SRV_C", 00530 #endif /* POLARSSL_SSL_SRV_C */ 00531 #if defined(POLARSSL_SSL_TLS_C) 00532 "POLARSSL_SSL_TLS_C", 00533 #endif /* POLARSSL_SSL_TLS_C */ 00534 #if defined(POLARSSL_THREADING_C) 00535 "POLARSSL_THREADING_C", 00536 #endif /* POLARSSL_THREADING_C */ 00537 #if defined(POLARSSL_TIMING_C) 00538 "POLARSSL_TIMING_C", 00539 #endif /* POLARSSL_TIMING_C */ 00540 #if defined(POLARSSL_VERSION_C) 00541 "POLARSSL_VERSION_C", 00542 #endif /* POLARSSL_VERSION_C */ 00543 #if defined(POLARSSL_X509_USE_C) 00544 "POLARSSL_X509_USE_C", 00545 #endif /* POLARSSL_X509_USE_C */ 00546 #if defined(POLARSSL_X509_CRT_PARSE_C) 00547 "POLARSSL_X509_CRT_PARSE_C", 00548 #endif /* POLARSSL_X509_CRT_PARSE_C */ 00549 #if defined(POLARSSL_X509_CRL_PARSE_C) 00550 "POLARSSL_X509_CRL_PARSE_C", 00551 #endif /* POLARSSL_X509_CRL_PARSE_C */ 00552 #if defined(POLARSSL_X509_CSR_PARSE_C) 00553 "POLARSSL_X509_CSR_PARSE_C", 00554 #endif /* POLARSSL_X509_CSR_PARSE_C */ 00555 #if defined(POLARSSL_X509_CREATE_C) 00556 "POLARSSL_X509_CREATE_C", 00557 #endif /* POLARSSL_X509_CREATE_C */ 00558 #if defined(POLARSSL_X509_CRT_WRITE_C) 00559 "POLARSSL_X509_CRT_WRITE_C", 00560 #endif /* POLARSSL_X509_CRT_WRITE_C */ 00561 #if defined(POLARSSL_X509_CSR_WRITE_C) 00562 "POLARSSL_X509_CSR_WRITE_C", 00563 #endif /* POLARSSL_X509_CSR_WRITE_C */ 00564 #if defined(POLARSSL_XTEA_C) 00565 "POLARSSL_XTEA_C", 00566 #endif /* POLARSSL_XTEA_C */ 00567 #endif /* POLARSSL_VERSION_FEATURES */ 00568 NULL 00569 }; 00570 00571 int version_check_feature( const char *feature ) 00572 { 00573 const char **idx = features; 00574 00575 if( *idx == NULL ) 00576 return( -2 ); 00577 00578 if( feature == NULL ) 00579 return( -1 ); 00580 00581 while( *idx != NULL ) 00582 { 00583 if( !strcasecmp( *idx, feature ) ) 00584 return( 0 ); 00585 idx++; 00586 } 00587 return( -1 ); 00588 } 00589 00590 #endif /* POLARSSL_VERSION_C */ 00591
Generated on Tue Jul 12 2022 13:50:39 by 1.7.2