wolfSSL SSL/TLS library, support up to TLS1.3
Dependents: CyaSSL-Twitter-OAuth4Tw Example-client-tls-cert TwitterReader TweetTest ... more
wolfssl/wolfcrypt/settings.h@2:28278596c2a2, 2015-07-21 (annotated)
- Committer:
- wolfSSL
- Date:
- Tue Jul 21 11:37:09 2015 +0000
- Revision:
- 2:28278596c2a2
- Parent:
- 1:e27310ce7654
- Child:
- 3:6f956bdb3073
better MBED option set
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wolfSSL | 0:d92f9d21154c | 1 | /* settings.h |
wolfSSL | 0:d92f9d21154c | 2 | * |
wolfSSL | 0:d92f9d21154c | 3 | * Copyright (C) 2006-2015 wolfSSL Inc. |
wolfSSL | 0:d92f9d21154c | 4 | * |
wolfSSL | 0:d92f9d21154c | 5 | * This file is part of wolfSSL. (formerly known as CyaSSL) |
wolfSSL | 0:d92f9d21154c | 6 | * |
wolfSSL | 0:d92f9d21154c | 7 | * wolfSSL is free software; you can redistribute it and/or modify |
wolfSSL | 0:d92f9d21154c | 8 | * it under the terms of the GNU General Public License as published by |
wolfSSL | 0:d92f9d21154c | 9 | * the Free Software Foundation; either version 2 of the License, or |
wolfSSL | 0:d92f9d21154c | 10 | * (at your option) any later version. |
wolfSSL | 0:d92f9d21154c | 11 | * |
wolfSSL | 0:d92f9d21154c | 12 | * wolfSSL is distributed in the hope that it will be useful, |
wolfSSL | 0:d92f9d21154c | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
wolfSSL | 0:d92f9d21154c | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
wolfSSL | 0:d92f9d21154c | 15 | * GNU General Public License for more details. |
wolfSSL | 0:d92f9d21154c | 16 | * |
wolfSSL | 0:d92f9d21154c | 17 | * You should have received a copy of the GNU General Public License |
wolfSSL | 0:d92f9d21154c | 18 | * along with this program; if not, write to the Free Software |
wolfSSL | 0:d92f9d21154c | 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
wolfSSL | 0:d92f9d21154c | 20 | */ |
wolfSSL | 0:d92f9d21154c | 21 | |
wolfSSL | 0:d92f9d21154c | 22 | /* Place OS specific preprocessor flags, defines, includes here, will be |
wolfSSL | 0:d92f9d21154c | 23 | included into every file because types.h includes it */ |
wolfSSL | 0:d92f9d21154c | 24 | |
wolfSSL | 0:d92f9d21154c | 25 | |
wolfSSL | 0:d92f9d21154c | 26 | #ifndef WOLF_CRYPT_SETTINGS_H |
wolfSSL | 0:d92f9d21154c | 27 | #define WOLF_CRYPT_SETTINGS_H |
wolfSSL | 0:d92f9d21154c | 28 | |
wolfSSL | 0:d92f9d21154c | 29 | #ifdef __cplusplus |
wolfSSL | 0:d92f9d21154c | 30 | extern "C" { |
wolfSSL | 0:d92f9d21154c | 31 | #endif |
wolfSSL | 0:d92f9d21154c | 32 | |
wolfSSL | 0:d92f9d21154c | 33 | /* Uncomment next line if using IPHONE */ |
wolfSSL | 0:d92f9d21154c | 34 | /* #define IPHONE */ |
wolfSSL | 0:d92f9d21154c | 35 | |
wolfSSL | 0:d92f9d21154c | 36 | /* Uncomment next line if using ThreadX */ |
wolfSSL | 0:d92f9d21154c | 37 | /* #define THREADX */ |
wolfSSL | 0:d92f9d21154c | 38 | |
wolfSSL | 0:d92f9d21154c | 39 | /* Uncomment next line if using Micrium ucOS */ |
wolfSSL | 0:d92f9d21154c | 40 | /* #define MICRIUM */ |
wolfSSL | 0:d92f9d21154c | 41 | |
wolfSSL | 0:d92f9d21154c | 42 | /* Uncomment next line if using Mbed */ |
wolfSSL | 0:d92f9d21154c | 43 | /* #define MBED */ |
wolfSSL | 0:d92f9d21154c | 44 | |
wolfSSL | 0:d92f9d21154c | 45 | /* Uncomment next line if using Microchip PIC32 ethernet starter kit */ |
wolfSSL | 0:d92f9d21154c | 46 | /* #define MICROCHIP_PIC32 */ |
wolfSSL | 0:d92f9d21154c | 47 | |
wolfSSL | 0:d92f9d21154c | 48 | /* Uncomment next line if using Microchip TCP/IP stack, version 5 */ |
wolfSSL | 0:d92f9d21154c | 49 | /* #define MICROCHIP_TCPIP_V5 */ |
wolfSSL | 0:d92f9d21154c | 50 | |
wolfSSL | 0:d92f9d21154c | 51 | /* Uncomment next line if using Microchip TCP/IP stack, version 6 or later */ |
wolfSSL | 0:d92f9d21154c | 52 | /* #define MICROCHIP_TCPIP */ |
wolfSSL | 0:d92f9d21154c | 53 | |
wolfSSL | 0:d92f9d21154c | 54 | /* Uncomment next line if using PIC32MZ Crypto Engine */ |
wolfSSL | 0:d92f9d21154c | 55 | /* #define WOLFSSL_MICROCHIP_PIC32MZ */ |
wolfSSL | 0:d92f9d21154c | 56 | |
wolfSSL | 0:d92f9d21154c | 57 | /* Uncomment next line if using FreeRTOS */ |
wolfSSL | 0:d92f9d21154c | 58 | /* #define FREERTOS */ |
wolfSSL | 0:d92f9d21154c | 59 | |
wolfSSL | 0:d92f9d21154c | 60 | /* Uncomment next line if using FreeRTOS Windows Simulator */ |
wolfSSL | 0:d92f9d21154c | 61 | /* #define FREERTOS_WINSIM */ |
wolfSSL | 0:d92f9d21154c | 62 | |
wolfSSL | 0:d92f9d21154c | 63 | /* Uncomment next line if using RTIP */ |
wolfSSL | 0:d92f9d21154c | 64 | /* #define EBSNET */ |
wolfSSL | 0:d92f9d21154c | 65 | |
wolfSSL | 0:d92f9d21154c | 66 | /* Uncomment next line if using lwip */ |
wolfSSL | 0:d92f9d21154c | 67 | /* #define WOLFSSL_LWIP */ |
wolfSSL | 0:d92f9d21154c | 68 | |
wolfSSL | 0:d92f9d21154c | 69 | /* Uncomment next line if building wolfSSL for a game console */ |
wolfSSL | 0:d92f9d21154c | 70 | /* #define WOLFSSL_GAME_BUILD */ |
wolfSSL | 0:d92f9d21154c | 71 | |
wolfSSL | 0:d92f9d21154c | 72 | /* Uncomment next line if building wolfSSL for LSR */ |
wolfSSL | 0:d92f9d21154c | 73 | /* #define WOLFSSL_LSR */ |
wolfSSL | 0:d92f9d21154c | 74 | |
wolfSSL | 0:d92f9d21154c | 75 | /* Uncomment next line if building wolfSSL for Freescale MQX/RTCS/MFS */ |
wolfSSL | 0:d92f9d21154c | 76 | /* #define FREESCALE_MQX */ |
wolfSSL | 0:d92f9d21154c | 77 | |
wolfSSL | 0:d92f9d21154c | 78 | /* Uncomment next line if using STM32F2 */ |
wolfSSL | 0:d92f9d21154c | 79 | /* #define WOLFSSL_STM32F2 */ |
wolfSSL | 0:d92f9d21154c | 80 | |
wolfSSL | 0:d92f9d21154c | 81 | /* Uncomment next line if using Comverge settings */ |
wolfSSL | 0:d92f9d21154c | 82 | /* #define COMVERGE */ |
wolfSSL | 0:d92f9d21154c | 83 | |
wolfSSL | 0:d92f9d21154c | 84 | /* Uncomment next line if using QL SEP settings */ |
wolfSSL | 0:d92f9d21154c | 85 | /* #define WOLFSSL_QL */ |
wolfSSL | 0:d92f9d21154c | 86 | |
wolfSSL | 0:d92f9d21154c | 87 | /* Uncomment next line if building for EROAD */ |
wolfSSL | 0:d92f9d21154c | 88 | /* #define WOLFSSL_EROAD */ |
wolfSSL | 0:d92f9d21154c | 89 | |
wolfSSL | 0:d92f9d21154c | 90 | /* Uncomment next line if building for IAR EWARM */ |
wolfSSL | 0:d92f9d21154c | 91 | /* #define WOLFSSL_IAR_ARM */ |
wolfSSL | 0:d92f9d21154c | 92 | |
wolfSSL | 0:d92f9d21154c | 93 | /* Uncomment next line if using TI-RTOS settings */ |
wolfSSL | 0:d92f9d21154c | 94 | /* #define WOLFSSL_TIRTOS */ |
wolfSSL | 0:d92f9d21154c | 95 | |
wolfSSL | 0:d92f9d21154c | 96 | /* Uncomment next line if building with PicoTCP */ |
wolfSSL | 0:d92f9d21154c | 97 | /* #define WOLFSSL_PICOTCP */ |
wolfSSL | 0:d92f9d21154c | 98 | |
wolfSSL | 0:d92f9d21154c | 99 | /* Uncomment next line if building for PicoTCP demo bundle */ |
wolfSSL | 0:d92f9d21154c | 100 | /* #define WOLFSSL_PICOTCP_DEMO */ |
wolfSSL | 0:d92f9d21154c | 101 | |
wolfSSL | 0:d92f9d21154c | 102 | /* Uncomment next line if building for uITRON4 */ |
wolfSSL | 0:d92f9d21154c | 103 | /* #define WOLFSSL_uITRON4 */ |
wolfSSL | 0:d92f9d21154c | 104 | |
wolfSSL | 0:d92f9d21154c | 105 | /* Uncomment next line if building for uT-Kernel */ |
wolfSSL | 0:d92f9d21154c | 106 | /* #define WOLFSSL_uTKERNEL2 */ |
wolfSSL | 0:d92f9d21154c | 107 | |
wolfSSL | 0:d92f9d21154c | 108 | /* Uncomment next line if using Max Strength build */ |
wolfSSL | 0:d92f9d21154c | 109 | /* #define WOLFSSL_MAX_STRENGTH */ |
wolfSSL | 0:d92f9d21154c | 110 | |
wolfSSL | 0:d92f9d21154c | 111 | /* Uncomment next line if building for VxWorks */ |
wolfSSL | 0:d92f9d21154c | 112 | /* #define WOLFSSL_VXWORKS */ |
wolfSSL | 0:d92f9d21154c | 113 | |
wolfSSL | 0:d92f9d21154c | 114 | #include <wolfssl/wolfcrypt/visibility.h> |
wolfSSL | 0:d92f9d21154c | 115 | |
wolfSSL | 0:d92f9d21154c | 116 | #define WOLFSSL_USER_SETTINGS |
wolfSSL | 0:d92f9d21154c | 117 | #ifdef WOLFSSL_USER_SETTINGS |
wolfSSL | 0:d92f9d21154c | 118 | #include <user_settings.h> |
wolfSSL | 0:d92f9d21154c | 119 | #endif |
wolfSSL | 0:d92f9d21154c | 120 | |
wolfSSL | 0:d92f9d21154c | 121 | |
wolfSSL | 0:d92f9d21154c | 122 | #ifdef IPHONE |
wolfSSL | 0:d92f9d21154c | 123 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 124 | #endif |
wolfSSL | 0:d92f9d21154c | 125 | |
wolfSSL | 0:d92f9d21154c | 126 | |
wolfSSL | 0:d92f9d21154c | 127 | #ifdef COMVERGE |
wolfSSL | 0:d92f9d21154c | 128 | #define THREADX |
wolfSSL | 0:d92f9d21154c | 129 | #define HAVE_NETX |
wolfSSL | 0:d92f9d21154c | 130 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 131 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 132 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 133 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 134 | #define NO_SHA512 |
wolfSSL | 0:d92f9d21154c | 135 | #define NO_DH |
wolfSSL | 0:d92f9d21154c | 136 | #define NO_DSA |
wolfSSL | 0:d92f9d21154c | 137 | #define NO_HC128 |
wolfSSL | 0:d92f9d21154c | 138 | #define NO_RSA |
wolfSSL | 0:d92f9d21154c | 139 | #define NO_SESSION_CACHE |
wolfSSL | 0:d92f9d21154c | 140 | #define HAVE_ECC |
wolfSSL | 0:d92f9d21154c | 141 | #endif |
wolfSSL | 0:d92f9d21154c | 142 | |
wolfSSL | 0:d92f9d21154c | 143 | |
wolfSSL | 0:d92f9d21154c | 144 | #ifdef THREADX |
wolfSSL | 0:d92f9d21154c | 145 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 146 | #endif |
wolfSSL | 0:d92f9d21154c | 147 | |
wolfSSL | 0:d92f9d21154c | 148 | #ifdef HAVE_NETX |
wolfSSL | 0:d92f9d21154c | 149 | #include "nx_api.h" |
wolfSSL | 0:d92f9d21154c | 150 | #endif |
wolfSSL | 0:d92f9d21154c | 151 | |
wolfSSL | 0:d92f9d21154c | 152 | #if defined(HAVE_LWIP_NATIVE) /* using LwIP native TCP socket */ |
wolfSSL | 0:d92f9d21154c | 153 | #define WOLFSSL_LWIP |
wolfSSL | 0:d92f9d21154c | 154 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 155 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 156 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 157 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 158 | #endif |
wolfSSL | 0:d92f9d21154c | 159 | |
wolfSSL | 0:d92f9d21154c | 160 | #if defined(WOLFSSL_IAR_ARM) |
wolfSSL | 0:d92f9d21154c | 161 | #define NO_MAIN_DRIVER |
wolfSSL | 0:d92f9d21154c | 162 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 163 | #define USE_CERT_BUFFERS_1024 |
wolfSSL | 0:d92f9d21154c | 164 | #define BENCH_EMBEDDED |
wolfSSL | 0:d92f9d21154c | 165 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 166 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 167 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 168 | #define BENCH_EMBEDDED |
wolfSSL | 0:d92f9d21154c | 169 | #endif |
wolfSSL | 0:d92f9d21154c | 170 | |
wolfSSL | 0:d92f9d21154c | 171 | #ifdef MICROCHIP_PIC32 |
wolfSSL | 0:d92f9d21154c | 172 | /* #define WOLFSSL_MICROCHIP_PIC32MZ */ |
wolfSSL | 0:d92f9d21154c | 173 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 174 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 175 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 176 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 177 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 178 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 179 | #define USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 180 | #define TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 181 | #define NEED_AES_TABLES |
wolfSSL | 0:d92f9d21154c | 182 | #endif |
wolfSSL | 0:d92f9d21154c | 183 | |
wolfSSL | 0:d92f9d21154c | 184 | #ifdef WOLFSSL_MICROCHIP_PIC32MZ |
wolfSSL | 0:d92f9d21154c | 185 | #define WOLFSSL_PIC32MZ_CE |
wolfSSL | 0:d92f9d21154c | 186 | #define WOLFSSL_PIC32MZ_CRYPT |
wolfSSL | 0:d92f9d21154c | 187 | #define HAVE_AES_ENGINE |
wolfSSL | 0:d92f9d21154c | 188 | #define WOLFSSL_PIC32MZ_RNG |
wolfSSL | 0:d92f9d21154c | 189 | /* #define WOLFSSL_PIC32MZ_HASH */ |
wolfSSL | 0:d92f9d21154c | 190 | #define WOLFSSL_AES_COUNTER |
wolfSSL | 0:d92f9d21154c | 191 | #define HAVE_AESGCM |
wolfSSL | 0:d92f9d21154c | 192 | #define NO_BIG_INT |
wolfSSL | 0:d92f9d21154c | 193 | #endif |
wolfSSL | 0:d92f9d21154c | 194 | |
wolfSSL | 0:d92f9d21154c | 195 | #ifdef MICROCHIP_TCPIP_V5 |
wolfSSL | 0:d92f9d21154c | 196 | /* include timer functions */ |
wolfSSL | 0:d92f9d21154c | 197 | #include "TCPIP Stack/TCPIP.h" |
wolfSSL | 0:d92f9d21154c | 198 | #endif |
wolfSSL | 0:d92f9d21154c | 199 | |
wolfSSL | 0:d92f9d21154c | 200 | #ifdef MICROCHIP_TCPIP |
wolfSSL | 0:d92f9d21154c | 201 | /* include timer, NTP functions */ |
wolfSSL | 0:d92f9d21154c | 202 | #ifdef MICROCHIP_MPLAB_HARMONY |
wolfSSL | 0:d92f9d21154c | 203 | #include "tcpip/tcpip.h" |
wolfSSL | 0:d92f9d21154c | 204 | #else |
wolfSSL | 0:d92f9d21154c | 205 | #include "system/system_services.h" |
wolfSSL | 0:d92f9d21154c | 206 | #include "tcpip/sntp.h" |
wolfSSL | 0:d92f9d21154c | 207 | #endif |
wolfSSL | 0:d92f9d21154c | 208 | #endif |
wolfSSL | 0:d92f9d21154c | 209 | |
wolfSSL | 0:d92f9d21154c | 210 | #ifdef MBED |
wolfSSL | 0:d92f9d21154c | 211 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 212 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 213 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 214 | #define WOLFSSL_CMSIS_RTOS |
wolfSSL | 0:d92f9d21154c | 215 | #endif |
wolfSSL | 0:d92f9d21154c | 216 | |
wolfSSL | 0:d92f9d21154c | 217 | #ifdef WOLFSSL_EROAD |
wolfSSL | 0:d92f9d21154c | 218 | #define FREESCALE_MQX |
wolfSSL | 0:d92f9d21154c | 219 | #define FREESCALE_MMCAU |
wolfSSL | 0:d92f9d21154c | 220 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 221 | #define NO_STDIO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 222 | #define WOLFSSL_LEANPSK |
wolfSSL | 0:d92f9d21154c | 223 | #define HAVE_NULL_CIPHER |
wolfSSL | 0:d92f9d21154c | 224 | #define NO_OLD_TLS |
wolfSSL | 0:d92f9d21154c | 225 | #define NO_ASN |
wolfSSL | 0:d92f9d21154c | 226 | #define NO_BIG_INT |
wolfSSL | 0:d92f9d21154c | 227 | #define NO_RSA |
wolfSSL | 0:d92f9d21154c | 228 | #define NO_DSA |
wolfSSL | 0:d92f9d21154c | 229 | #define NO_DH |
wolfSSL | 0:d92f9d21154c | 230 | #define NO_CERTS |
wolfSSL | 0:d92f9d21154c | 231 | #define NO_PWDBASED |
wolfSSL | 0:d92f9d21154c | 232 | #define NO_DES3 |
wolfSSL | 0:d92f9d21154c | 233 | #define NO_MD4 |
wolfSSL | 0:d92f9d21154c | 234 | #define NO_RC4 |
wolfSSL | 0:d92f9d21154c | 235 | #define NO_MD5 |
wolfSSL | 0:d92f9d21154c | 236 | #define NO_SESSION_CACHE |
wolfSSL | 0:d92f9d21154c | 237 | #define NO_MAIN_DRIVER |
wolfSSL | 0:d92f9d21154c | 238 | #endif |
wolfSSL | 0:d92f9d21154c | 239 | |
wolfSSL | 0:d92f9d21154c | 240 | #ifdef WOLFSSL_PICOTCP |
wolfSSL | 0:d92f9d21154c | 241 | #ifndef errno |
wolfSSL | 0:d92f9d21154c | 242 | #define errno pico_err |
wolfSSL | 0:d92f9d21154c | 243 | #endif |
wolfSSL | 0:d92f9d21154c | 244 | #include "pico_defines.h" |
wolfSSL | 0:d92f9d21154c | 245 | #include "pico_stack.h" |
wolfSSL | 0:d92f9d21154c | 246 | #include "pico_constants.h" |
wolfSSL | 0:d92f9d21154c | 247 | #include "pico_protocol.h" |
wolfSSL | 0:d92f9d21154c | 248 | #define CUSTOM_RAND_GENERATE pico_rand |
wolfSSL | 0:d92f9d21154c | 249 | #endif |
wolfSSL | 0:d92f9d21154c | 250 | |
wolfSSL | 0:d92f9d21154c | 251 | #ifdef WOLFSSL_PICOTCP_DEMO |
wolfSSL | 0:d92f9d21154c | 252 | #define WOLFSSL_STM32 |
wolfSSL | 0:d92f9d21154c | 253 | #define USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 254 | #define TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 255 | #define XMALLOC(s, h, type) PICO_ZALLOC((s)) |
wolfSSL | 0:d92f9d21154c | 256 | #define XFREE(p, h, type) PICO_FREE((p)) |
wolfSSL | 0:d92f9d21154c | 257 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 258 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 259 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 260 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 261 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 262 | #endif |
wolfSSL | 0:d92f9d21154c | 263 | |
wolfSSL | 0:d92f9d21154c | 264 | #ifdef FREERTOS_WINSIM |
wolfSSL | 0:d92f9d21154c | 265 | #define FREERTOS |
wolfSSL | 0:d92f9d21154c | 266 | #define USE_WINDOWS_API |
wolfSSL | 0:d92f9d21154c | 267 | #endif |
wolfSSL | 0:d92f9d21154c | 268 | |
wolfSSL | 0:d92f9d21154c | 269 | |
wolfSSL | 0:d92f9d21154c | 270 | #ifdef WOLFSSL_VXWORKS |
wolfSSL | 0:d92f9d21154c | 271 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 272 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 273 | #endif |
wolfSSL | 0:d92f9d21154c | 274 | |
wolfSSL | 0:d92f9d21154c | 275 | |
wolfSSL | 0:d92f9d21154c | 276 | /* Micrium will use Visual Studio for compilation but not the Win32 API */ |
wolfSSL | 0:d92f9d21154c | 277 | #if defined(_WIN32) && !defined(MICRIUM) && !defined(FREERTOS) \ |
wolfSSL | 0:d92f9d21154c | 278 | && !defined(EBSNET) && !defined(WOLFSSL_EROAD) |
wolfSSL | 0:d92f9d21154c | 279 | #define USE_WINDOWS_API |
wolfSSL | 0:d92f9d21154c | 280 | #endif |
wolfSSL | 0:d92f9d21154c | 281 | |
wolfSSL | 0:d92f9d21154c | 282 | |
wolfSSL | 0:d92f9d21154c | 283 | #if defined(WOLFSSL_LEANPSK) && !defined(XMALLOC_USER) |
wolfSSL | 0:d92f9d21154c | 284 | #include <stdlib.h> |
wolfSSL | 0:d92f9d21154c | 285 | #define XMALLOC(s, h, type) malloc((s)) |
wolfSSL | 0:d92f9d21154c | 286 | #define XFREE(p, h, type) free((p)) |
wolfSSL | 0:d92f9d21154c | 287 | #define XREALLOC(p, n, h, t) realloc((p), (n)) |
wolfSSL | 0:d92f9d21154c | 288 | #endif |
wolfSSL | 0:d92f9d21154c | 289 | |
wolfSSL | 0:d92f9d21154c | 290 | #if defined(XMALLOC_USER) && defined(SSN_BUILDING_LIBYASSL) |
wolfSSL | 0:d92f9d21154c | 291 | #undef XMALLOC |
wolfSSL | 0:d92f9d21154c | 292 | #define XMALLOC yaXMALLOC |
wolfSSL | 0:d92f9d21154c | 293 | #undef XFREE |
wolfSSL | 0:d92f9d21154c | 294 | #define XFREE yaXFREE |
wolfSSL | 0:d92f9d21154c | 295 | #undef XREALLOC |
wolfSSL | 0:d92f9d21154c | 296 | #define XREALLOC yaXREALLOC |
wolfSSL | 0:d92f9d21154c | 297 | #endif |
wolfSSL | 0:d92f9d21154c | 298 | |
wolfSSL | 0:d92f9d21154c | 299 | |
wolfSSL | 0:d92f9d21154c | 300 | #ifdef FREERTOS |
wolfSSL | 0:d92f9d21154c | 301 | #ifndef NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 302 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 303 | #endif |
wolfSSL | 0:d92f9d21154c | 304 | #ifndef HAVE_SHA512 |
wolfSSL | 0:d92f9d21154c | 305 | #ifndef NO_SHA512 |
wolfSSL | 0:d92f9d21154c | 306 | #define NO_SHA512 |
wolfSSL | 0:d92f9d21154c | 307 | #endif |
wolfSSL | 0:d92f9d21154c | 308 | #endif |
wolfSSL | 0:d92f9d21154c | 309 | #ifndef HAVE_DH |
wolfSSL | 0:d92f9d21154c | 310 | #ifndef NO_DH |
wolfSSL | 0:d92f9d21154c | 311 | #define NO_DH |
wolfSSL | 0:d92f9d21154c | 312 | #endif |
wolfSSL | 0:d92f9d21154c | 313 | #endif |
wolfSSL | 0:d92f9d21154c | 314 | #ifndef NO_DSA |
wolfSSL | 0:d92f9d21154c | 315 | #define NO_DSA |
wolfSSL | 0:d92f9d21154c | 316 | #endif |
wolfSSL | 0:d92f9d21154c | 317 | #ifndef NO_HC128 |
wolfSSL | 0:d92f9d21154c | 318 | #define NO_HC128 |
wolfSSL | 0:d92f9d21154c | 319 | #endif |
wolfSSL | 0:d92f9d21154c | 320 | |
wolfSSL | 0:d92f9d21154c | 321 | #ifndef SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 322 | #include "FreeRTOS.h" |
wolfSSL | 0:d92f9d21154c | 323 | #include "semphr.h" |
wolfSSL | 0:d92f9d21154c | 324 | #endif |
wolfSSL | 0:d92f9d21154c | 325 | #endif |
wolfSSL | 0:d92f9d21154c | 326 | |
wolfSSL | 0:d92f9d21154c | 327 | #ifdef WOLFSSL_TIRTOS |
wolfSSL | 0:d92f9d21154c | 328 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 329 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 330 | #define NO_WOLFSSL_DIR |
wolfSSL | 0:d92f9d21154c | 331 | #define USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 332 | #define TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 333 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 334 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 335 | #define USE_CERT_BUFFERS_2048 |
wolfSSL | 0:d92f9d21154c | 336 | #define NO_ERROR_STRINGS |
wolfSSL | 0:d92f9d21154c | 337 | #define USER_TIME |
wolfSSL | 0:d92f9d21154c | 338 | |
wolfSSL | 0:d92f9d21154c | 339 | #ifdef __IAR_SYSTEMS_ICC__ |
wolfSSL | 0:d92f9d21154c | 340 | #pragma diag_suppress=Pa089 |
wolfSSL | 0:d92f9d21154c | 341 | #elif !defined(__GNUC__) |
wolfSSL | 0:d92f9d21154c | 342 | /* Suppress the sslpro warning */ |
wolfSSL | 0:d92f9d21154c | 343 | #pragma diag_suppress=11 |
wolfSSL | 0:d92f9d21154c | 344 | #endif |
wolfSSL | 0:d92f9d21154c | 345 | |
wolfSSL | 0:d92f9d21154c | 346 | #include <ti/sysbios/hal/Seconds.h> |
wolfSSL | 0:d92f9d21154c | 347 | #endif |
wolfSSL | 0:d92f9d21154c | 348 | |
wolfSSL | 0:d92f9d21154c | 349 | #ifdef EBSNET |
wolfSSL | 0:d92f9d21154c | 350 | #include "rtip.h" |
wolfSSL | 0:d92f9d21154c | 351 | |
wolfSSL | 0:d92f9d21154c | 352 | /* #define DEBUG_WOLFSSL */ |
wolfSSL | 0:d92f9d21154c | 353 | #define NO_WOLFSSL_DIR /* tbd */ |
wolfSSL | 0:d92f9d21154c | 354 | |
wolfSSL | 0:d92f9d21154c | 355 | #if (POLLOS) |
wolfSSL | 0:d92f9d21154c | 356 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 357 | #endif |
wolfSSL | 0:d92f9d21154c | 358 | |
wolfSSL | 0:d92f9d21154c | 359 | #if (RTPLATFORM) |
wolfSSL | 0:d92f9d21154c | 360 | #if (!RTP_LITTLE_ENDIAN) |
wolfSSL | 0:d92f9d21154c | 361 | #define BIG_ENDIAN_ORDER |
wolfSSL | 0:d92f9d21154c | 362 | #endif |
wolfSSL | 0:d92f9d21154c | 363 | #else |
wolfSSL | 0:d92f9d21154c | 364 | #if (!KS_LITTLE_ENDIAN) |
wolfSSL | 0:d92f9d21154c | 365 | #define BIG_ENDIAN_ORDER |
wolfSSL | 0:d92f9d21154c | 366 | #endif |
wolfSSL | 0:d92f9d21154c | 367 | #endif |
wolfSSL | 0:d92f9d21154c | 368 | |
wolfSSL | 0:d92f9d21154c | 369 | #if (WINMSP3) |
wolfSSL | 0:d92f9d21154c | 370 | #undef SIZEOF_LONG |
wolfSSL | 0:d92f9d21154c | 371 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 372 | #else |
wolfSSL | 0:d92f9d21154c | 373 | #sslpro: settings.h - please implement SIZEOF_LONG and SIZEOF_LONG_LONG |
wolfSSL | 0:d92f9d21154c | 374 | #endif |
wolfSSL | 0:d92f9d21154c | 375 | |
wolfSSL | 0:d92f9d21154c | 376 | #define XMALLOC(s, h, type) ((void *)rtp_malloc((s), SSL_PRO_MALLOC)) |
wolfSSL | 0:d92f9d21154c | 377 | #define XFREE(p, h, type) (rtp_free(p)) |
wolfSSL | 0:d92f9d21154c | 378 | #define XREALLOC(p, n, h, t) realloc((p), (n)) |
wolfSSL | 0:d92f9d21154c | 379 | |
wolfSSL | 0:d92f9d21154c | 380 | #endif /* EBSNET */ |
wolfSSL | 0:d92f9d21154c | 381 | |
wolfSSL | 0:d92f9d21154c | 382 | #ifdef WOLFSSL_GAME_BUILD |
wolfSSL | 0:d92f9d21154c | 383 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 384 | #if defined(__PPU) || defined(__XENON) |
wolfSSL | 0:d92f9d21154c | 385 | #define BIG_ENDIAN_ORDER |
wolfSSL | 0:d92f9d21154c | 386 | #endif |
wolfSSL | 0:d92f9d21154c | 387 | #endif |
wolfSSL | 0:d92f9d21154c | 388 | |
wolfSSL | 0:d92f9d21154c | 389 | #ifdef WOLFSSL_LSR |
wolfSSL | 0:d92f9d21154c | 390 | #define HAVE_WEBSERVER |
wolfSSL | 0:d92f9d21154c | 391 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 392 | #define WOLFSSL_LOW_MEMORY |
wolfSSL | 0:d92f9d21154c | 393 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 394 | #define NO_SHA512 |
wolfSSL | 0:d92f9d21154c | 395 | #define NO_DH |
wolfSSL | 0:d92f9d21154c | 396 | #define NO_DSA |
wolfSSL | 0:d92f9d21154c | 397 | #define NO_HC128 |
wolfSSL | 0:d92f9d21154c | 398 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 399 | #define NO_WOLFSSL_DIR |
wolfSSL | 0:d92f9d21154c | 400 | #define NO_RABBIT |
wolfSSL | 0:d92f9d21154c | 401 | #ifndef NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 402 | #define LSR_FS |
wolfSSL | 0:d92f9d21154c | 403 | #include "inc/hw_types.h" |
wolfSSL | 0:d92f9d21154c | 404 | #include "fs.h" |
wolfSSL | 0:d92f9d21154c | 405 | #endif |
wolfSSL | 0:d92f9d21154c | 406 | #define WOLFSSL_LWIP |
wolfSSL | 0:d92f9d21154c | 407 | #include <errno.h> /* for tcp errno */ |
wolfSSL | 0:d92f9d21154c | 408 | #define WOLFSSL_SAFERTOS |
wolfSSL | 0:d92f9d21154c | 409 | #if defined(__IAR_SYSTEMS_ICC__) |
wolfSSL | 0:d92f9d21154c | 410 | /* enum uses enum */ |
wolfSSL | 0:d92f9d21154c | 411 | #pragma diag_suppress=Pa089 |
wolfSSL | 0:d92f9d21154c | 412 | #endif |
wolfSSL | 0:d92f9d21154c | 413 | #endif |
wolfSSL | 0:d92f9d21154c | 414 | |
wolfSSL | 0:d92f9d21154c | 415 | #ifdef WOLFSSL_SAFERTOS |
wolfSSL | 0:d92f9d21154c | 416 | #ifndef SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 417 | #include "SafeRTOS/semphr.h" |
wolfSSL | 0:d92f9d21154c | 418 | #endif |
wolfSSL | 0:d92f9d21154c | 419 | |
wolfSSL | 0:d92f9d21154c | 420 | #include "SafeRTOS/heap.h" |
wolfSSL | 0:d92f9d21154c | 421 | #define XMALLOC(s, h, type) pvPortMalloc((s)) |
wolfSSL | 0:d92f9d21154c | 422 | #define XFREE(p, h, type) vPortFree((p)) |
wolfSSL | 0:d92f9d21154c | 423 | #define XREALLOC(p, n, h, t) pvPortRealloc((p), (n)) |
wolfSSL | 0:d92f9d21154c | 424 | #endif |
wolfSSL | 0:d92f9d21154c | 425 | |
wolfSSL | 0:d92f9d21154c | 426 | #ifdef WOLFSSL_LOW_MEMORY |
wolfSSL | 0:d92f9d21154c | 427 | #undef RSA_LOW_MEM |
wolfSSL | 0:d92f9d21154c | 428 | #define RSA_LOW_MEM |
wolfSSL | 0:d92f9d21154c | 429 | #undef WOLFSSL_SMALL_STACK |
wolfSSL | 0:d92f9d21154c | 430 | #define WOLFSSL_SMALL_STACK |
wolfSSL | 0:d92f9d21154c | 431 | #undef TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 432 | #define TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 433 | #endif |
wolfSSL | 0:d92f9d21154c | 434 | |
wolfSSL | 0:d92f9d21154c | 435 | #ifdef FREESCALE_MQX |
wolfSSL | 0:d92f9d21154c | 436 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 437 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 438 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 439 | #define NO_RABBIT |
wolfSSL | 0:d92f9d21154c | 440 | #define NO_WOLFSSL_DIR |
wolfSSL | 0:d92f9d21154c | 441 | #define USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 442 | #define TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 443 | #define FREESCALE_K70_RNGA |
wolfSSL | 0:d92f9d21154c | 444 | /* #define FREESCALE_K53_RNGB */ |
wolfSSL | 0:d92f9d21154c | 445 | #include "mqx.h" |
wolfSSL | 0:d92f9d21154c | 446 | #ifndef NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 447 | #include "mfs.h" |
wolfSSL | 0:d92f9d21154c | 448 | #include "fio.h" |
wolfSSL | 0:d92f9d21154c | 449 | #endif |
wolfSSL | 0:d92f9d21154c | 450 | #ifndef SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 451 | #include "mutex.h" |
wolfSSL | 0:d92f9d21154c | 452 | #endif |
wolfSSL | 0:d92f9d21154c | 453 | |
wolfSSL | 0:d92f9d21154c | 454 | #define XMALLOC(s, h, t) (void *)_mem_alloc_system((s)) |
wolfSSL | 0:d92f9d21154c | 455 | #define XFREE(p, h, t) {void* xp = (p); if ((xp)) _mem_free((xp));} |
wolfSSL | 0:d92f9d21154c | 456 | /* Note: MQX has no realloc, using fastmath above */ |
wolfSSL | 0:d92f9d21154c | 457 | #endif |
wolfSSL | 0:d92f9d21154c | 458 | |
wolfSSL | 0:d92f9d21154c | 459 | #ifdef WOLFSSL_STM32F2 |
wolfSSL | 0:d92f9d21154c | 460 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 461 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 462 | #define NO_WOLFSSL_DIR |
wolfSSL | 0:d92f9d21154c | 463 | #define NO_RABBIT |
wolfSSL | 0:d92f9d21154c | 464 | #define STM32F2_RNG |
wolfSSL | 0:d92f9d21154c | 465 | #define STM32F2_CRYPTO |
wolfSSL | 0:d92f9d21154c | 466 | #define KEIL_INTRINSICS |
wolfSSL | 0:d92f9d21154c | 467 | #endif |
wolfSSL | 0:d92f9d21154c | 468 | |
wolfSSL | 0:d92f9d21154c | 469 | #ifdef MICRIUM |
wolfSSL | 0:d92f9d21154c | 470 | |
wolfSSL | 0:d92f9d21154c | 471 | #include "stdlib.h" |
wolfSSL | 0:d92f9d21154c | 472 | #include "net_cfg.h" |
wolfSSL | 0:d92f9d21154c | 473 | #include "ssl_cfg.h" |
wolfSSL | 0:d92f9d21154c | 474 | #include "net_secure_os.h" |
wolfSSL | 0:d92f9d21154c | 475 | |
wolfSSL | 0:d92f9d21154c | 476 | #define WOLFSSL_TYPES |
wolfSSL | 0:d92f9d21154c | 477 | |
wolfSSL | 0:d92f9d21154c | 478 | typedef CPU_INT08U byte; |
wolfSSL | 0:d92f9d21154c | 479 | typedef CPU_INT16U word16; |
wolfSSL | 0:d92f9d21154c | 480 | typedef CPU_INT32U word32; |
wolfSSL | 0:d92f9d21154c | 481 | |
wolfSSL | 0:d92f9d21154c | 482 | #if (NET_SECURE_MGR_CFG_WORD_SIZE == CPU_WORD_SIZE_32) |
wolfSSL | 0:d92f9d21154c | 483 | #define SIZEOF_LONG 4 |
wolfSSL | 0:d92f9d21154c | 484 | #undef SIZEOF_LONG_LONG |
wolfSSL | 0:d92f9d21154c | 485 | #else |
wolfSSL | 0:d92f9d21154c | 486 | #undef SIZEOF_LONG |
wolfSSL | 0:d92f9d21154c | 487 | #define SIZEOF_LONG_LONG 8 |
wolfSSL | 0:d92f9d21154c | 488 | #endif |
wolfSSL | 0:d92f9d21154c | 489 | |
wolfSSL | 0:d92f9d21154c | 490 | #define STRING_USER |
wolfSSL | 0:d92f9d21154c | 491 | |
wolfSSL | 0:d92f9d21154c | 492 | #define XSTRLEN(pstr) ((CPU_SIZE_T)Str_Len((CPU_CHAR *)(pstr))) |
wolfSSL | 0:d92f9d21154c | 493 | #define XSTRNCPY(pstr_dest, pstr_src, len_max) \ |
wolfSSL | 0:d92f9d21154c | 494 | ((CPU_CHAR *)Str_Copy_N((CPU_CHAR *)(pstr_dest), \ |
wolfSSL | 0:d92f9d21154c | 495 | (CPU_CHAR *)(pstr_src), (CPU_SIZE_T)(len_max))) |
wolfSSL | 0:d92f9d21154c | 496 | #define XSTRNCMP(pstr_1, pstr_2, len_max) \ |
wolfSSL | 0:d92f9d21154c | 497 | ((CPU_INT16S)Str_Cmp_N((CPU_CHAR *)(pstr_1), \ |
wolfSSL | 0:d92f9d21154c | 498 | (CPU_CHAR *)(pstr_2), (CPU_SIZE_T)(len_max))) |
wolfSSL | 0:d92f9d21154c | 499 | #define XSTRSTR(pstr, pstr_srch) \ |
wolfSSL | 0:d92f9d21154c | 500 | ((CPU_CHAR *)Str_Str((CPU_CHAR *)(pstr), \ |
wolfSSL | 0:d92f9d21154c | 501 | (CPU_CHAR *)(pstr_srch))) |
wolfSSL | 0:d92f9d21154c | 502 | #define XMEMSET(pmem, data_val, size) \ |
wolfSSL | 0:d92f9d21154c | 503 | ((void)Mem_Set((void *)(pmem), (CPU_INT08U) (data_val), \ |
wolfSSL | 0:d92f9d21154c | 504 | (CPU_SIZE_T)(size))) |
wolfSSL | 0:d92f9d21154c | 505 | #define XMEMCPY(pdest, psrc, size) ((void)Mem_Copy((void *)(pdest), \ |
wolfSSL | 0:d92f9d21154c | 506 | (void *)(psrc), (CPU_SIZE_T)(size))) |
wolfSSL | 0:d92f9d21154c | 507 | #define XMEMCMP(pmem_1, pmem_2, size) \ |
wolfSSL | 0:d92f9d21154c | 508 | (((CPU_BOOLEAN)Mem_Cmp((void *)(pmem_1), (void *)(pmem_2), \ |
wolfSSL | 0:d92f9d21154c | 509 | (CPU_SIZE_T)(size))) ? DEF_NO : DEF_YES) |
wolfSSL | 0:d92f9d21154c | 510 | #define XMEMMOVE XMEMCPY |
wolfSSL | 0:d92f9d21154c | 511 | |
wolfSSL | 0:d92f9d21154c | 512 | #if (NET_SECURE_MGR_CFG_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 513 | #define MICRIUM_MALLOC |
wolfSSL | 0:d92f9d21154c | 514 | #define XMALLOC(s, h, type) ((void *)NetSecure_BlkGet((CPU_INT08U)(type), \ |
wolfSSL | 0:d92f9d21154c | 515 | (CPU_SIZE_T)(s), (void *)0)) |
wolfSSL | 0:d92f9d21154c | 516 | #define XFREE(p, h, type) (NetSecure_BlkFree((CPU_INT08U)(type), \ |
wolfSSL | 0:d92f9d21154c | 517 | (p), (void *)0)) |
wolfSSL | 0:d92f9d21154c | 518 | #define XREALLOC(p, n, h, t) realloc((p), (n)) |
wolfSSL | 0:d92f9d21154c | 519 | #endif |
wolfSSL | 0:d92f9d21154c | 520 | |
wolfSSL | 0:d92f9d21154c | 521 | #if (NET_SECURE_MGR_CFG_FS_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 522 | #undef NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 523 | #else |
wolfSSL | 0:d92f9d21154c | 524 | #define NO_FILESYSTEM |
wolfSSL | 0:d92f9d21154c | 525 | #endif |
wolfSSL | 0:d92f9d21154c | 526 | |
wolfSSL | 0:d92f9d21154c | 527 | #if (SSL_CFG_TRACE_LEVEL == WOLFSSL_TRACE_LEVEL_DBG) |
wolfSSL | 0:d92f9d21154c | 528 | #define DEBUG_WOLFSSL |
wolfSSL | 0:d92f9d21154c | 529 | #else |
wolfSSL | 0:d92f9d21154c | 530 | #undef DEBUG_WOLFSSL |
wolfSSL | 0:d92f9d21154c | 531 | #endif |
wolfSSL | 0:d92f9d21154c | 532 | |
wolfSSL | 0:d92f9d21154c | 533 | #if (SSL_CFG_OPENSSL_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 534 | #define OPENSSL_EXTRA |
wolfSSL | 0:d92f9d21154c | 535 | #else |
wolfSSL | 0:d92f9d21154c | 536 | #undef OPENSSL_EXTRA |
wolfSSL | 0:d92f9d21154c | 537 | #endif |
wolfSSL | 0:d92f9d21154c | 538 | |
wolfSSL | 0:d92f9d21154c | 539 | #if (SSL_CFG_MULTI_THREAD_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 540 | #undef SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 541 | #else |
wolfSSL | 0:d92f9d21154c | 542 | #define SINGLE_THREADED |
wolfSSL | 0:d92f9d21154c | 543 | #endif |
wolfSSL | 0:d92f9d21154c | 544 | |
wolfSSL | 0:d92f9d21154c | 545 | #if (SSL_CFG_DH_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 546 | #undef NO_DH |
wolfSSL | 0:d92f9d21154c | 547 | #else |
wolfSSL | 0:d92f9d21154c | 548 | #define NO_DH |
wolfSSL | 0:d92f9d21154c | 549 | #endif |
wolfSSL | 0:d92f9d21154c | 550 | |
wolfSSL | 0:d92f9d21154c | 551 | #if (SSL_CFG_DSA_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 552 | #undef NO_DSA |
wolfSSL | 0:d92f9d21154c | 553 | #else |
wolfSSL | 0:d92f9d21154c | 554 | #define NO_DSA |
wolfSSL | 0:d92f9d21154c | 555 | #endif |
wolfSSL | 0:d92f9d21154c | 556 | |
wolfSSL | 0:d92f9d21154c | 557 | #if (SSL_CFG_PSK_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 558 | #undef NO_PSK |
wolfSSL | 0:d92f9d21154c | 559 | #else |
wolfSSL | 0:d92f9d21154c | 560 | #define NO_PSK |
wolfSSL | 0:d92f9d21154c | 561 | #endif |
wolfSSL | 0:d92f9d21154c | 562 | |
wolfSSL | 0:d92f9d21154c | 563 | #if (SSL_CFG_3DES_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 564 | #undef NO_DES |
wolfSSL | 0:d92f9d21154c | 565 | #else |
wolfSSL | 0:d92f9d21154c | 566 | #define NO_DES |
wolfSSL | 0:d92f9d21154c | 567 | #endif |
wolfSSL | 0:d92f9d21154c | 568 | |
wolfSSL | 0:d92f9d21154c | 569 | #if (SSL_CFG_AES_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 570 | #undef NO_AES |
wolfSSL | 0:d92f9d21154c | 571 | #else |
wolfSSL | 0:d92f9d21154c | 572 | #define NO_AES |
wolfSSL | 0:d92f9d21154c | 573 | #endif |
wolfSSL | 0:d92f9d21154c | 574 | |
wolfSSL | 0:d92f9d21154c | 575 | #if (SSL_CFG_RC4_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 576 | #undef NO_RC4 |
wolfSSL | 0:d92f9d21154c | 577 | #else |
wolfSSL | 0:d92f9d21154c | 578 | #define NO_RC4 |
wolfSSL | 0:d92f9d21154c | 579 | #endif |
wolfSSL | 0:d92f9d21154c | 580 | |
wolfSSL | 0:d92f9d21154c | 581 | #if (SSL_CFG_RABBIT_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 582 | #undef NO_RABBIT |
wolfSSL | 0:d92f9d21154c | 583 | #else |
wolfSSL | 0:d92f9d21154c | 584 | #define NO_RABBIT |
wolfSSL | 0:d92f9d21154c | 585 | #endif |
wolfSSL | 0:d92f9d21154c | 586 | |
wolfSSL | 0:d92f9d21154c | 587 | #if (SSL_CFG_HC128_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 588 | #undef NO_HC128 |
wolfSSL | 0:d92f9d21154c | 589 | #else |
wolfSSL | 0:d92f9d21154c | 590 | #define NO_HC128 |
wolfSSL | 0:d92f9d21154c | 591 | #endif |
wolfSSL | 0:d92f9d21154c | 592 | |
wolfSSL | 0:d92f9d21154c | 593 | #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) |
wolfSSL | 0:d92f9d21154c | 594 | #define BIG_ENDIAN_ORDER |
wolfSSL | 0:d92f9d21154c | 595 | #else |
wolfSSL | 0:d92f9d21154c | 596 | #undef BIG_ENDIAN_ORDER |
wolfSSL | 0:d92f9d21154c | 597 | #define LITTLE_ENDIAN_ORDER |
wolfSSL | 0:d92f9d21154c | 598 | #endif |
wolfSSL | 0:d92f9d21154c | 599 | |
wolfSSL | 0:d92f9d21154c | 600 | #if (SSL_CFG_MD4_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 601 | #undef NO_MD4 |
wolfSSL | 0:d92f9d21154c | 602 | #else |
wolfSSL | 0:d92f9d21154c | 603 | #define NO_MD4 |
wolfSSL | 0:d92f9d21154c | 604 | #endif |
wolfSSL | 0:d92f9d21154c | 605 | |
wolfSSL | 0:d92f9d21154c | 606 | #if (SSL_CFG_WRITEV_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 607 | #undef NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 608 | #else |
wolfSSL | 0:d92f9d21154c | 609 | #define NO_WRITEV |
wolfSSL | 0:d92f9d21154c | 610 | #endif |
wolfSSL | 0:d92f9d21154c | 611 | |
wolfSSL | 0:d92f9d21154c | 612 | #if (SSL_CFG_USER_RNG_SEED_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 613 | #define NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 614 | #else |
wolfSSL | 0:d92f9d21154c | 615 | #undef NO_DEV_RANDOM |
wolfSSL | 0:d92f9d21154c | 616 | #endif |
wolfSSL | 0:d92f9d21154c | 617 | |
wolfSSL | 0:d92f9d21154c | 618 | #if (SSL_CFG_USER_IO_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 619 | #define WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 620 | #else |
wolfSSL | 0:d92f9d21154c | 621 | #undef WOLFSSL_USER_IO |
wolfSSL | 0:d92f9d21154c | 622 | #endif |
wolfSSL | 0:d92f9d21154c | 623 | |
wolfSSL | 0:d92f9d21154c | 624 | #if (SSL_CFG_DYNAMIC_BUFFERS_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 625 | #undef LARGE_STATIC_BUFFERS |
wolfSSL | 0:d92f9d21154c | 626 | #undef STATIC_CHUNKS_ONLY |
wolfSSL | 0:d92f9d21154c | 627 | #else |
wolfSSL | 0:d92f9d21154c | 628 | #define LARGE_STATIC_BUFFERS |
wolfSSL | 0:d92f9d21154c | 629 | #define STATIC_CHUNKS_ONLY |
wolfSSL | 0:d92f9d21154c | 630 | #endif |
wolfSSL | 0:d92f9d21154c | 631 | |
wolfSSL | 0:d92f9d21154c | 632 | #if (SSL_CFG_DER_LOAD_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 633 | #define WOLFSSL_DER_LOAD |
wolfSSL | 0:d92f9d21154c | 634 | #else |
wolfSSL | 0:d92f9d21154c | 635 | #undef WOLFSSL_DER_LOAD |
wolfSSL | 0:d92f9d21154c | 636 | #endif |
wolfSSL | 0:d92f9d21154c | 637 | |
wolfSSL | 0:d92f9d21154c | 638 | #if (SSL_CFG_DTLS_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 639 | #define WOLFSSL_DTLS |
wolfSSL | 0:d92f9d21154c | 640 | #else |
wolfSSL | 0:d92f9d21154c | 641 | #undef WOLFSSL_DTLS |
wolfSSL | 0:d92f9d21154c | 642 | #endif |
wolfSSL | 0:d92f9d21154c | 643 | |
wolfSSL | 0:d92f9d21154c | 644 | #if (SSL_CFG_CALLBACKS_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 645 | #define WOLFSSL_CALLBACKS |
wolfSSL | 0:d92f9d21154c | 646 | #else |
wolfSSL | 0:d92f9d21154c | 647 | #undef WOLFSSL_CALLBACKS |
wolfSSL | 0:d92f9d21154c | 648 | #endif |
wolfSSL | 0:d92f9d21154c | 649 | |
wolfSSL | 0:d92f9d21154c | 650 | #if (SSL_CFG_FAST_MATH_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 651 | #define USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 652 | #else |
wolfSSL | 0:d92f9d21154c | 653 | #undef USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 654 | #endif |
wolfSSL | 0:d92f9d21154c | 655 | |
wolfSSL | 0:d92f9d21154c | 656 | #if (SSL_CFG_TFM_TIMING_RESISTANT_EN == DEF_ENABLED) |
wolfSSL | 0:d92f9d21154c | 657 | #define TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 658 | #else |
wolfSSL | 0:d92f9d21154c | 659 | #undef TFM_TIMING_RESISTANT |
wolfSSL | 0:d92f9d21154c | 660 | #endif |
wolfSSL | 0:d92f9d21154c | 661 | |
wolfSSL | 0:d92f9d21154c | 662 | #endif /* MICRIUM */ |
wolfSSL | 0:d92f9d21154c | 663 | |
wolfSSL | 0:d92f9d21154c | 664 | |
wolfSSL | 0:d92f9d21154c | 665 | #ifdef WOLFSSL_QL |
wolfSSL | 0:d92f9d21154c | 666 | #ifndef WOLFSSL_SEP |
wolfSSL | 0:d92f9d21154c | 667 | #define WOLFSSL_SEP |
wolfSSL | 0:d92f9d21154c | 668 | #endif |
wolfSSL | 0:d92f9d21154c | 669 | #ifndef OPENSSL_EXTRA |
wolfSSL | 0:d92f9d21154c | 670 | #define OPENSSL_EXTRA |
wolfSSL | 0:d92f9d21154c | 671 | #endif |
wolfSSL | 0:d92f9d21154c | 672 | #ifndef SESSION_CERTS |
wolfSSL | 0:d92f9d21154c | 673 | #define SESSION_CERTS |
wolfSSL | 0:d92f9d21154c | 674 | #endif |
wolfSSL | 0:d92f9d21154c | 675 | #ifndef HAVE_AESCCM |
wolfSSL | 0:d92f9d21154c | 676 | #define HAVE_AESCCM |
wolfSSL | 0:d92f9d21154c | 677 | #endif |
wolfSSL | 0:d92f9d21154c | 678 | #ifndef ATOMIC_USER |
wolfSSL | 0:d92f9d21154c | 679 | #define ATOMIC_USER |
wolfSSL | 0:d92f9d21154c | 680 | #endif |
wolfSSL | 0:d92f9d21154c | 681 | #ifndef WOLFSSL_DER_LOAD |
wolfSSL | 0:d92f9d21154c | 682 | #define WOLFSSL_DER_LOAD |
wolfSSL | 0:d92f9d21154c | 683 | #endif |
wolfSSL | 0:d92f9d21154c | 684 | #ifndef KEEP_PEER_CERT |
wolfSSL | 0:d92f9d21154c | 685 | #define KEEP_PEER_CERT |
wolfSSL | 0:d92f9d21154c | 686 | #endif |
wolfSSL | 0:d92f9d21154c | 687 | #ifndef HAVE_ECC |
wolfSSL | 0:d92f9d21154c | 688 | #define HAVE_ECC |
wolfSSL | 0:d92f9d21154c | 689 | #endif |
wolfSSL | 0:d92f9d21154c | 690 | #ifndef SESSION_INDEX |
wolfSSL | 0:d92f9d21154c | 691 | #define SESSION_INDEX |
wolfSSL | 0:d92f9d21154c | 692 | #endif |
wolfSSL | 0:d92f9d21154c | 693 | #endif /* WOLFSSL_QL */ |
wolfSSL | 0:d92f9d21154c | 694 | |
wolfSSL | 0:d92f9d21154c | 695 | |
wolfSSL | 0:d92f9d21154c | 696 | #if !defined(XMALLOC_USER) && !defined(MICRIUM_MALLOC) && \ |
wolfSSL | 0:d92f9d21154c | 697 | !defined(WOLFSSL_LEANPSK) && !defined(NO_WOLFSSL_MEMORY) |
wolfSSL | 0:d92f9d21154c | 698 | #define USE_WOLFSSL_MEMORY |
wolfSSL | 0:d92f9d21154c | 699 | #endif |
wolfSSL | 0:d92f9d21154c | 700 | |
wolfSSL | 0:d92f9d21154c | 701 | |
wolfSSL | 0:d92f9d21154c | 702 | #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) |
wolfSSL | 0:d92f9d21154c | 703 | #undef KEEP_PEER_CERT |
wolfSSL | 0:d92f9d21154c | 704 | #define KEEP_PEER_CERT |
wolfSSL | 0:d92f9d21154c | 705 | #endif |
wolfSSL | 0:d92f9d21154c | 706 | |
wolfSSL | 0:d92f9d21154c | 707 | |
wolfSSL | 0:d92f9d21154c | 708 | /* stream ciphers except arc4 need 32bit alignment, intel ok without */ |
wolfSSL | 0:d92f9d21154c | 709 | #ifndef XSTREAM_ALIGN |
wolfSSL | 0:d92f9d21154c | 710 | #if defined(__x86_64__) || defined(__ia64__) || defined(__i386__) |
wolfSSL | 0:d92f9d21154c | 711 | #define NO_XSTREAM_ALIGN |
wolfSSL | 0:d92f9d21154c | 712 | #else |
wolfSSL | 0:d92f9d21154c | 713 | #define XSTREAM_ALIGN |
wolfSSL | 0:d92f9d21154c | 714 | #endif |
wolfSSL | 0:d92f9d21154c | 715 | #endif |
wolfSSL | 0:d92f9d21154c | 716 | |
wolfSSL | 0:d92f9d21154c | 717 | |
wolfSSL | 0:d92f9d21154c | 718 | /* FreeScale MMCAU hardware crypto has 4 byte alignment */ |
wolfSSL | 0:d92f9d21154c | 719 | #ifdef FREESCALE_MMCAU |
wolfSSL | 0:d92f9d21154c | 720 | #define WOLFSSL_MMCAU_ALIGNMENT 4 |
wolfSSL | 0:d92f9d21154c | 721 | #endif |
wolfSSL | 0:d92f9d21154c | 722 | |
wolfSSL | 0:d92f9d21154c | 723 | /* if using hardware crypto and have alignment requirements, specify the |
wolfSSL | 0:d92f9d21154c | 724 | requirement here. The record header of SSL/TLS will prvent easy alignment. |
wolfSSL | 0:d92f9d21154c | 725 | This hint tries to help as much as possible. */ |
wolfSSL | 0:d92f9d21154c | 726 | #ifndef WOLFSSL_GENERAL_ALIGNMENT |
wolfSSL | 0:d92f9d21154c | 727 | #ifdef WOLFSSL_AESNI |
wolfSSL | 0:d92f9d21154c | 728 | #define WOLFSSL_GENERAL_ALIGNMENT 16 |
wolfSSL | 0:d92f9d21154c | 729 | #elif defined(XSTREAM_ALIGN) |
wolfSSL | 0:d92f9d21154c | 730 | #define WOLFSSL_GENERAL_ALIGNMENT 4 |
wolfSSL | 0:d92f9d21154c | 731 | #elif defined(FREESCALE_MMCAU) |
wolfSSL | 0:d92f9d21154c | 732 | #define WOLFSSL_GENERAL_ALIGNMENT WOLFSSL_MMCAU_ALIGNMENT |
wolfSSL | 0:d92f9d21154c | 733 | #else |
wolfSSL | 0:d92f9d21154c | 734 | #define WOLFSSL_GENERAL_ALIGNMENT 0 |
wolfSSL | 0:d92f9d21154c | 735 | #endif |
wolfSSL | 0:d92f9d21154c | 736 | #endif |
wolfSSL | 0:d92f9d21154c | 737 | |
wolfSSL | 0:d92f9d21154c | 738 | #if defined(WOLFSSL_GENERAL_ALIGNMENT) && (WOLFSSL_GENERAL_ALIGNMENT > 0) |
wolfSSL | 0:d92f9d21154c | 739 | #if defined(_MSC_VER) |
wolfSSL | 0:d92f9d21154c | 740 | #define XGEN_ALIGN __declspec(align(WOLFSSL_GENERAL_ALIGNMENT)) |
wolfSSL | 0:d92f9d21154c | 741 | #elif defined(__GNUC__) |
wolfSSL | 0:d92f9d21154c | 742 | #define XGEN_ALIGN __attribute__((aligned(WOLFSSL_GENERAL_ALIGNMENT))) |
wolfSSL | 0:d92f9d21154c | 743 | #else |
wolfSSL | 0:d92f9d21154c | 744 | #define XGEN_ALIGN |
wolfSSL | 0:d92f9d21154c | 745 | #endif |
wolfSSL | 0:d92f9d21154c | 746 | #else |
wolfSSL | 0:d92f9d21154c | 747 | #define XGEN_ALIGN |
wolfSSL | 0:d92f9d21154c | 748 | #endif |
wolfSSL | 0:d92f9d21154c | 749 | |
wolfSSL | 0:d92f9d21154c | 750 | #ifdef HAVE_CRL |
wolfSSL | 0:d92f9d21154c | 751 | /* not widely supported yet */ |
wolfSSL | 0:d92f9d21154c | 752 | #undef NO_SKID |
wolfSSL | 0:d92f9d21154c | 753 | #define NO_SKID |
wolfSSL | 0:d92f9d21154c | 754 | #endif |
wolfSSL | 0:d92f9d21154c | 755 | |
wolfSSL | 0:d92f9d21154c | 756 | |
wolfSSL | 0:d92f9d21154c | 757 | #ifdef __INTEL_COMPILER |
wolfSSL | 0:d92f9d21154c | 758 | #pragma warning(disable:2259) /* explicit casts to smaller sizes, disable */ |
wolfSSL | 0:d92f9d21154c | 759 | #endif |
wolfSSL | 0:d92f9d21154c | 760 | |
wolfSSL | 0:d92f9d21154c | 761 | /* user can specify what curves they want with ECC_USER_CURVES otherwise |
wolfSSL | 0:d92f9d21154c | 762 | * all curves are on by default for now */ |
wolfSSL | 0:d92f9d21154c | 763 | #ifndef ECC_USER_CURVES |
wolfSSL | 0:d92f9d21154c | 764 | #ifndef HAVE_ALL_CURVES |
wolfSSL | 0:d92f9d21154c | 765 | #define HAVE_ALL_CURVES |
wolfSSL | 0:d92f9d21154c | 766 | #endif |
wolfSSL | 0:d92f9d21154c | 767 | #endif |
wolfSSL | 0:d92f9d21154c | 768 | |
wolfSSL | 0:d92f9d21154c | 769 | /* if desktop type system and fastmath increase default max bits */ |
wolfSSL | 0:d92f9d21154c | 770 | #ifdef WOLFSSL_X86_64_BUILD |
wolfSSL | 0:d92f9d21154c | 771 | #ifdef USE_FAST_MATH |
wolfSSL | 0:d92f9d21154c | 772 | #ifndef FP_MAX_BITS |
wolfSSL | 0:d92f9d21154c | 773 | #define FP_MAX_BITS 8192 |
wolfSSL | 0:d92f9d21154c | 774 | #endif |
wolfSSL | 0:d92f9d21154c | 775 | #endif |
wolfSSL | 0:d92f9d21154c | 776 | #endif |
wolfSSL | 0:d92f9d21154c | 777 | |
wolfSSL | 0:d92f9d21154c | 778 | /* If using the max strength build, ensure OLD TLS is disabled. */ |
wolfSSL | 0:d92f9d21154c | 779 | #ifdef WOLFSSL_MAX_STRENGTH |
wolfSSL | 0:d92f9d21154c | 780 | #undef NO_OLD_TLS |
wolfSSL | 0:d92f9d21154c | 781 | #define NO_OLD_TLS |
wolfSSL | 0:d92f9d21154c | 782 | #endif |
wolfSSL | 0:d92f9d21154c | 783 | |
wolfSSL | 0:d92f9d21154c | 784 | /* Place any other flags or defines here */ |
wolfSSL | 0:d92f9d21154c | 785 | |
wolfSSL | 0:d92f9d21154c | 786 | |
wolfSSL | 0:d92f9d21154c | 787 | #ifdef __cplusplus |
wolfSSL | 0:d92f9d21154c | 788 | } /* extern "C" */ |
wolfSSL | 0:d92f9d21154c | 789 | #endif |
wolfSSL | 0:d92f9d21154c | 790 | |
wolfSSL | 0:d92f9d21154c | 791 | #endif |
wolfSSL | 0:d92f9d21154c | 792 |