1 
2 #ifndef USER_SETTINGS_H
3 #define USER_SETTINGS_H
4 
5 
6 /* Default build with fast math */
7 
8 
9 /* Slower build but uses less memory */
10 //#define BUILD_B
11 
12 /* Performant build but uses more memory */
13 //#define BUILD_C
14 
15 
16 
17 /* Used for getting random value for seeding RNG */
18 #define WOLFSSL_NETBURNER
19 #define WOLFSSL_MCF5441X
20 
21 /* environment settings */
22 #define NO_WRITEV
23 #define WOLFSSL_NO_SOCK
24 #define NO_WOLFSSL_DIR
25 
26 /* with USE_FAST_MATH smallstack is used to fit in the default stack size */
27 #define WOLFSSL_SMALL_STACK
28 
29 
30 /* enable features off by default */
31 #define WOLFSSL_SHA512
32 // OPENSSL_EXTRA uses a lot more memory but is needed in order to enable
33 // compatibility layer API
34 #define OPENSSL_EXTRA
35 
36 // additional RSA padding schemes
37 #define WC_RSA_NO_PADDING
38 #define WC_RSA_PSS
39 
40 // uncomment and add wolfSSL_Debugging_ON() to app for debug messages
41 //#define DEBUG_WOLFSSL
42 
43 
44 /* disable features that are on by default */
45 #define WOLFCRYPT_ONLY
46 #define NO_FILESYSTEM
47 #define SINGLE_THREADED
48 
49 #define NO_ASN_TIME
50 #define NO_PWDBASED
51 #define NO_HC128
52 #define NO_RABBIT
53 #define NO_RC4
54 #define NO_DSA
55 #define NO_DES3
56 #define NO_DH
57 #define NO_MD4
58 
59 
60 #define USE_FAST_MATH
61 #ifdef BUILD_B
62     #define RSA_LOW_MEM
63     #define USE_SLOW_SHA
64     #define USE_SLOW_SHA256
65     #define NO_ERROR_STRINGS
66     #define USE_FAST_MATH
67 #endif
68 
69 #ifdef BUILD_C
70     #define WOLFSSL_HAVE_SP_RSA
71     #define SP_WORD_SIZE 32
72 #endif
73 
74 /* hardening against side channel attacks */
75 #if defined(USE_FAST_MATH)
76     #define TFM_TIMING_RESISTANT
77     #ifdef HAVE_ECC
78         #define ECC_TIMING_RESISTANT
79     #endif
80 #endif /* USE_FAST_MATH */
81 #ifndef NO_RSA
82     /* this slows down RSA operations but increases side channel resistance */
83     #define WC_RSA_BLINDING
84 #endif
85 
86 #endif /* USER_SETTINGS_H */
87 
88