wolfssl-w32/IDE/WIN/user_settings.h

127 lines
3.2 KiB
C

#ifndef _WIN_USER_SETTINGS_H_
#define _WIN_USER_SETTINGS_H_
/* Verify this is Windows */
#ifndef _WIN32
#error This user_settings.h header is only designed for Windows
#endif
#define USE_WOLFSSL_IO
#define HAVE_AESGCM
#define WOLFSSL_TLS13
#define HAVE_HKDF
#define HAVE_FFDHE_4096
#define WC_RSA_PSS
#define WOLFSSL_DTLS
#define WOLFSSL_DTLS13
#define WOLFSSL_SEND_HRR_COOKIE
#define WOLFSSL_DTLS_CID
#define WOLF_C89
#define NO_WOLF_C99
/* Configurations */
#if defined(HAVE_FIPS)
/* FIPS */
#define OPENSSL_EXTRA
#define HAVE_THREAD_LS
#define WOLFSSL_KEY_GEN
#define HAVE_HASHDRBG
#define WOLFSSL_SHA384
#define WOLFSSL_SHA512
#define NO_PSK
#define NO_RC4
#define NO_DSA
#define NO_MD4
#define GCM_NONCE_MID_SZ 12
#else
/* Enables blinding mode, to prevent timing attacks */
#define WC_RSA_BLINDING
#define NO_MULTIBYTE_PRINT
#define HAVE_CRL
#define HAVE_CRL_MONITOR
#if defined(WOLFSSL_LIB)
/* The lib */
#define OPENSSL_EXTRA
#define WOLFSSL_RIPEMD
#define NO_PSK
#define HAVE_EXTENDED_MASTER
#define WOLFSSL_SNIFFER
#define HAVE_SECURE_RENEGOTIATION
/* for NTLM */
#define WOLFSSL_DES_ECB
#define HAVE_AESGCM
#define WOLFSSL_AESGCM_STREAM
#define WOLFSSL_SHA384
#define WOLFSSL_SHA512
#define HAVE_SUPPORTED_CURVES
#define HAVE_TLS_EXTENSIONS
#define HAVE_ECC
#define ECC_SHAMIR
#define ECC_TIMING_RESISTANT
#define SP_INT_BITS 4096
/* For VC7.1: define strcpy_s to StringCchCopy */
#ifndef StringCchCopy
#define STRSAFE_NO_DEPRECATE
#define STRSAFE_NO_CB_FUNCTIONS
#include <Winerror.h>
#include <Strsafe.h>
#endif /* !StringCchCopy */
#define strcpy_s StringCchCopyA
#define USE_WOLF_STRTOK
#define XVSNPRINTF _vsnprintf
#ifndef InetPton
int __stdcall InetPton(int Family, const char *pszAddrString, void *pAddrBuf);
#endif /* !InetPton */
/* Optional Performance Speedups */
#if 0
/* AESNI on x64 */
#ifdef _WIN64
#define HAVE_INTEL_RDSEED
#define WOLFSSL_AESNI
#define HAVE_INTEL_AVX1
#if 0
#define HAVE_INTEL_AVX2
#endif
#endif
/* Single Precision Support for RSA/DH 1024/2048/3072 and
* ECC P-256/P-384 */
#define WOLFSSL_SP
#define WOLFSSL_HAVE_SP_ECC
#define WOLFSSL_HAVE_SP_DH
#define WOLFSSL_HAVE_SP_RSA
#ifdef _WIN64
/* Old versions of MASM compiler do not recognize newer
* instructions. */
#if 0
#define NO_AVX2_SUPPORT
#define NO_MOVBE_SUPPORT
#endif
#define WOLFSSL_SP_ASM
#define WOLFSSL_SP_X86_64_ASM
#endif
#endif
#else
/* The servers and clients */
#define OPENSSL_EXTRA
#define NO_PSK
#endif
#endif /* HAVE_FIPS */
#endif /* _WIN_USER_SETTINGS_H_ */