From 7f19f914c0353de01e814d26bf5af72694b5cc2c Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Thu, 19 Jul 2018 11:43:48 -0600 Subject: [PATCH] create WOLFSSL_NUCLEUS_1_2 for older 1.2 version --- src/internal.c | 2 +- wolfcrypt/src/random.c | 1 + wolfcrypt/src/sha.c | 2 +- wolfcrypt/src/wc_port.c | 8 ++++---- wolfssl/internal.h | 2 +- wolfssl/wolfcrypt/settings.h | 12 +++++++++--- wolfssl/wolfcrypt/wc_port.h | 11 ++++++----- wolfssl/wolfio.h | 6 +++--- 8 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/internal.c b/src/internal.c index ac00f30d1..725c0aaaa 100644 --- a/src/internal.c +++ b/src/internal.c @@ -6067,7 +6067,7 @@ ProtocolVersion MakeDTLSv1_2(void) return (word32)(uTaskerSystemTick / TICK_RESOLUTION); } -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) #define NU_TICKS_PER_SECOND 100 diff --git a/wolfcrypt/src/random.c b/wolfcrypt/src/random.c index 9424accb7..c7a3bee56 100644 --- a/wolfcrypt/src/random.c +++ b/wolfcrypt/src/random.c @@ -143,6 +143,7 @@ int wc_RNG_GenerateByte(WC_RNG* rng, byte* b) #elif defined(WOLFSSL_EMBOS) #elif defined(MICRIUM) #elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_PB) #else /* include headers that may be needed to get good seed */ #include diff --git a/wolfcrypt/src/sha.c b/wolfcrypt/src/sha.c index 9aaad94c0..38b14f557 100644 --- a/wolfcrypt/src/sha.c +++ b/wolfcrypt/src/sha.c @@ -287,7 +287,7 @@ static WC_INLINE void AddLength(wc_Sha* sha, word32 len) #define f3(x,y,z) (((x)&(y))|((z)&((x)|(y)))) #define f4(x,y,z) ((x)^(y)^(z)) - #ifdef WOLFSSL_NUCLEUS + #ifdef WOLFSSL_NUCLEUS_1_2 /* nucleus.h also defines R1-R4 */ #undef R1 #undef R2 diff --git a/wolfcrypt/src/wc_port.c b/wolfcrypt/src/wc_port.c index 94797d6ee..f89ca07ac 100644 --- a/wolfcrypt/src/wc_port.c +++ b/wolfcrypt/src/wc_port.c @@ -221,7 +221,7 @@ int wolfCrypt_Cleanup(void) } #if !defined(NO_FILESYSTEM) && !defined(NO_WOLFSSL_DIR) && \ - !defined(WOLFSSL_NUCLEUS) + !defined(WOLFSSL_NUCLEUS) && !defined(WOLFSSL_NUCLEUS_1_2) /* File Handling Helpers */ /* returns 0 if file found, -1 if no files or negative error */ @@ -1255,7 +1255,7 @@ int wolfSSL_CryptHwMutexUnLock(void) { return ret; } -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) int wc_InitMutex(wolfSSL_Mutex* m) { @@ -1526,7 +1526,7 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n) #endif /* custom memory wrappers */ -#ifdef WOLFSSL_NUCLEUS +#ifdef WOLFSSL_NUCLEUS_1_2 /* system memory pool */ extern NU_MEMORY_POOL System_Memory; @@ -1583,7 +1583,7 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n) NU_Deallocate_Memory(ptr); } -#endif /* WOLFSSL_NUCLEUS */ +#endif /* WOLFSSL_NUCLEUS_1_2 */ #if defined(WOLFSSL_TI_CRYPT) || defined(WOLFSSL_TI_HASH) #include /* initialize and Mutex for TI Crypt Engine */ diff --git a/wolfssl/internal.h b/wolfssl/internal.h index 8157c5229..669723af6 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -159,7 +159,7 @@ /* do nothing */ #elif defined(INTIME_RTOS) #include -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) /* do nothing */ #else #ifndef SINGLE_THREADED diff --git a/wolfssl/wolfcrypt/settings.h b/wolfssl/wolfcrypt/settings.h index ef158d50b..42813dce7 100644 --- a/wolfssl/wolfcrypt/settings.h +++ b/wolfssl/wolfcrypt/settings.h @@ -162,8 +162,8 @@ /* Uncomment next line if building for using XILINX */ /* #define WOLFSSL_XILINX */ -/* Uncomment next line if building for Nucleus */ -/* #define WOLFSSL_NUCLEUS */ +/* Uncomment next line if building for Nucleus 1.2 */ +/* #define WOLFSSL_NUCLEUS_1_2 */ #include @@ -450,7 +450,13 @@ #include "wolfssl_chibios.h" #endif -#ifdef WOLFSSL_NUCLEUS +#ifdef WOLFSSL_PB + /* PB is using older 1.2 version of Nucleus */ + #undef WOLFSSL_NUCLEUS + #define WOLFSSL_NUCLEUS_1_2 +#endif + +#ifdef WOLFSSL_NUCLEUS_1_2 #define NO_WRITEV #define NO_WOLFSSL_DIR diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index 2999aa756..138be8c80 100644 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -97,7 +97,7 @@ #elif defined(INTIME_RTOS) #include #include -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) /* NU_DEBUG needed struct access in nucleus_realloc */ #define NU_DEBUG #include "plus/nucleus.h" @@ -173,7 +173,7 @@ typedef mutex_t * wolfSSL_Mutex; #elif defined(INTIME_RTOS) typedef RTHANDLE wolfSSL_Mutex; - #elif defined(WOLFSSL_NUCLEUS) + #elif defined(WOLFSSL_NUCLEUS_1_2) typedef NU_SEMAPHORE wolfSSL_Mutex; #else #error Need a mutex type in multithreaded mode @@ -280,7 +280,7 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define XSEEK_END FS_SEEK_END #define XBADFILE NULL #define XFGETS(b,s,f) -2 /* Not ported yet */ -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) #include "fal/inc/fal.h" #define XFILE FILE* #define XFOPEN fopen @@ -313,7 +313,7 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define XFGETS fgets #if !defined(USE_WINDOWS_API) && !defined(NO_WOLFSSL_DIR)\ - && !defined(WOLFSSL_NUCLEUS) + && !defined(WOLFSSL_NUCLEUS) && !defined(WOLFSSL_NUCLEUS_1_2) #include #include #include @@ -327,7 +327,8 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define MAX_PATH 256 #endif -#if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_NUCLEUS) +#if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_NUCLEUS) && \ + !defined(WOLFSSL_NUCLEUS_1_2) typedef struct ReadDirCtx { #ifdef USE_WINDOWS_API WIN32_FIND_DATAA FindFileData; diff --git a/wolfssl/wolfio.h b/wolfssl/wolfio.h index a022cd4e9..cafaaad5e 100644 --- a/wolfssl/wolfio.h +++ b/wolfssl/wolfio.h @@ -80,7 +80,7 @@ #elif defined(WOLFSSL_VXWORKS) #include #include - #elif defined(WOLFSSL_NUCLEUS) + #elif defined(WOLFSSL_NUCLEUS_1_2) #include #include #elif defined(WOLFSSL_ATMEL) @@ -201,7 +201,7 @@ #define SOCKET_EPIPE FREERTOS_SOCKET_ERROR #define SOCKET_ECONNREFUSED FREERTOS_SOCKET_ERROR #define SOCKET_ECONNABORTED FREERTOS_SOCKET_ERROR -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) #define SOCKET_EWOULDBLOCK NU_WOULD_BLOCK #define SOCKET_EAGAIN NU_WOULD_BLOCK #define SOCKET_ECONNRESET NU_NOT_CONNECTED @@ -255,7 +255,7 @@ #elif defined(WOLFSSL_VXWORKS) #define SEND_FUNCTION send #define RECV_FUNCTION recv -#elif defined(WOLFSSL_NUCLEUS) +#elif defined(WOLFSSL_NUCLEUS_1_2) #define SEND_FUNCTION NU_Send #define RECV_FUNCTION NU_Recv #else