Annotation of embedaddon/curl/projects/wolfssl_options.h, revision 1.1
1.1 ! misho 1: /***************************************************************************
! 2: * _ _ ____ _
! 3: * Project ___| | | | _ \| |
! 4: * / __| | | | |_) | |
! 5: * | (__| |_| | _ <| |___
! 6: * \___|\___/|_| \_\_____|
! 7: *
! 8: * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
! 9: *
! 10: * This software is licensed as described in the file COPYING, which
! 11: * you should have received as part of this distribution. The terms
! 12: * are also available at https://curl.haxx.se/docs/copyright.html.
! 13: *
! 14: * You may opt to use, copy, modify, merge, publish, distribute and/or sell
! 15: * copies of the Software, and permit persons to whom the Software is
! 16: * furnished to do so, under the terms of the COPYING file.
! 17: *
! 18: * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
! 19: * KIND, either express or implied.
! 20: *
! 21: ***************************************************************************/
! 22: /*
! 23: By default wolfSSL has a very conservative configuration that can result in
! 24: connections to servers failing due to certificate or algorithm problems.
! 25: To remedy this issue for libcurl I've generated this options file that
! 26: build-wolfssl will copy to the wolfSSL include directories and will result in
! 27: maximum compatibility.
! 28:
! 29: These are the configure options that were used to build wolfSSL v3.11.0 in
! 30: mingw and generate the options in this file:
! 31:
! 32: C_EXTRA_FLAGS="\
! 33: -Wno-attributes \
! 34: -Wno-unused-but-set-variable \
! 35: -DFP_MAX_BITS=16384 \
! 36: -DTFM_TIMING_RESISTANT \
! 37: -DWOLFSSL_STATIC_DH \
! 38: -DWOLFSSL_STATIC_RSA \
! 39: " \
! 40: ./configure --prefix=/usr/local \
! 41: --disable-jobserver \
! 42: --enable-aesgcm \
! 43: --enable-alpn \
! 44: --enable-certgen \
! 45: --enable-des3 \
! 46: --enable-dh \
! 47: --enable-dsa \
! 48: --enable-ecc \
! 49: --enable-eccshamir \
! 50: --enable-fastmath \
! 51: --enable-opensslextra \
! 52: --enable-ripemd \
! 53: --enable-sessioncerts \
! 54: --enable-sha512 \
! 55: --enable-sni \
! 56: --enable-sslv3 \
! 57: --enable-supportedcurves \
! 58: --enable-testcert \
! 59: > config.out 2>&1
! 60:
! 61: Two generated options HAVE_THREAD_LS and _POSIX_THREADS were removed since they
! 62: are inapplicable for our Visual Studio build. Currently thread local storage is
! 63: only used by the Fixed Point cache ECC which we're not enabling. However even
! 64: if we later may decide to enable the cache it will fallback on mutexes when
! 65: thread local storage is not available. wolfSSL is using __declspec(thread) to
! 66: create the thread local storage and that could be a problem for LoadLibrary.
! 67:
! 68: Regarding the options that were added via C_EXTRA_FLAGS:
! 69:
! 70: FP_MAX_BITS=16384
! 71: https://www.yassl.com/forums/topic423-cacertorgs-ca-cert-verify-failed-but-withdisablefastmath-it-works.html
! 72: "Since root.crt uses a 4096-bit RSA key, you'll need to increase the fastmath
! 73: buffer size. You can do this using the define:
! 74: FP_MAX_BITS and setting it to 8192."
! 75:
! 76: TFM_TIMING_RESISTANT
! 77: https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-2-building-wolfssl.html
! 78: From section 2.4.5 Increasing Performance, USE_FAST_MATH:
! 79: "Because the stack memory usage can be larger when using fastmath, we recommend
! 80: defining TFM_TIMING_RESISTANT as well when using this option."
! 81:
! 82: WOLFSSL_STATIC_DH: Allow TLS_ECDH_ ciphers
! 83: WOLFSSL_STATIC_RSA: Allow TLS_RSA_ ciphers
! 84: https://github.com/wolfSSL/wolfssl/blob/v3.6.6/README.md#note-1
! 85: Static key cipher suites are deprecated and disabled by default since v3.6.6.
! 86: */
! 87:
! 88: /* wolfssl options.h
! 89: * generated from configure options
! 90: *
! 91: * Copyright (C) 2006-2015 wolfSSL Inc.
! 92: *
! 93: * This file is part of wolfSSL. (formerly known as CyaSSL)
! 94: *
! 95: */
! 96:
! 97: #ifndef WOLFSSL_OPTIONS_H
! 98: #define WOLFSSL_OPTIONS_H
! 99:
! 100:
! 101: #ifdef __cplusplus
! 102: extern "C" {
! 103: #endif
! 104:
! 105: #undef FP_MAX_BITS
! 106: #define FP_MAX_BITS 16384
! 107:
! 108: #undef TFM_TIMING_RESISTANT
! 109: #define TFM_TIMING_RESISTANT
! 110:
! 111: #undef WOLFSSL_STATIC_DH
! 112: #define WOLFSSL_STATIC_DH
! 113:
! 114: #undef WOLFSSL_STATIC_RSA
! 115: #define WOLFSSL_STATIC_RSA
! 116:
! 117: #undef OPENSSL_EXTRA
! 118: #define OPENSSL_EXTRA
! 119:
! 120: /*
! 121: The commented out defines below are the equivalent of --enable-tls13.
! 122: Uncomment them to build wolfSSL with TLS 1.3 support as of v3.11.1-tls13-beta.
! 123: This is for experimenting only, afaict TLS 1.3 support doesn't appear to be
! 124: functioning correctly yet. https://github.com/wolfSSL/wolfssl/pull/943
! 125:
! 126: #undef WC_RSA_PSS
! 127: #define WC_RSA_PSS
! 128:
! 129: #undef WOLFSSL_TLS13
! 130: #define WOLFSSL_TLS13
! 131:
! 132: #undef HAVE_TLS_EXTENSIONS
! 133: #define HAVE_TLS_EXTENSIONS
! 134:
! 135: #undef HAVE_FFDHE_2048
! 136: #define HAVE_FFDHE_2048
! 137:
! 138: #undef HAVE_HKDF
! 139: #define HAVE_HKDF
! 140: */
! 141:
! 142: #undef TFM_TIMING_RESISTANT
! 143: #define TFM_TIMING_RESISTANT
! 144:
! 145: #undef ECC_TIMING_RESISTANT
! 146: #define ECC_TIMING_RESISTANT
! 147:
! 148: #undef WC_RSA_BLINDING
! 149: #define WC_RSA_BLINDING
! 150:
! 151: #undef HAVE_AESGCM
! 152: #define HAVE_AESGCM
! 153:
! 154: #undef WOLFSSL_RIPEMD
! 155: #define WOLFSSL_RIPEMD
! 156:
! 157: #undef WOLFSSL_SHA512
! 158: #define WOLFSSL_SHA512
! 159:
! 160: #undef WOLFSSL_SHA384
! 161: #define WOLFSSL_SHA384
! 162:
! 163: #undef SESSION_CERTS
! 164: #define SESSION_CERTS
! 165:
! 166: #undef WOLFSSL_CERT_GEN
! 167: #define WOLFSSL_CERT_GEN
! 168:
! 169: #undef HAVE_ECC
! 170: #define HAVE_ECC
! 171:
! 172: #undef TFM_ECC256
! 173: #define TFM_ECC256
! 174:
! 175: #undef ECC_SHAMIR
! 176: #define ECC_SHAMIR
! 177:
! 178: #undef WOLFSSL_ALLOW_SSLV3
! 179: #define WOLFSSL_ALLOW_SSLV3
! 180:
! 181: #undef NO_RC4
! 182: #define NO_RC4
! 183:
! 184: #undef NO_HC128
! 185: #define NO_HC128
! 186:
! 187: #undef NO_RABBIT
! 188: #define NO_RABBIT
! 189:
! 190: #undef HAVE_POLY1305
! 191: #define HAVE_POLY1305
! 192:
! 193: #undef HAVE_ONE_TIME_AUTH
! 194: #define HAVE_ONE_TIME_AUTH
! 195:
! 196: #undef HAVE_CHACHA
! 197: #define HAVE_CHACHA
! 198:
! 199: #undef HAVE_HASHDRBG
! 200: #define HAVE_HASHDRBG
! 201:
! 202: #undef HAVE_TLS_EXTENSIONS
! 203: #define HAVE_TLS_EXTENSIONS
! 204:
! 205: #undef HAVE_SNI
! 206: #define HAVE_SNI
! 207:
! 208: #undef HAVE_TLS_EXTENSIONS
! 209: #define HAVE_TLS_EXTENSIONS
! 210:
! 211: #undef HAVE_ALPN
! 212: #define HAVE_ALPN
! 213:
! 214: #undef HAVE_TLS_EXTENSIONS
! 215: #define HAVE_TLS_EXTENSIONS
! 216:
! 217: #undef HAVE_SUPPORTED_CURVES
! 218: #define HAVE_SUPPORTED_CURVES
! 219:
! 220: #undef HAVE_EXTENDED_MASTER
! 221: #define HAVE_EXTENDED_MASTER
! 222:
! 223: #undef WOLFSSL_TEST_CERT
! 224: #define WOLFSSL_TEST_CERT
! 225:
! 226: #undef NO_PSK
! 227: #define NO_PSK
! 228:
! 229: #undef NO_MD4
! 230: #define NO_MD4
! 231:
! 232: #undef USE_FAST_MATH
! 233: #define USE_FAST_MATH
! 234:
! 235: #undef WC_NO_ASYNC_THREADING
! 236: #define WC_NO_ASYNC_THREADING
! 237:
! 238:
! 239: #ifdef __cplusplus
! 240: }
! 241: #endif
! 242:
! 243:
! 244: #endif /* WOLFSSL_OPTIONS_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>