Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /**
  2.  * \file config.h
  3.  *
  4.  * \brief Configuration options (set of defines)
  5.  *
  6.  *  Copyright (C) 2006-2012, Brainspark B.V.
  7.  *
  8.  *  This file is part of PolarSSL (http://www.polarssl.org)
  9.  *  Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
  10.  *
  11.  *  All rights reserved.
  12.  *
  13.  *  This program is free software; you can redistribute it and/or modify
  14.  *  it under the terms of the GNU General Public License as published by
  15.  *  the Free Software Foundation; either version 2 of the License, or
  16.  *  (at your option) any later version.
  17.  *
  18.  *  This program is distributed in the hope that it will be useful,
  19.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  20.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21.  *  GNU General Public License for more details.
  22.  *
  23.  *  You should have received a copy of the GNU General Public License along
  24.  *  with this program; if not, write to the Free Software Foundation, Inc.,
  25.  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  26.  *
  27.  * This set of compile-time options may be used to enable
  28.  * or disable features selectively, and reduce the global
  29.  * memory footprint.
  30.  */
  31.  
  32. #define uint64_t unsigned long int
  33. #define uint32_t unsigned int
  34.  
  35. #define int32_t  int
  36.  
  37.  
  38. #ifndef POLARSSL_CONFIG_H
  39. #define POLARSSL_CONFIG_H
  40.  
  41. #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
  42. #define _CRT_SECURE_NO_DEPRECATE 1
  43. #endif
  44.  
  45. /**
  46.  * \name SECTION: System support
  47.  *
  48.  * This section sets system specific settings.
  49.  * \{
  50.  */
  51.  
  52. /**
  53.  * \def POLARSSL_HAVE_INT8
  54.  *
  55.  * The system uses 8-bit wide native integers.
  56.  *
  57.  * Uncomment if native integers are 8-bit wide.
  58. #define POLARSSL_HAVE_INT8
  59.  */
  60.  
  61. /**
  62.  * \def POLARSSL_HAVE_INT16
  63.  *
  64.  * The system uses 16-bit wide native integers.
  65.  *
  66.  * Uncomment if native integers are 16-bit wide.
  67. #define POLARSSL_HAVE_INT16
  68.  */
  69.  
  70. /**
  71.  * \def POLARSSL_HAVE_LONGLONG
  72.  *
  73.  * The compiler supports the 'long long' type.
  74.  * (Only used on 32-bit platforms)
  75.  */
  76. #define POLARSSL_HAVE_LONGLONG
  77.  
  78. /**
  79.  * \def POLARSSL_HAVE_ASM
  80.  *
  81.  * The compiler has support for asm()
  82.  *
  83.  * Uncomment to enable the use of assembly code.
  84.  *
  85.  * Requires support for asm() in compiler.
  86.  *
  87.  * Used in:
  88.  *      library/timing.c
  89.  *      library/padlock.c
  90.  *      include/polarssl/bn_mul.h
  91.  *
  92.  */
  93. #define POLARSSL_HAVE_ASM
  94.  
  95. /**
  96.  * \def POLARSSL_HAVE_SSE2
  97.  *
  98.  * CPU supports SSE2 instruction set.
  99.  *
  100.  * Uncomment if the CPU supports SSE2 (IA-32 specific).
  101.  *
  102. #define POLARSSL_HAVE_SSE2
  103.  */
  104. /* \} name */
  105.  
  106. /**
  107.  * \name SECTION: PolarSSL feature support
  108.  *
  109.  * This section sets support for features that are or are not needed
  110.  * within the modules that are enabled.
  111.  * \{
  112.  */
  113.  
  114. /**
  115.  * \def POLARSSL_AES_ROM_TABLES
  116.  *
  117.  * Store the AES tables in ROM.
  118.  *
  119.  * Uncomment this macro to store the AES tables in ROM.
  120.  *
  121. #define POLARSSL_AES_ROM_TABLES
  122.  */
  123.  
  124. /**
  125.  * \def POLARSSL_CIPHER_MODE_CFB
  126.  *
  127.  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  128.  */
  129. #define POLARSSL_CIPHER_MODE_CFB
  130.  
  131. /**
  132.  * \def POLARSSL_CIPHER_MODE_CTR
  133.  *
  134.  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  135.  */
  136. #define POLARSSL_CIPHER_MODE_CTR
  137.  
  138. /**
  139.  * \def POLARSSL_CIPHER_NULL_CIPHER
  140.  *
  141.  * Enable NULL cipher.
  142.  * Warning: Only do so when you know what you are doing. This allows for
  143.  * encryption or channels without any security!
  144.  *
  145.  * Requires POLARSSL_ENABLE_WEAK_CIPHERSUITES as well to enable
  146.  * the following ciphersuites:
  147.  *      TLS_RSA_WITH_NULL_MD5
  148.  *      TLS_RSA_WITH_NULL_SHA
  149.  *      TLS_RSA_WITH_NULL_SHA256
  150.  *
  151.  * Uncomment this macro to enable the NULL cipher and ciphersuites
  152. #define POLARSSL_CIPHER_NULL_CIPHER
  153.  */
  154.  
  155. /**
  156.  * \def POLARSSL_ENABLE_WEAK_CIPHERSUITES
  157.  *
  158.  * Enable weak ciphersuites in SSL / TLS
  159.  * Warning: Only do so when you know what you are doing. This allows for
  160.  * channels with virtually no security at all!
  161.  *
  162.  * This enables the following ciphersuites:
  163.  *      TLS_RSA_WITH_DES_CBC_SHA
  164.  *      TLS_DHE_RSA_WITH_DES_CBC_SHA
  165.  *
  166.  * Uncomment this macro to enable weak ciphersuites
  167. #define POLARSSL_ENABLE_WEAK_CIPHERSUITES
  168.  */
  169.  
  170. /**
  171.  * \def POLARSSL_ERROR_STRERROR_DUMMY
  172.  *
  173.  * Enable a dummy error function to make use of error_strerror() in
  174.  * third party libraries easier.
  175.  *
  176.  * Disable if you run into name conflicts and want to really remove the
  177.  * error_strerror()
  178.  */
  179. //#define POLARSSL_ERROR_STRERROR_DUMMY
  180.  
  181. /**
  182.  * \def POLARSSL_GENPRIME
  183.  *
  184.  * Requires: POLARSSL_BIGNUM_C, POLARSSL_RSA_C
  185.  *
  186.  * Enable the RSA prime-number generation code.
  187.  */
  188. #define POLARSSL_GENPRIME
  189.  
  190. /**
  191.  * \def POLARSSL_FS_IO
  192.  *
  193.  * Enable functions that use the filesystem.
  194.  */
  195. //#define POLARSSL_FS_IO
  196.  
  197. /**
  198.  * \def POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
  199.  *
  200.  * Do not add default entropy sources. These are the platform specific,
  201.  * hardclock and HAVEGE based poll functions.
  202.  *
  203.  * This is useful to have more control over the added entropy sources in an
  204.  * application.
  205.  *
  206.  * Uncomment this macro to prevent loading of default entropy functions.
  207. #define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
  208.  */
  209.  
  210. /**
  211.  * \def POLARSSL_NO_PLATFORM_ENTROPY
  212.  *
  213.  * Do not use built-in platform entropy functions.
  214.  * This is useful if your platform does not support
  215.  * standards like the /dev/urandom or Windows CryptoAPI.
  216.  *
  217.  * Uncomment this macro to disable the built-in platform entropy functions.
  218. */
  219. #define POLARSSL_NO_PLATFORM_ENTROPY
  220.  
  221.  
  222. /**
  223.  * \def POLARSSL_PKCS1_V21
  224.  *
  225.  * Requires: POLARSSL_MD_C, POLARSSL_RSA_C
  226.  *
  227.  * Enable support for PKCS#1 v2.1 encoding.
  228.  * This enables support for RSAES-OAEP and RSASSA-PSS operations.
  229.  */
  230. #define POLARSSL_PKCS1_V21
  231.  
  232. /**
  233.  * \def POLARSSL_RSA_NO_CRT
  234.  *
  235.  * Do not use the Chinese Remainder Theorem for the RSA private operation.
  236.  *
  237.  * Uncomment this macro to disable the use of CRT in RSA.
  238.  *
  239. #define POLARSSL_RSA_NO_CRT
  240.  */
  241.  
  242. /**
  243.  * \def POLARSSL_SELF_TEST
  244.  *
  245.  * Enable the checkup functions (*_self_test).
  246.  */
  247. #define POLARSSL_SELF_TEST
  248.  
  249. /**
  250.  * \def POLARSSL_SSL_ALL_ALERT_MESSAGES
  251.  *
  252.  * Enable sending of alert messages in case of encountered errors as per RFC.
  253.  * If you choose not to send the alert messages, PolarSSL can still communicate
  254.  * with other servers, only debugging of failures is harder.
  255.  *
  256.  * The advantage of not sending alert messages, is that no information is given
  257.  * about reasons for failures thus preventing adversaries of gaining intel.
  258.  *
  259.  * Enable sending of all alert messages
  260.  */
  261. #define POLARSSL_SSL_ALERT_MESSAGES
  262.  
  263. /**
  264.  * \def POLARSSL_SSL_DEBUG_ALL
  265.  *
  266.  * Enable the debug messages in SSL module for all issues.
  267.  * Debug messages have been disabled in some places to prevent timing
  268.  * attacks due to (unbalanced) debugging function calls.
  269.  *
  270.  * If you need all error reporting you should enable this during debugging,
  271.  * but remove this for production servers that should log as well.
  272.  *
  273.  * Uncomment this macro to report all debug messages on errors introducing
  274.  * a timing side-channel.
  275.  *
  276. #define POLARSSL_SSL_DEBUG_ALL
  277.  */
  278.  
  279. /**
  280.  * \def POLARSSL_SSL_HW_RECORD_ACCEL
  281.  *
  282.  * Enable hooking functions in SSL module for hardware acceleration of
  283.  * individual records.
  284.  *
  285.  * Uncomment this macro to enable hooking functions.
  286. #define POLARSSL_SSL_HW_RECORD_ACCEL
  287.  */
  288.  
  289. /**
  290.  * \def POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
  291.  *
  292.  * Enable support for receiving and parsing SSLv2 Client Hello messages for the
  293.  * SSL Server module (POLARSSL_SSL_SRV_C)
  294.  *
  295.  * Comment this macro to disable support for SSLv2 Client Hello messages.
  296.  */
  297. #define POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
  298.  
  299. /**
  300.  * \def POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
  301.  *
  302.  * If set, the X509 parser will not break-off when parsing an X509 certificate
  303.  * and encountering an unknown critical extension.
  304.  *
  305.  * Uncomment to prevent an error.
  306.  *
  307. #define POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
  308.  */
  309.  
  310. /**
  311.  * \def POLARSSL_ZLIB_SUPPORT
  312.  *
  313.  * If set, the SSL/TLS module uses ZLIB to support compression and
  314.  * decompression of packet data.
  315.  *
  316.  * Used in: library/ssl_tls.c
  317.  *          library/ssl_cli.c
  318.  *          library/ssl_srv.c
  319.  *
  320.  * This feature requires zlib library and headers to be present.
  321.  *
  322.  * Uncomment to enable use of ZLIB
  323. #define POLARSSL_ZLIB_SUPPORT
  324.  */
  325. /* \} name */
  326.  
  327. /**
  328.  * \name SECTION: PolarSSL modules
  329.  *
  330.  * This section enables or disables entire modules in PolarSSL
  331.  * \{
  332.  */
  333.  
  334. /**
  335.  * \def POLARSSL_AES_C
  336.  *
  337.  * Enable the AES block cipher.
  338.  *
  339.  * Module:  library/aes.c
  340.  * Caller:  library/ssl_tls.c
  341.  *          library/pem.c
  342.  *          library/ctr_drbg.c
  343.  *
  344.  * This module enables the following ciphersuites (if other requisites are
  345.  * enabled as well):
  346.  *      TLS_RSA_WITH_AES_128_CBC_SHA
  347.  *      TLS_RSA_WITH_AES_256_CBC_SHA
  348.  *      TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  349.  *      TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  350.  *      TLS_RSA_WITH_AES_128_CBC_SHA256
  351.  *      TLS_RSA_WITH_AES_256_CBC_SHA256
  352.  *      TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  353.  *      TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  354.  *      TLS_RSA_WITH_AES_128_GCM_SHA256
  355.  *      TLS_RSA_WITH_AES_256_GCM_SHA384
  356.  *
  357.  * PEM uses AES for decrypting encrypted keys.
  358.  */
  359. #define POLARSSL_AES_C
  360.  
  361. /**
  362.  * \def POLARSSL_ARC4_C
  363.  *
  364.  * Enable the ARCFOUR stream cipher.
  365.  *
  366.  * Module:  library/arc4.c
  367.  * Caller:  library/ssl_tls.c
  368.  *
  369.  * This module enables the following ciphersuites:
  370.  *      TLS_RSA_WITH_RC4_128_MD5
  371.  *      TLS_RSA_WITH_RC4_128_SHA
  372.  */
  373. #define POLARSSL_ARC4_C
  374.  
  375. /**
  376.  * \def POLARSSL_ASN1_PARSE_C
  377.  *
  378.  * Enable the generic ASN1 parser.
  379.  *
  380.  * Module:  library/asn1.c
  381.  * Caller:  library/x509parse.c
  382.  */
  383. #define POLARSSL_ASN1_PARSE_C
  384.  
  385. /**
  386.  * \def POLARSSL_ASN1_WRITE_C
  387.  *
  388.  * Enable the generic ASN1 writer.
  389.  *
  390.  * Module:  library/asn1write.c
  391.  */
  392. #define POLARSSL_ASN1_WRITE_C
  393.  
  394. /**
  395.  * \def POLARSSL_BASE64_C
  396.  *
  397.  * Enable the Base64 module.
  398.  *
  399.  * Module:  library/base64.c
  400.  * Caller:  library/pem.c
  401.  *
  402.  * This module is required for PEM support (required by X.509).
  403.  */
  404. #define POLARSSL_BASE64_C
  405.  
  406. /**
  407.  * \def POLARSSL_BIGNUM_C
  408.  *
  409.  * Enable the multi-precision integer library.
  410.  *
  411.  * Module:  library/bignum.c
  412.  * Caller:  library/dhm.c
  413.  *          library/rsa.c
  414.  *          library/ssl_tls.c
  415.  *          library/x509parse.c
  416.  *
  417.  * This module is required for RSA and DHM support.
  418.  */
  419. #define POLARSSL_BIGNUM_C
  420.  
  421. /**
  422.  * \def POLARSSL_BLOWFISH_C
  423.  *
  424.  * Enable the Blowfish block cipher.
  425.  *
  426.  * Module:  library/blowfish.c
  427.  */
  428. #define POLARSSL_BLOWFISH_C
  429.  
  430. /**
  431.  * \def POLARSSL_CAMELLIA_C
  432.  *
  433.  * Enable the Camellia block cipher.
  434.  *
  435.  * Module:  library/camellia.c
  436.  * Caller:  library/ssl_tls.c
  437.  *
  438.  * This module enables the following ciphersuites (if other requisites are
  439.  * enabled as well):
  440.  *      TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
  441.  *      TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
  442.  *      TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
  443.  *      TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
  444.  *      TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
  445.  *      TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
  446.  *      TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  447.  *      TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
  448.  */
  449. #define POLARSSL_CAMELLIA_C
  450.  
  451. /**
  452.  * \def POLARSSL_CERTS_C
  453.  *
  454.  * Enable the test certificates.
  455.  *
  456.  * Module:  library/certs.c
  457.  * Caller:
  458.  *
  459.  * This module is used for testing (ssl_client/server).
  460.  */
  461. #define POLARSSL_CERTS_C
  462.  
  463. /**
  464.  * \def POLARSSL_CIPHER_C
  465.  *
  466.  * Enable the generic cipher layer.
  467.  *
  468.  * Module:  library/cipher.c
  469.  * Caller:
  470.  *
  471.  * Uncomment to enable generic cipher wrappers.
  472.  */
  473. #define POLARSSL_CIPHER_C
  474.  
  475. /**
  476.  * \def POLARSSL_CTR_DRBG_C
  477.  *
  478.  * Enable the CTR_DRBG AES-256-based random generator
  479.  *
  480.  * Module:  library/ctr_drbg.c
  481.  * Caller:
  482.  *
  483.  * Requires: POLARSSL_AES_C
  484.  *
  485.  * This module provides the CTR_DRBG AES-256 random number generator.
  486.  */
  487. #define POLARSSL_CTR_DRBG_C
  488.  
  489. /**
  490.  * \def POLARSSL_DEBUG_C
  491.  *
  492.  * Enable the debug functions.
  493.  *
  494.  * Module:  library/debug.c
  495.  * Caller:  library/ssl_cli.c
  496.  *          library/ssl_srv.c
  497.  *          library/ssl_tls.c
  498.  *
  499.  * This module provides debugging functions.
  500.  */
  501. #define POLARSSL_DEBUG_C
  502.  
  503. /**
  504.  * \def POLARSSL_DES_C
  505.  *
  506.  * Enable the DES block cipher.
  507.  *
  508.  * Module:  library/des.c
  509.  * Caller:  library/pem.c
  510.  *          library/ssl_tls.c
  511.  *
  512.  * This module enables the following ciphersuites (if other requisites are
  513.  * enabled as well):
  514.  *      TLS_RSA_WITH_3DES_EDE_CBC_SHA
  515.  *      TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  516.  *
  517.  * PEM uses DES/3DES for decrypting encrypted keys.
  518.  */
  519. #define POLARSSL_DES_C
  520.  
  521. /**
  522.  * \def POLARSSL_DHM_C
  523.  *
  524.  * Enable the Diffie-Hellman-Merkle key exchange.
  525.  *
  526.  * Module:  library/dhm.c
  527.  * Caller:  library/ssl_cli.c
  528.  *          library/ssl_srv.c
  529.  *
  530.  * This module enables the following ciphersuites (if other requisites are
  531.  * enabled as well):
  532.  *      TLS_DHE_RSA_WITH_DES_CBC_SHA
  533.  *      TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  534.  *      TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  535.  *      TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  536.  *      TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  537.  *      TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  538.  *      TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
  539.  *      TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
  540.  *      TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  541.  *      TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
  542.  *      TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  543.  *      TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  544.  */
  545. #define POLARSSL_DHM_C
  546.  
  547. /**
  548.  * \def POLARSSL_ENTROPY_C
  549.  *
  550.  * Enable the platform-specific entropy code.
  551.  *
  552.  * Module:  library/entropy.c
  553.  * Caller:
  554.  *
  555.  * Requires: POLARSSL_SHA4_C
  556.  *
  557.  * This module provides a generic entropy pool
  558.  */
  559. #define POLARSSL_ENTROPY_C
  560.  
  561. /**
  562.  * \def POLARSSL_ERROR_C
  563.  *
  564.  * Enable error code to error string conversion.
  565.  *
  566.  * Module:  library/error.c
  567.  * Caller:
  568.  *
  569.  * This module enables err_strerror().
  570.  */
  571. #define POLARSSL_ERROR_C
  572.  
  573. /**
  574.  * \def POLARSSL_GCM_C
  575.  *
  576.  * Enable the Galois/Counter Mode (GCM) for AES
  577.  *
  578.  * Module:  library/gcm.c
  579.  *
  580.  * Requires: POLARSSL_AES_C
  581.  *
  582.  * This module enables the following ciphersuites (if other requisites are
  583.  * enabled as well):
  584.  *      TLS_RSA_WITH_AES_128_GCM_SHA256
  585.  *      TLS_RSA_WITH_AES_256_GCM_SHA384
  586.  */
  587. #define POLARSSL_GCM_C
  588.  
  589. /**
  590.  * \def POLARSSL_HAVEGE_C
  591.  *
  592.  * Enable the HAVEGE random generator.
  593.  *
  594.  * Module:  library/havege.c
  595.  * Caller:
  596.  *
  597.  * Requires: POLARSSL_TIMING_C
  598.  *
  599.  * This module enables the HAVEGE random number generator.
  600.  */
  601. #define POLARSSL_HAVEGE_C
  602.  
  603. /**
  604.  * \def POLARSSL_MD_C
  605.  *
  606.  * Enable the generic message digest layer.
  607.  *
  608.  * Module:  library/md.c
  609.  * Caller:
  610.  *
  611.  * Uncomment to enable generic message digest wrappers.
  612.  */
  613. #define POLARSSL_MD_C
  614.  
  615. /**
  616.  * \def POLARSSL_MD2_C
  617.  *
  618.  * Enable the MD2 hash algorithm
  619.  *
  620.  * Module:  library/md2.c
  621.  * Caller:  library/x509parse.c
  622.  *
  623.  * Uncomment to enable support for (rare) MD2-signed X.509 certs.
  624.  *
  625. #define POLARSSL_MD2_C
  626.  */
  627.  
  628. /**
  629.  * \def POLARSSL_MD4_C
  630.  *
  631.  * Enable the MD4 hash algorithm
  632.  *
  633.  * Module:  library/md4.c
  634.  * Caller:  library/x509parse.c
  635.  *
  636.  * Uncomment to enable support for (rare) MD4-signed X.509 certs.
  637.  *
  638. #define POLARSSL_MD4_C
  639.  */
  640.  
  641. /**
  642.  * \def POLARSSL_MD5_C
  643.  *
  644.  * Enable the MD5 hash algorithm
  645.  *
  646.  * Module:  library/md5.c
  647.  * Caller:  library/pem.c
  648.  *          library/ssl_tls.c
  649.  *          library/x509parse.c
  650.  *
  651.  * This module is required for SSL/TLS and X.509.
  652.  * PEM uses MD5 for decrypting encrypted keys.
  653.  */
  654. #define POLARSSL_MD5_C
  655.  
  656. /**
  657.  * \def POLARSSL_NET_C
  658.  *
  659.  * Enable the TCP/IP networking routines.
  660.  *
  661.  * Module:  library/net.c
  662.  * Caller:
  663.  *
  664.  * This module provides TCP/IP networking routines.
  665.  */
  666. #define POLARSSL_NET_C
  667.  
  668. /**
  669.  * \def POLARSSL_PADLOCK_C
  670.  *
  671.  * Enable VIA Padlock support on x86.
  672.  *
  673.  * Module:  library/padlock.c
  674.  * Caller:  library/aes.c
  675.  *
  676.  * This modules adds support for the VIA PadLock on x86.
  677.  */
  678. #define POLARSSL_PADLOCK_C
  679.  
  680. /**
  681.  * \def POLARSSL_PBKDF2_C
  682.  *
  683.  * Enable PKCS#5 PBKDF2 key derivation function
  684.  *
  685.  * Module:  library/pbkdf2.c
  686.  *
  687.  * Requires: POLARSSL_MD_C
  688.  *
  689.  * This module adds support for the PKCS#5 PBKDF2 key derivation function.
  690. #define POLARSSL_PBKDF2_C
  691.  */
  692.  
  693. /**
  694.  * \def POLARSSL_PEM_C
  695.  *
  696.  * Enable PEM decoding
  697.  *
  698.  * Module:  library/pem.c
  699.  * Caller:  library/x509parse.c
  700.  *
  701.  * Requires: POLARSSL_BASE64_C
  702.  *
  703.  * This modules adds support for decoding PEM files.
  704.  */
  705. #define POLARSSL_PEM_C
  706.  
  707. /**
  708.  * \def POLARSSL_PKCS11_C
  709.  *
  710.  * Enable wrapper for PKCS#11 smartcard support.
  711.  *
  712.  * Module:  library/ssl_srv.c
  713.  * Caller:  library/ssl_cli.c
  714.  *          library/ssl_srv.c
  715.  *
  716.  * Requires: POLARSSL_SSL_TLS_C
  717.  *
  718.  * This module enables SSL/TLS PKCS #11 smartcard support.
  719.  * Requires the presence of the PKCS#11 helper library (libpkcs11-helper)
  720. #define POLARSSL_PKCS11_C
  721.  */
  722.  
  723. /**
  724.  * \def POLARSSL_RSA_C
  725.  *
  726.  * Enable the RSA public-key cryptosystem.
  727.  *
  728.  * Module:  library/rsa.c
  729.  * Caller:  library/ssl_cli.c
  730.  *          library/ssl_srv.c
  731.  *          library/ssl_tls.c
  732.  *          library/x509.c
  733.  *
  734.  * Requires: POLARSSL_BIGNUM_C
  735.  *
  736.  * This module is required for SSL/TLS and MD5-signed certificates.
  737.  */
  738. #define POLARSSL_RSA_C
  739.  
  740. /**
  741.  * \def POLARSSL_SHA1_C
  742.  *
  743.  * Enable the SHA1 cryptographic hash algorithm.
  744.  *
  745.  * Module:  library/sha1.c
  746.  * Caller:  library/ssl_cli.c
  747.  *          library/ssl_srv.c
  748.  *          library/ssl_tls.c
  749.  *          library/x509parse.c
  750.  *
  751.  * This module is required for SSL/TLS and SHA1-signed certificates.
  752.  */
  753. #define POLARSSL_SHA1_C
  754.  
  755. /**
  756.  * \def POLARSSL_SHA2_C
  757.  *
  758.  * Enable the SHA-224 and SHA-256 cryptographic hash algorithms.
  759.  *
  760.  * Module:  library/sha2.c
  761.  * Caller:  library/md_wrap.c
  762.  *          library/x509parse.c
  763.  *
  764.  * This module adds support for SHA-224 and SHA-256.
  765.  * This module is required for the SSL/TLS 1.2 PRF function.
  766.  */
  767. #define POLARSSL_SHA2_C
  768.  
  769. /**
  770.  * \def POLARSSL_SHA4_C
  771.  *
  772.  * Enable the SHA-384 and SHA-512 cryptographic hash algorithms.
  773.  *
  774.  * Module:  library/sha4.c
  775.  * Caller:  library/md_wrap.c
  776.  *          library/x509parse.c
  777.  *
  778.  * This module adds support for SHA-384 and SHA-512.
  779.  */
  780. #define POLARSSL_SHA4_C
  781.  
  782. /**
  783.  * \def POLARSSL_SSL_CACHE_C
  784.  *
  785.  * Enable simple SSL cache implementation.
  786.  *
  787.  * Module:  library/ssl_cache.c
  788.  * Caller:
  789.  *
  790.  * Requires: POLARSSL_SSL_CACHE_C
  791.  */
  792. #define POLARSSL_SSL_CACHE_C
  793.  
  794. /**
  795.  * \def POLARSSL_SSL_CLI_C
  796.  *
  797.  * Enable the SSL/TLS client code.
  798.  *
  799.  * Module:  library/ssl_cli.c
  800.  * Caller:
  801.  *
  802.  * Requires: POLARSSL_SSL_TLS_C
  803.  *
  804.  * This module is required for SSL/TLS client support.
  805.  */
  806. #define POLARSSL_SSL_CLI_C
  807.  
  808. /**
  809.  * \def POLARSSL_SSL_SRV_C
  810.  *
  811.  * Enable the SSL/TLS server code.
  812.  *
  813.  * Module:  library/ssl_srv.c
  814.  * Caller:
  815.  *
  816.  * Requires: POLARSSL_SSL_TLS_C
  817.  *
  818.  * This module is required for SSL/TLS server support.
  819.  */
  820. #define POLARSSL_SSL_SRV_C
  821.  
  822. /**
  823.  * \def POLARSSL_SSL_TLS_C
  824.  *
  825.  * Enable the generic SSL/TLS code.
  826.  *
  827.  * Module:  library/ssl_tls.c
  828.  * Caller:  library/ssl_cli.c
  829.  *          library/ssl_srv.c
  830.  *
  831.  * Requires: POLARSSL_MD5_C, POLARSSL_SHA1_C, POLARSSL_X509_PARSE_C
  832.  *
  833.  * This module is required for SSL/TLS.
  834.  */
  835. #define POLARSSL_SSL_TLS_C
  836.  
  837. /**
  838.  * \def POLARSSL_TIMING_C
  839.  *
  840.  * Enable the portable timing interface.
  841.  *
  842.  * Module:  library/timing.c
  843.  * Caller:  library/havege.c
  844.  *
  845.  * This module is used by the HAVEGE random number generator.
  846.  */
  847. #define POLARSSL_TIMING_C
  848.  
  849. /**
  850.  * \def POLARSSL_VERSION_C
  851.  *
  852.  * Enable run-time version information.
  853.  *
  854.  * Module:  library/version.c
  855.  *
  856.  * This module provides run-time version information.
  857.  */
  858. #define POLARSSL_VERSION_C
  859.  
  860. /**
  861.  * \def POLARSSL_X509_PARSE_C
  862.  *
  863.  * Enable X.509 certificate parsing.
  864.  *
  865.  * Module:  library/x509parse.c
  866.  * Caller:  library/ssl_cli.c
  867.  *          library/ssl_srv.c
  868.  *          library/ssl_tls.c
  869.  *
  870.  * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_BIGNUM_C, POLARSSL_RSA_C
  871.  *
  872.  * This module is required for X.509 certificate parsing.
  873.  */
  874. #define POLARSSL_X509_PARSE_C
  875.  
  876. /**
  877.  * \def POLARSSL_X509_WRITE_C
  878.  *
  879.  * Enable X.509 buffer writing.
  880.  *
  881.  * Module:  library/x509write.c
  882.  *
  883.  * Requires: POLARSSL_BIGNUM_C, POLARSSL_RSA_C
  884.  *
  885.  * This module is required for X.509 certificate request writing.
  886.  */
  887. #define POLARSSL_X509_WRITE_C
  888.  
  889. /**
  890.  * \def POLARSSL_XTEA_C
  891.  *
  892.  * Enable the XTEA block cipher.
  893.  *
  894.  * Module:  library/xtea.c
  895.  * Caller:
  896.  */
  897. #define POLARSSL_XTEA_C
  898. /* \} name */
  899.  
  900. #endif /* config.h */
  901.