/*
 *  Version feature information
 *
 *  Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
 *
 *  This file is part of mbed TLS (https://tls.mbed.org)
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

#if !defined(POLARSSL_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include POLARSSL_CONFIG_FILE
#endif

#if defined(POLARSSL_VERSION_C)

#include "mbedtls/version.h"

#include <string.h>

#if defined(_MSC_VER) && !defined strcasecmp && !defined(EFIX64) && \
    !defined(EFI32)
#define strcasecmp _stricmp
#endif

static const char *features[] = {
#if defined(POLARSSL_VERSION_FEATURES)
#if defined(POLARSSL_HAVE_INT8)
    "POLARSSL_HAVE_INT8",
#endif /* POLARSSL_HAVE_INT8 */
#if defined(POLARSSL_HAVE_INT16)
    "POLARSSL_HAVE_INT16",
#endif /* POLARSSL_HAVE_INT16 */
#if defined(POLARSSL_HAVE_LONGLONG)
    "POLARSSL_HAVE_LONGLONG",
#endif /* POLARSSL_HAVE_LONGLONG */
#if defined(POLARSSL_HAVE_ASM)
    "POLARSSL_HAVE_ASM",
#endif /* POLARSSL_HAVE_ASM */
#if defined(POLARSSL_HAVE_SSE2)
    "POLARSSL_HAVE_SSE2",
#endif /* POLARSSL_HAVE_SSE2 */
#if defined(POLARSSL_HAVE_TIME)
    "POLARSSL_HAVE_TIME",
#endif /* POLARSSL_HAVE_TIME */
#if defined(POLARSSL_HAVE_IPV6)
    "POLARSSL_HAVE_IPV6",
#endif /* POLARSSL_HAVE_IPV6 */
#if defined(POLARSSL_PLATFORM_MEMORY)
    "POLARSSL_PLATFORM_MEMORY",
#endif /* POLARSSL_PLATFORM_MEMORY */
#if defined(POLARSSL_PLATFORM_NO_STD_FUNCTIONS)
    "POLARSSL_PLATFORM_NO_STD_FUNCTIONS",
#endif /* POLARSSL_PLATFORM_NO_STD_FUNCTIONS */
#if defined(POLARSSL_PLATFORM_EXIT_ALT)
    "POLARSSL_PLATFORM_EXIT_ALT",
#endif /* POLARSSL_PLATFORM_EXIT_ALT */
#if defined(POLARSSL_PLATFORM_FPRINTF_ALT)
    "POLARSSL_PLATFORM_FPRINTF_ALT",
#endif /* POLARSSL_PLATFORM_FPRINTF_ALT */
#if defined(POLARSSL_PLATFORM_PRINTF_ALT)
    "POLARSSL_PLATFORM_PRINTF_ALT",
#endif /* POLARSSL_PLATFORM_PRINTF_ALT */
#if defined(POLARSSL_PLATFORM_SNPRINTF_ALT)
    "POLARSSL_PLATFORM_SNPRINTF_ALT",
#endif /* POLARSSL_PLATFORM_SNPRINTF_ALT */
#if defined(POLARSSL_TIMING_ALT)
    "POLARSSL_TIMING_ALT",
#endif /* POLARSSL_TIMING_ALT */
#if defined(POLARSSL_AES_ALT)
    "POLARSSL_AES_ALT",
#endif /* POLARSSL_AES_ALT */
#if defined(POLARSSL_ARC4_ALT)
    "POLARSSL_ARC4_ALT",
#endif /* POLARSSL_ARC4_ALT */
#if defined(POLARSSL_BLOWFISH_ALT)
    "POLARSSL_BLOWFISH_ALT",
#endif /* POLARSSL_BLOWFISH_ALT */
#if defined(POLARSSL_CAMELLIA_ALT)
    "POLARSSL_CAMELLIA_ALT",
#endif /* POLARSSL_CAMELLIA_ALT */
#if defined(POLARSSL_DES_ALT)
    "POLARSSL_DES_ALT",
#endif /* POLARSSL_DES_ALT */
#if defined(POLARSSL_XTEA_ALT)
    "POLARSSL_XTEA_ALT",
#endif /* POLARSSL_XTEA_ALT */
#if defined(POLARSSL_MD2_ALT)
    "POLARSSL_MD2_ALT",
