aboutsummaryrefslogtreecommitdiffstats
path: root/os/various/wolfssl_bindings/user_settings.h
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2017-12-16 16:27:57 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2017-12-16 16:27:57 +0000
commit67c8b93b8c5a76d4bc60b9d89311dc32f754253c (patch)
tree67f70646c0b63d1de91a2d310a5d4e7d16fb133f /os/various/wolfssl_bindings/user_settings.h
parentf673ed8ff2cea38590120e2820e5aeac246fb00f (diff)
downloadChibiOS-67c8b93b8c5a76d4bc60b9d89311dc32f754253c.tar.gz
ChibiOS-67c8b93b8c5a76d4bc60b9d89311dc32f754253c.tar.bz2
ChibiOS-67c8b93b8c5a76d4bc60b9d89311dc32f754253c.zip
Merged WolfSSL patch.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11143 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/various/wolfssl_bindings/user_settings.h')
-rw-r--r--os/various/wolfssl_bindings/user_settings.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/os/various/wolfssl_bindings/user_settings.h b/os/various/wolfssl_bindings/user_settings.h
new file mode 100644
index 000000000..4b491225e
--- /dev/null
+++ b/os/various/wolfssl_bindings/user_settings.h
@@ -0,0 +1,85 @@
+#include <stdint.h>
+
+/* Configuration */
+
+#define WOLFSSL_GENERAL_ALIGNMENT 4
+#define HAVE_TM_TYPE
+
+
+/* ChibiOS + Lwip */
+#define HAVE_LWIP_NATIVE
+#define WOLFSSL_CHIBIOS
+
+#define USER_TICKS
+#define WOLFSSL_USER_CURRTIME
+#define XMALLOC_OVERRIDE
+#define USE_WOLF_TIME_T
+#define XTIME(tl) (LowResTimer())
+
+
+/* ARM */
+
+#define RSA_LOW_MEM
+#define NO_OLD_RNGNAME
+#define SMALL_SESSION_CACHE
+#define WOLFSSL_SMALL_STACK
+
+#define TFM_ARM
+#define SINGLE_THREADED
+#define NO_SIG_WRAPPER
+
+/* Cipher features */
+//#define USE_FAST_MATH
+//#define ALT_ECC_SIZE
+
+#define HAVE_FFDHE_2048
+#define HAVE_CHACHA
+#define HAVE_POLY1305
+#define HAVE_ECC
+#define HAVE_CURVE25519
+#define CURVED25519_SMALL
+#define HAVE_ONE_TIME_AUTH
+#define WOLFSSL_DH_CONST
+
+/* HW RNG support */
+
+unsigned int chibios_rand_generate(void);
+int custom_rand_generate_block(unsigned char* output, unsigned int sz);
+
+#define CUSTOM_RAND_GENERATE chibios_rand_generate
+#define CUSTOM_RAND_TYPE uint32_t
+
+#define HAVE_ED25519
+#define HAVE_POLY1305
+#define HAVE_SHA512
+#define WOLFSSL_SHA512
+
+
+/* Size/speed config */
+//#define USE_SLOW_SHA2
+
+/* Robustness */
+#define TFM_TIMING_RESISTANT
+#define ECC_TIMING_RESISTANT
+#define WC_RSA_BLINDING
+
+/* Remove Features */
+#define NO_WRITEV
+#define NO_DEV_RANDOM
+#define NO_FILESYSTEM
+#define NO_MAIN_DRIVER
+#define NO_MD4
+#define NO_RABBIT
+#define NO_HC128
+#define NO_DSA
+#define NO_PWDBASED
+#define NO_PSK
+#define NO_64BIT
+#define NO_DES3
+#define NO_RC4
+
+
+/* Realloc (to use without USE_FAST_MATH) */
+
+void *chHeapRealloc (void *addr, uint32_t size);
+#define XREALLOC(p,n,h,t) chHeapRealloc( (p) , (n) )