mirror of
https://github.com/MariaDB/server.git
synced 2025-02-22 13:23:07 +01:00

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;)
85 lines
1.9 KiB
C
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 */
|