#endif /* POLARSSL_MD2_ALT */
#if defined(POLARSSL_MD4_ALT)
    "POLARSSL_MD4_ALT",
#endif /* POLARSSL_MD4_ALT */
#if defined(POLARSSL_MD5_ALT)
    "POLARSSL_MD5_ALT",
#endif /* POLARSSL_MD5_ALT */
#if defined(POLARSSL_RIPEMD160_ALT)
    "POLARSSL_RIPEMD160_ALT",
#endif /* POLARSSL_RIPEMD160_ALT */
#if defined(POLARSSL_SHA1_ALT)
    "POLARSSL_SHA1_ALT",
#endif /* POLARSSL_SHA1_ALT */
#if defined(POLARSSL_SHA256_ALT)
    "POLARSSL_SHA256_ALT",
#endif /* POLARSSL_SHA256_ALT */
#if defined(POLARSSL_SHA512_ALT)
    "POLARSSL_SHA512_ALT",
#endif /* POLARSSL_SHA512_ALT */
#if defined(POLARSSL_AES_ROM_TABLES)
    "POLARSSL_AES_ROM_TABLES",
#endif /* POLARSSL_AES_ROM_TABLES */
#if defined(POLARSSL_CIPHER_MODE_CBC)
    "POLARSSL_CIPHER_MODE_CBC",
#endif /* POLARSSL_CIPHER_MODE_CBC */
#if defined(POLARSSL_CIPHER_MODE_CFB)
    "POLARSSL_CIPHER_MODE_CFB",
#endif /* POLARSSL_CIPHER_MODE_CFB */
#if defined(POLARSSL_CIPHER_MODE_CTR)
    "POLARSSL_CIPHER_MODE_CTR",
#endif /* POLARSSL_CIPHER_MODE_CTR */
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
    "POLARSSL_CIPHER_NULL_CIPHER",
#endif /* POLARSSL_CIPHER_NULL_CIPHER */
#if defined(POLARSSL_CIPHER_PADDING_PKCS7)
    "POLARSSL_CIPHER_PADDING_PKCS7",
#endif /* POLARSSL_CIPHER_PADDING_PKCS7 */
#if defined(POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS)
    "POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS",
#endif /* POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS */
#if defined(POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN)
    "POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN",
#endif /* POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN */
#if defined(POLARSSL_CIPHER_PADDING_ZEROS)
    "POLARSSL_CIPHER_PADDING_ZEROS",
#endif /* POLARSSL_CIPHER_PADDING_ZEROS */
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
    "POLARSSL_ENABLE_WEAK_CIPHERSUITES",
#endif /* POLARSSL_ENABLE_WEAK_CIPHERSUITES */
#if defined(POLARSSL_REMOVE_ARC4_CIPHERSUITES)
    "POLARSSL_REMOVE_ARC4_CIPHERSUITES",
#endif /* POLARSSL_REMOVE_ARC4_CIPHERSUITES */
#if defined(POLARSSL_ECP_DP_SECP192R1_ENABLED)
    "POLARSSL_ECP_DP_SECP192R1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP192R1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP224R1_ENABLED)
    "POLARSSL_ECP_DP_SECP224R1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP224R1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP256R1_ENABLED)
    "POLARSSL_ECP_DP_SECP256R1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP256R1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP384R1_ENABLED)
    "POLARSSL_ECP_DP_SECP384R1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP384R1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP521R1_ENABLED)
    "POLARSSL_ECP_DP_SECP521R1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP521R1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP192K1_ENABLED)
    "POLARSSL_ECP_DP_SECP192K1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP192K1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP224K1_ENABLED)
    "POLARSSL_ECP_DP_SECP224K1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP224K1_ENABLED */
#if defined(POLARSSL_ECP_DP_SECP256K1_ENABLED)
    "POLARSSL_ECP_DP_SECP256K1_ENABLED",
#endif /* POLARSSL_ECP_DP_SECP256K1_ENABLED */
#if defined(POLARSSL_ECP_DP_BP256R1_ENABLED)
    "POLARSSL_ECP_DP_BP256R1_ENABLED",
#endif /* POLARSSL_ECP_DP_BP256R1_ENABLED */
#if defined(POLARSSL_ECP_DP_BP384R1_ENABLED)
    "POLARSSL_ECP_DP_BP384R1_ENABLED",
