1/** 2 * \file config.h 3 * 4 * Based on XySSL: Copyright (C) 2006-2008 Christophe Devine 5 * 6 * Copyright (C) 2009 Paul Bakker <polarssl_maintainer at polarssl dot org> 7 * 8 * All rights reserved. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 14 * * Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * * Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in the 18 * documentation and/or other materials provided with the distribution. 19 * * Neither the names of PolarSSL or XySSL nor the names of its contributors 20 * may be used to endorse or promote products derived from this software 21 * without specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 26 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 29 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 * 35 * This set of compile-time options may be used to enable 36 * or disable features selectively, and reduce the global 37 * memory footprint. 38 */ 39#ifndef POLARSSL_CONFIG_H 40#define POLARSSL_CONFIG_H 41 42#ifndef _CRT_SECURE_NO_DEPRECATE 43#define _CRT_SECURE_NO_DEPRECATE 1 44#endif 45 46/* 47 * Uncomment if native integers are 8-bit wide. 48 * 49#define POLARSSL_HAVE_INT8 50 */ 51 52/* 53 * Uncomment if native integers are 16-bit wide. 54 * 55#define POLARSSL_HAVE_INT16 56 */ 57 58/* 59 * Uncomment if the compiler supports long long. 60#define POLARSSL_HAVE_LONGLONG 61 */ 62 63 64/* 65 * Uncomment to enable the use of assembly code. 66 */ 67/* #define POLARSSL_HAVE_ASM */ 68 69/* 70 * Uncomment if the CPU supports SSE2 (IA-32 specific). 71 * 72#define POLARSSL_HAVE_SSE2 73 */ 74 75/* 76 * Enable all SSL/TLS debugging messages. 77 */ 78#define POLARSSL_DEBUG_MSG 79 80/* 81 * Enable the checkup functions (*_self_test). 82 */ 83#define POLARSSL_SELF_TEST 84 85/* 86 * Enable the prime-number generation code. 87 */ 88#define POLARSSL_GENPRIME 89 90/* 91 * Uncomment this macro to store the AES tables in ROM. 92 * 93#define POLARSSL_AES_ROM_TABLES 94 */ 95 96/* 97 * Module: library/aes.c 98 * Caller: library/ssl_tls.c 99 * 100 * This module enables the following ciphersuites: 101 * SSL_RSA_AES_128_SHA 102 * SSL_RSA_AES_256_SHA 103 * SSL_EDH_RSA_AES_256_SHA 104 */ 105#define POLARSSL_AES_C 106 107/* 108 * Module: library/arc4.c 109 * Caller: library/ssl_tls.c 110 * 111 * This module enables the following ciphersuites: 112 * SSL_RSA_RC4_128_MD5 113 * SSL_RSA_RC4_128_SHA 114 */ 115#define POLARSSL_ARC4_C 116 117/* 118 * Module: library/base64.c 119 * Caller: library/x509parse.c 120 * 121 * This module is required for X.509 support. 122 */ 123#define POLARSSL_BASE64_C 124 125/* 126 * Module: library/bignum.c 127 * Caller: library/dhm.c 128 * library/rsa.c 129 * library/ssl_tls.c 130 * library/x509parse.c 131 * 132 * This module is required for RSA and DHM support. 133 */ 134#define POLARSSL_BIGNUM_C 135 136/* 137 * Module: library/camellia.c 138 * Caller: 139 * 140 * This module enabled the following cipher suites: 141 */ 142#define POLARSSL_CAMELLIA_C 143 144/* 145 * Module: library/certs.c 146 * Caller: 147 * 148 * This module is used for testing (ssl_client/server). 149 */ 150#define POLARSSL_CERTS_C 151 152/* 153 * Module: library/debug.c 154 * Caller: library/ssl_cli.c 155 * library/ssl_srv.c 156 * library/ssl_tls.c 157 * 158 * This module provides debugging functions. 159 */ 160#define POLARSSL_DEBUG_C 161 162/* 163 * Module: library/des.c 164 * Caller: library/ssl_tls.c 165 * 166 * This module enables the following ciphersuites: 167 * SSL_RSA_DES_168_SHA 168 * SSL_EDH_RSA_DES_168_SHA 169 */ 170#define POLARSSL_DES_C 171 172/* 173 * Module: library/dhm.c 174 * Caller: library/ssl_cli.c 175 * library/ssl_srv.c 176 * 177 * This module enables the following ciphersuites: 178 * SSL_EDH_RSA_DES_168_SHA 179 * SSL_EDH_RSA_AES_256_SHA 180 */ 181#define POLARSSL_DHM_C 182 183/* 184 * Module: library/havege.c 185 * Caller: 186 * 187 * This module enables the HAVEGE random number generator. 188 */ 189#define POLARSSL_HAVEGE_C 190 191/* 192 * Module: library/md2.c 193 * Caller: library/x509parse.c 194 * 195 * Uncomment to enable support for (rare) MD2-signed X.509 certs. 196 * 197#define POLARSSL_MD2_C 198 */ 199 200/* 201 * Module: library/md4.c 202 * Caller: library/x509parse.c 203 * 204 * Uncomment to enable support for (rare) MD4-signed X.509 certs. 205 * 206#define POLARSSL_MD4_C 207 */ 208 209/* 210 * Module: library/md5.c 211 * Caller: library/ssl_tls.c 212 * library/x509parse.c 213 * 214 * This module is required for SSL/TLS and X.509. 215 */ 216#define POLARSSL_MD5_C 217 218/* 219 * Module: library/net.c 220 * Caller: 221 * 222 * This module provides TCP/IP networking routines. 223 */ 224#define POLARSSL_NET_C 225 226/* 227 * Module: library/padlock.c 228 * Caller: library/aes.c 229 * 230 * This modules adds support for the VIA PadLock on x86. 231 */ 232#define POLARSSL_PADLOCK_C 233 234/* 235 * Module: library/rsa.c 236 * Caller: library/ssl_cli.c 237 * library/ssl_srv.c 238 * library/ssl_tls.c 239 * library/x509.c 240 * 241 * This module is required for SSL/TLS and MD5-signed certificates. 242 */ 243#define POLARSSL_RSA_C 244 245/* 246 * Module: library/sha1.c 247 * Caller: library/ssl_cli.c 248 * library/ssl_srv.c 249 * library/ssl_tls.c 250 * library/x509parse.c 251 * 252 * This module is required for SSL/TLS and SHA1-signed certificates. 253 */ 254#define POLARSSL_SHA1_C 255 256/* 257 * Module: library/sha2.c 258 * Caller: 259 * 260 * This module adds support for SHA-224 and SHA-256. 261 */ 262#define POLARSSL_SHA2_C 263 264/* 265 * Module: library/sha4.c 266 * Caller: 267 * 268 * This module adds support for SHA-384 and SHA-512. 269 */ 270#define POLARSSL_SHA4_C 271 272/* 273 * Module: library/ssl_cli.c 274 * Caller: 275 * 276 * This module is required for SSL/TLS client support. 277 */ 278#define POLARSSL_SSL_CLI_C 279 280/* 281 * Module: library/ssl_srv.c 282 * Caller: 283 * 284 * This module is required for SSL/TLS server support. 285 */ 286#define POLARSSL_SSL_SRV_C 287 288/* 289 * Module: library/ssl_tls.c 290 * Caller: library/ssl_cli.c 291 * library/ssl_srv.c 292 * 293 * This module is required for SSL/TLS. 294 */ 295#define POLARSSL_SSL_TLS_C 296 297/* 298 * Module: library/timing.c 299 * Caller: library/havege.c 300 * 301 * This module is used by the HAVEGE random number generator. 302 */ 303#define POLARSSL_TIMING_C 304 305/* 306 * Module: library/x509parse.c 307 * Caller: library/ssl_cli.c 308 * library/ssl_srv.c 309 * library/ssl_tls.c 310 * 311 * This module is required for X.509 certificate parsing. 312 */ 313#define POLARSSL_X509_PARSE_C 314 315/* 316 * Module: library/x509_write.c 317 * Caller: 318 * 319 * This module is required for X.509 certificate writing. 320 */ 321#define POLARSSL_X509_WRITE_C 322 323/* 324 * Module: library/xtea.c 325 * Caller: 326 */ 327#define POLARSSL_XTEA_C 328 329#endif /* config.h */ 330