mariadb/extra/wolfssl/user_settings.h.in
Vladislav Vaintroub 136e866119 Update WolfSSL to the latest release 5.7.6
Workaround build bugs with preprocessor flags du-jour

1. OPENSSL_ALL does not work anymore (error in ssl.h)
nor WOLFSSL_MYSQL_COMPATIBLE, would work, when building library.

2. OPENSSL_EXTRA has to be used instead of OPENSSL_ALL now.
WOLFSSL_MYSQL_COMPATIBLE needs to be used to workaround their conflicting
definition of protocol_version, which is used in server code.

3. -D_CRT_USE_CONFORMING_ANNEX_K_TIME to force C11-correct definition of
gmtime_s on Windows, set some other flags WOLFSSL_MYSQL_COMPATIBLE was
previously defining

4. Use HAVE_EMPTY_AGGREGATES=0 to workaround build error on clang
  (error: struct has size 0 in C, size 1 in C++ [-Werror,-Wextern-c-compat]
    WOLF_AGG_DUMMY_MEMBER;)
2025-01-23 13:50:06 +02:00

85 lines
1.9 KiB
C

#ifndef WOLFSSL_USER_SETTINGS_H
#define WOLFSSL_USER_SETTINGS_H
#define HAVE_CRL
#define WOLFSSL_HAVE_ERROR_QUEUE
/*
Workaround bug in 5.7.6
WOLFSSL_MYSQL_COMPATIBLE breaks building wolfssl
But it is needed to avoid redefinition of protocol_version
when its public header ssl.h is included
*/
#ifndef BUILDING_WOLFSSL
#define WOLFSSL_MYSQL_COMPATIBLE
#endif
#define SP_INT_BITS 8192
#define HAVE_EMPTY_AGGREGATES 0
#define HAVE_ECC
#define ECC_TIMING_RESISTANT
#define HAVE_HASHDRBG
#define WOLFSSL_AES_DIRECT
#define WOLFSSL_SHA384
#define WOLFSSL_SHA512
#define WOLFSSL_SHA224
#define SESSION_CERT
#define KEEP_OUR_CERT
#define WOLFSSL_STATIC_RSA
#define WOLFSSL_USER_IO
#define WC_RSA_BLINDING
#define HAVE_TLS_EXTENSIONS
#define HAVE_AES_ECB
#define HAVE_AESGCM
#define HAVE_CHACHA
#define HAVE_POLY1305
#define HAVE_THREAD_LS
#define WOLFSSL_AES_COUNTER
#define NO_WOLFSSL_STUB
// #define OPENSSL_ALL
#define OPENSSL_EXTRA
#define WOLFSSL_ALLOW_TLSV10
#define NO_OLD_TIMEVAL_NAME
#define HAVE_SECURE_RENEGOTIATION
#define HAVE_EXTENDED_MASTER
/*
Following is workaround about a WolfSSL 5.6.6 bug.
The bug is about undefined sessionCtxSz during compilation.
*/
#define WOLFSSL_SESSION_ID_CTX
/* TLSv1.3 definitions (all needed to build) */
#define WOLFSSL_TLS13
#define HAVE_HKDF
#define HAVE_TLS_EXTENSIONS
#define HAVE_SUPPORTED_CURVES
#define HAVE_FFDHE_2048
#define WC_RSA_PSS
/* End of TLSv1.3 defines */
/* Features we exclude */
#define NO_DSA
#define NO_HC128
#define NO_MD4
#define NO_PSK
#define NO_RABBIT
#define NO_RC4
#define RSA_MAX_SIZE 8192
#define WOLFSSL_SP_MATH_ALL
#define WOLFSSL_HAVE_SP_RSA
#ifndef WOLFSSL_SP_4096
#define WOLFSSL_SP_4096
#endif
#cmakedefine WOLFSSL_AESNI
#cmakedefine HAVE_INTEL_RDSEED
#cmakedefine HAVE_INTEL_RDRAND
#cmakedefine USE_INTEL_SPEEDUP
#cmakedefine WOLFSSL_X86_64_BUILD
#cmakedefine WOLFSSL_SP_X86_64
#cmakedefine WOLFSSL_SP_X86_64_ASM
#endif /* WOLFSSL_USER_SETTINGS_H */