#endif /* POLARSSL_ECP_DP_BP384R1_ENABLED */
#if defined(POLARSSL_ECP_DP_BP512R1_ENABLED)
    "POLARSSL_ECP_DP_BP512R1_ENABLED",
#endif /* POLARSSL_ECP_DP_BP512R1_ENABLED */
#if defined(POLARSSL_ECP_DP_M221_ENABLED)
    "POLARSSL_ECP_DP_M221_ENABLED",
#endif /* POLARSSL_ECP_DP_M221_ENABLED */
#if defined(POLARSSL_ECP_DP_M255_ENABLED)
    "POLARSSL_ECP_DP_M255_ENABLED",
#endif /* POLARSSL_ECP_DP_M255_ENABLED */
#if defined(POLARSSL_ECP_DP_M383_ENABLED)
    "POLARSSL_ECP_DP_M383_ENABLED",
#endif /* POLARSSL_ECP_DP_M383_ENABLED */
#if defined(POLARSSL_ECP_DP_M511_ENABLED)
    "POLARSSL_ECP_DP_M511_ENABLED",
#endif /* POLARSSL_ECP_DP_M511_ENABLED */
#if defined(POLARSSL_ECP_NIST_OPTIM)
    "POLARSSL_ECP_NIST_OPTIM",
#endif /* POLARSSL_ECP_NIST_OPTIM */
#if defined(POLARSSL_ECDSA_DETERMINISTIC)
    "POLARSSL_ECDSA_DETERMINISTIC",
#endif /* POLARSSL_ECDSA_DETERMINISTIC */
#if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
    "POLARSSL_KEY_EXCHANGE_PSK_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_PSK_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
    "POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
    "POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
    "POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
    "POLARSSL_KEY_EXCHANGE_RSA_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
    "POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
    "POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
    "POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
    "POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
#if defined(POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED)
    "POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED",
#endif /* POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED */
#if defined(POLARSSL_PK_PARSE_EC_EXTENDED)
    "POLARSSL_PK_PARSE_EC_EXTENDED",
#endif /* POLARSSL_PK_PARSE_EC_EXTENDED */
#if defined(POLARSSL_ERROR_STRERROR_BC)
    "POLARSSL_ERROR_STRERROR_BC",
#endif /* POLARSSL_ERROR_STRERROR_BC */
#if defined(POLARSSL_ERROR_STRERROR_DUMMY)
    "POLARSSL_ERROR_STRERROR_DUMMY",
#endif /* POLARSSL_ERROR_STRERROR_DUMMY */
#if defined(POLARSSL_GENPRIME)
    "POLARSSL_GENPRIME",
#endif /* POLARSSL_GENPRIME */
#if defined(POLARSSL_FS_IO)
    "POLARSSL_FS_IO",
#endif /* POLARSSL_FS_IO */
#if defined(POLARSSL_NO_DEFAULT_ENTROPY_SOURCES)
    "POLARSSL_NO_DEFAULT_ENTROPY_SOURCES",
#endif /* POLARSSL_NO_DEFAULT_ENTROPY_SOURCES */
#if defined(POLARSSL_NO_PLATFORM_ENTROPY)
    "POLARSSL_NO_PLATFORM_ENTROPY",
#endif /* POLARSSL_NO_PLATFORM_ENTROPY */
#if defined(POLARSSL_ENTROPY_FORCE_SHA256)
    "POLARSSL_ENTROPY_FORCE_SHA256",
#endif /* POLARSSL_ENTROPY_FORCE_SHA256 */
#if defined(POLARSSL_MEMORY_DEBUG)
    "POLARSSL_MEMORY_DEBUG",
#endif /* POLARSSL_MEMORY_DEBUG */
#if defined(POLARSSL_MEMORY_BACKTRACE)
    "POLARSSL_MEMORY_BACKTRACE",
#endif /* POLARSSL_MEMORY_BACKTRACE */
#if defined(POLARSSL_PKCS1_V15)
    "POLARSSL_PKCS1_V15",
#endif /* POLARSSL_PKCS1_V15 */
#if defined(POLARSSL_PKCS1_V21)
    "POLARSSL_PKCS1_V21",
#endif /* POLARSSL_PKCS1_V21 */
#if defined(POLARSSL_RSA_NO_CRT)
    "POLARSSL_RSA_NO_CRT",
#endif /* POLARSSL_RSA_NO_CRT */
#if defined(POLARSSL_SELF_TEST)
    "POLARSSL_SELF_TEST",
#endif /* POLARSSL_SELF_TEST */
#if defined(POLARSSL_SSL_AEAD_RANDOM_IV)
    "POLARSSL_SSL_AEAD_RANDOM_IV",
#endif /* POLARSSL_SSL_AEAD_RANDOM_IV */
#if defined(POLARSSL_SSL_ALL_ALERT_MESSAGES)
    "POLARSSL_SSL_ALL_ALERT_MESSAGES",
#endif /* POLARSSL_SSL_ALL_ALERT_MESSAGES */
#if defined(POLARSSL_SSL_DEBUG_ALL)
    "POLARSSL_SSL_DEBUG_ALL",
#endif /* POLARSSL_SSL_DEBUG_ALL */
#if defined(POLARSSL_SSL_ENCRYPT_THEN_MAC)
    "POLARSSL_SSL_ENCRYPT_THEN_MAC",
#endif /* POLARSSL_SSL_ENCRYPT_THEN_MAC */
#if defined(POLARSSL_SSL_EXTENDED_MASTER_SECRET)
    "POLARSSL_SSL_EXTENDED_MASTER_SECRET",
#endif /* POLARSSL_SSL_EXTENDED_MASTER_SECRET */
#if defined(POLARSSL_SSL_FALLBACK_SCSV)
    "POLARSSL_SSL_FALLBACK_SCSV",
#endif /* POLARSSL_SSL_FALLBACK_SCSV */
#if defined(POLARSSL_SSL_HW_RECORD_ACCEL)
    "POLARSSL_SSL_HW_RECORD_ACCEL",
#endif /* POLARSSL_SSL_HW_RECORD_ACCEL */
#if defined(POLARSSL_SSL_CBC_RECORD_SPLITTING)
    "POLARSSL_SSL_CBC_RECORD_SPLITTING",
#endif /* POLARSSL_SSL_CBC_RECORD_SPLITTING */
#if defined(POLARSSL_SSL_DISABLE_RENEGOTIATION)
    "POLARSSL_SSL_DISABLE_RENEGOTIATION",
#endif /* POLARSSL_SSL_DISABLE_RENEGOTIATION */
#if defined(POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO)
    "POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO",
#endif /* POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */
#if defined(POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE)
    "POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE",
#endif /* POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE */
#if defined(POLARSSL_SSL_MAX_FRAGMENT_LENGTH)
    "POLARSSL_SSL_MAX_FRAGMENT_LENGTH",
#endif /* POLARSSL_SSL_MAX_FRAGMENT_LENGTH */
#if defined(POLARSSL_SSL_PROTO_SSL3)
    "POLARSSL_SSL_PROTO_SSL3",
#endif /* POLARSSL_SSL_PROTO_SSL3 */
#if defined(POLARSSL_SSL_PROTO_TLS1)
    "POLARSSL_SSL_PROTO_TLS1",
#endif /* POLARSSL_SSL_PROTO_TLS1 */
#if defined(POLARSSL_SSL_PROTO_TLS1_1)
    "POLARSSL_SSL_PROTO_TLS1_1",
#endif /* POLARSSL_SSL_PROTO_TLS1_1 */
#if defined(POLARSSL_SSL_PROTO_TLS1_2)
    "POLARSSL_SSL_PROTO_TLS1_2",
#endif /* POLARSSL_SSL_PROTO_TLS1_2 */
#if defined(POLARSSL_SSL_PROTO_DTLS)
    "POLARSSL_SSL_PROTO_DTLS",
#endif /* POLARSSL_SSL_PROTO_DTLS */
#if defined(POLARSSL_SSL_ALPN)
    "POLARSSL_SSL_ALPN",
#endif /* POLARSSL_SSL_ALPN */
#if defined(POLARSSL_SSL_DTLS_ANTI_REPLAY)
    "POLARSSL_SSL_DTLS_ANTI_REPLAY",
#endif /* POLARSSL_SSL_DTLS_ANTI_REPLAY */
#if defined(POLARSSL_SSL_DTLS_HELLO_VERIFY)
    "POLARSSL_SSL_DTLS_HELLO_VERIFY",
#endif /* POLARSSL_SSL_DTLS_HELLO_VERIFY */
#if defined(POLARSSL_SSL_DTLS_BADMAC_LIMIT)
    "POLARSSL_SSL_DTLS_BADMAC_LIMIT",
#endif /* POLARSSL_SSL_DTLS_BADMAC_LIMIT */
#if defined(POLARSSL_SSL_SESSION_TICKETS)
    "POLARSSL_SSL_SESSION_TICKETS",
#endif /* POLARSSL_SSL_SESSION_TICKETS */
#if defined(POLARSSL_SSL_SERVER_NAME_INDICATION)
    "POLARSSL_SSL_SERVER_NAME_INDICATION",
#endif /* POLARSSL_SSL_SERVER_NAME_INDICATION */
#if defined(POLARSSL_SSL_TRUNCATED_HMAC)
    "POLARSSL_SSL_TRUNCATED_HMAC",
#endif /* POLARSSL_SSL_TRUNCATED_HMAC */
#if defined(POLARSSL_SSL_SET_CURVES)
    "POLARSSL_SSL_SET_CURVES",
#endif /* POLARSSL_SSL_SET_CURVES */
#if defined(POLARSSL_THREADING_ALT)
    "POLARSSL_THREADING_ALT",
#endif /* POLARSSL_THREADING_ALT */
#if defined(POLARSSL_THREADING_PTHREAD)
    "POLARSSL_THREADING_PTHREAD",
#endif /* POLARSSL_THREADING_PTHREAD */
#if defined(POLARSSL_VERSION_FEATURES)
    "POLARSSL_VERSION_FEATURES",
#endif /* POLARSSL_VERSION_FEATURES */
#if defined(POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3)
    "POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3",
#endif /* POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 */
#if defined(POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION)
    "POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION",
#endif /* POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION */
#if defined(POLARSSL_X509_CHECK_KEY_USAGE)
    "POLARSSL_X509_CHECK_KEY_USAGE",
#endif /* POLARSSL_X509_CHECK_KEY_USAGE */
#if defined(POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE)
    "POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE",
#endif /* POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE */
#if defined(POLARSSL_X509_RSASSA_PSS_SUPPORT)
    "POLARSSL_X509_RSASSA_PSS_SUPPORT",
#endif /* POLARSSL_X509_RSASSA_PSS_SUPPORT */
#if defined(POLARSSL_ZLIB_SUPPORT)
    "POLARSSL_ZLIB_SUPPORT",
#endif /* POLARSSL_ZLIB_SUPPORT */
#if defined(POLARSSL_AESNI_C)
    "POLARSSL_AESNI_C",
#endif /* POLARSSL_AESNI_C */
#if defined(POLARSSL_AES_C)
    "POLARSSL_AES_C",
#endif /* POLARSSL_AES_C */
#if defined(POLARSSL_ARC4_C)
    "POLARSSL_ARC4_C",
#endif /* POLARSSL_ARC4_C */
#if defined(POLARSSL_ASN1_PARSE_C)
    "POLARSSL_ASN1_PARSE_C",
#endif /* POLARSSL_ASN1_PARSE_C */
#if defined(POLARSSL_ASN1_WRITE_C)
    "POLARSSL_ASN1_WRITE_C",
#endif /* POLARSSL_ASN1_WRITE_C */
#if defined(POLARSSL_BASE64_C)
    "POLARSSL_BASE64_C",
#endif /* POLARSSL_BASE64_C */
#if defined(POLARSSL_BIGNUM_C)
    "POLARSSL_BIGNUM_C",
#endif /* POLARSSL_BIGNUM_C */
#if defined(POLARSSL_BLOWFISH_C)
    "POLARSSL_BLOWFISH_C",
#endif /* POLARSSL_BLOWFISH_C */
#if defined(POLARSSL_CAMELLIA_C)
    "POLARSSL_CAMELLIA_C",
#endif /* POLARSSL_CAMELLIA_C */
#if defined(POLARSSL_CCM_C)
    "POLARSSL_CCM_C",
#endif /* POLARSSL_CCM_C */
#if defined(POLARSSL_CERTS_C)
    "POLARSSL_CERTS_C",
#endif /* POLARSSL_CERTS_C */
#if defined(POLARSSL_CIPHER_C)
    "POLARSSL_CIPHER_C",
#endif /* POLARSSL_CIPHER_C */
#if defined(POLARSSL_CTR_DRBG_C)
    "POLARSSL_CTR_DRBG_C",
#endif /* POLARSSL_CTR_DRBG_C */
#if defined(POLARSSL_DEBUG_C)
    "POLARSSL_DEBUG_C",
#endif /* POLARSSL_DEBUG_C */
#if defined(POLARSSL_DES_C)
    "POLARSSL_DES_C",
#endif /* POLARSSL_DES_C */
#if defined(POLARSSL_DHM_C)
    "POLARSSL_DHM_C",
#endif /* POLARSSL_DHM_C */
#if defined(POLARSSL_ECDH_C)
    "POLARSSL_ECDH_C",
#endif /* POLARSSL_ECDH_C */
#if defined(POLARSSL_ECDSA_C)
    "POLARSSL_ECDSA_C",
#endif /* POLARSSL_ECDSA_C */
#if defined(POLARSSL_ECP_C)
    "POLARSSL_ECP_C",
#endif /* POLARSSL_ECP_C */
#if defined(POLARSSL_ENTROPY_C)
    "POLARSSL_ENTROPY_C",
#endif /* POLARSSL_ENTROPY_C */
#if defined(POLARSSL_ERROR_C)
    "POLARSSL_ERROR_C",
#endif /* POLARSSL_ERROR_C */
#if defined(POLARSSL_GCM_C)
    "POLARSSL_GCM_C",
#endif /* POLARSSL_GCM_C */
#if defined(POLARSSL_HAVEGE_C)
    "POLARSSL_HAVEGE_C",
#endif /* POLARSSL_HAVEGE_C */
#if defined(POLARSSL_HMAC_DRBG_C)
    "POLARSSL_HMAC_DRBG_C",
#endif /* POLARSSL_HMAC_DRBG_C */
#if defined(POLARSSL_MD_C)
    "POLARSSL_MD_C",
#endif /* POLARSSL_MD_C */
#if defined(POLARSSL_MD2_C)
    "POLARSSL_MD2_C",
#endif /* POLARSSL_MD2_C */
#if defined(POLARSSL_MD4_C)
    "POLARSSL_MD4_C",
#endif /* POLARSSL_MD4_C */
#if defined(POLARSSL_MD5_C)
    "POLARSSL_MD5_C",
#endif /* POLARSSL_MD5_C */
#if defined(POLARSSL_MEMORY_C)
    "POLARSSL_MEMORY_C",
#endif /* POLARSSL_MEMORY_C */
#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C)
    "POLARSSL_MEMORY_BUFFER_ALLOC_C",
#endif /* POLARSSL_MEMORY_BUFFER_ALLOC_C */
#if defined(POLARSSL_NET_C)
    "POLARSSL_NET_C",
#endif /* POLARSSL_NET_C */
#if defined(POLARSSL_OID_C)
    "POLARSSL_OID_C",
#endif /* POLARSSL_OID_C */
#if defined(POLARSSL_PADLOCK_C)
    "POLARSSL_PADLOCK_C",
#endif /* POLARSSL_PADLOCK_C */
#if defined(POLARSSL_PBKDF2_C)
    "POLARSSL_PBKDF2_C",
#endif /* POLARSSL_PBKDF2_C */
#if defined(POLARSSL_PEM_PARSE_C)
    "POLARSSL_PEM_PARSE_C",
#endif /* POLARSSL_PEM_PARSE_C */
#if defined(POLARSSL_PEM_WRITE_C)
    "POLARSSL_PEM_WRITE_C",
#endif /* POLARSSL_PEM_WRITE_C */
#if defined(POLARSSL_PK_C)
    "POLARSSL_PK_C",
#endif /* POLARSSL_PK_C */
#if defined(POLARSSL_PK_PARSE_C)
    "POLARSSL_PK_PARSE_C",
#endif /* POLARSSL_PK_PARSE_C */
#if defined(POLARSSL_PK_WRITE_C)
    "POLARSSL_PK_WRITE_C",
#endif /* POLARSSL_PK_WRITE_C */
#if defined(POLARSSL_PKCS5_C)
    "POLARSSL_PKCS5_C",
#endif /* POLARSSL_PKCS5_C */
#if defined(POLARSSL_PKCS11_C)
    "POLARSSL_PKCS11_C",
#endif /* POLARSSL_PKCS11_C */
#if defined(POLARSSL_PKCS12_C)
    "POLARSSL_PKCS12_C",
#endif /* POLARSSL_PKCS12_C */
#if defined(POLARSSL_PLATFORM_C)
    "POLARSSL_PLATFORM_C",
#endif /* POLARSSL_PLATFORM_C */
#if defined(POLARSSL_RIPEMD160_C)
    "POLARSSL_RIPEMD160_C",
#endif /* POLARSSL_RIPEMD160_C */
#if defined(POLARSSL_RSA_C)
    "POLARSSL_RSA_C",
#endif /* POLARSSL_RSA_C */
#if defined(POLARSSL_SHA1_C)
    "POLARSSL_SHA1_C",
#endif /* POLARSSL_SHA1_C */
#if defined(POLARSSL_SHA256_C)
    "POLARSSL_SHA256_C",
#endif /* POLARSSL_SHA256_C */
#if defined(POLARSSL_SHA512_C)
    "POLARSSL_SHA512_C",
#endif /* POLARSSL_SHA512_C */
#if defined(POLARSSL_SSL_CACHE_C)
    "POLARSSL_SSL_CACHE_C",
#endif /* POLARSSL_SSL_CACHE_C */
#if defined(POLARSSL_SSL_COOKIE_C)
    "POLARSSL_SSL_COOKIE_C",
#endif /* POLARSSL_SSL_COOKIE_C */
#if defined(POLARSSL_SSL_CLI_C)
    "POLARSSL_SSL_CLI_C",
#endif /* POLARSSL_SSL_CLI_C */
#if defined(POLARSSL_SSL_SRV_C)
    "POLARSSL_SSL_SRV_C",
#endif /* POLARSSL_SSL_SRV_C */
#if defined(POLARSSL_SSL_TLS_C)
    "POLARSSL_SSL_TLS_C",
#endif /* POLARSSL_SSL_TLS_C */
#if defined(POLARSSL_THREADING_C)
    "POLARSSL_THREADING_C",
#endif /* POLARSSL_THREADING_C */
#if defined(POLARSSL_TIMING_C)
    "POLARSSL_TIMING_C",
#endif /* POLARSSL_TIMING_C */
#if defined(POLARSSL_VERSION_C)
    "POLARSSL_VERSION_C",
#endif /* POLARSSL_VERSION_C */
#if defined(POLARSSL_X509_USE_C)
    "POLARSSL_X509_USE_C",
#endif /* POLARSSL_X509_USE_C */
#if defined(POLARSSL_X509_CRT_PARSE_C)
    "POLARSSL_X509_CRT_PARSE_C",
#endif /* POLARSSL_X509_CRT_PARSE_C */
#if defined(POLARSSL_X509_CRL_PARSE_C)
    "POLARSSL_X509_CRL_PARSE_C",
#endif /* POLARSSL_X509_CRL_PARSE_C */
#if defined(POLARSSL_X509_CSR_PARSE_C)
    "POLARSSL_X509_CSR_PARSE_C",
#endif /* POLARSSL_X509_CSR_PARSE_C */
#if defined(POLARSSL_X509_CREATE_C)
    "POLARSSL_X509_CREATE_C",
#endif /* POLARSSL_X509_CREATE_C */
#if defined(POLARSSL_X509_CRT_WRITE_C)
    "POLARSSL_X509_CRT_WRITE_C",
#endif /* POLARSSL_X509_CRT_WRITE_C */
#if defined(POLARSSL_X509_CSR_WRITE_C)
    "POLARSSL_X509_CSR_WRITE_C",
#endif /* POLARSSL_X509_CSR_WRITE_C */
#if defined(POLARSSL_XTEA_C)
    "POLARSSL_XTEA_C",
#endif /* POLARSSL_XTEA_C */
#endif /* POLARSSL_VERSION_FEATURES */
    NULL
};

int version_check_feature( const char *feature )
{
    const char **idx = features;

    if( *idx == NULL )
        return( -2 );

    if( feature == NULL )
        return( -1 );

    while( *idx != NULL )
    {
        if( !strcasecmp( *idx, feature ) )
            return( 0 );
        idx++;
    }
    return( -1 );
}

#endif /* POLARSSL_VERSION_C */
