mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-01 19:54:40 +02:00
Updates for TKernel port (WOLFSSL_uTKERNEL2). Added support for InterNiche prconnect_pro using WOLFSSL_PRCONNECT_PRO. Cleanup the min/max functions. Add NO_STDIO_FGETS_REMAP to not include the fgets remap for WOLFSSL_uTKERNEL2. Fix TFM build warning. Added HAVE_POCO_LIB. Added wolfCrypt test temp cert path for WOLFSSL_uTKERNEL2 = /uda/. Added WOLFSSL_CURRTIME_REMAP for benchmark to allow different function name to be used for system which have a conflicting name. Add ability to use normal malloc/free with WOLFSSL_uTKERNEL2 using NO_TKERNEL_MEM_POOL. Added new XMALLOC_OVERRIDE to allow custom XMALLOC/XFREE/XREALLOC macros. Move CUSTOM_RAND_GENERATE up in RNG choices. Rename tls.c STK macros due to conflict.
This commit is contained in:
@@ -2681,6 +2681,7 @@ static int SetAuthKeys(OneTimeAuth* authentication, Keys* keys,
|
|||||||
if (authentication)
|
if (authentication)
|
||||||
authentication->setup = 1;
|
authentication->setup = 1;
|
||||||
#endif
|
#endif
|
||||||
|
(void)authentication;
|
||||||
(void)heap;
|
(void)heap;
|
||||||
(void)keys;
|
(void)keys;
|
||||||
(void)specs;
|
(void)specs;
|
||||||
|
26
src/ssl.c
26
src/ssl.c
@@ -94,17 +94,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined(WOLFSSL_DTLS) && !defined(WOLFSSL_HAVE_MAX)
|
|
||||||
#define WOLFSSL_HAVE_MAX
|
|
||||||
|
|
||||||
static INLINE word32 max(word32 a, word32 b)
|
|
||||||
{
|
|
||||||
return a > b ? a : b;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* WOLFSSL_DTLS && !WOLFSSL_HAVE_MAX */
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef WOLFSSL_LEANPSK
|
#ifndef WOLFSSL_LEANPSK
|
||||||
char* mystrnstr(const char* s1, const char* s2, unsigned int n)
|
char* mystrnstr(const char* s1, const char* s2, unsigned int n)
|
||||||
{
|
{
|
||||||
@@ -12577,7 +12566,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
|
|||||||
cert = (DecodedCert*)XMALLOC(sizeof(DecodedCert), NULL,
|
cert = (DecodedCert*)XMALLOC(sizeof(DecodedCert), NULL,
|
||||||
DYNAMIC_TYPE_TMP_BUFFER);
|
DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (cert == NULL)
|
if (cert == NULL)
|
||||||
return NULL;
|
return MEMORY_E;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Create a DecodedCert object and copy fields into WOLFSSL_X509 object.
|
/* Create a DecodedCert object and copy fields into WOLFSSL_X509 object.
|
||||||
@@ -16540,6 +16529,8 @@ int wolfSSL_BN_mod_exp(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a,
|
|||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_LEAVE("wolfSSL_BN_mod_exp", ret);
|
WOLFSSL_LEAVE("wolfSSL_BN_mod_exp", ret);
|
||||||
|
(void)ret;
|
||||||
|
|
||||||
return SSL_FAILURE;
|
return SSL_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21199,6 +21190,7 @@ WOLFSSL_X509* wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN* chain, int idx)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
(void)ret;
|
||||||
|
|
||||||
return x509;
|
return x509;
|
||||||
}
|
}
|
||||||
@@ -21568,16 +21560,16 @@ void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl)
|
|||||||
}
|
}
|
||||||
#endif /* ifndef NO_CERTS */
|
#endif /* ifndef NO_CERTS */
|
||||||
|
|
||||||
#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || defined(OPENSSL_EXTRA)
|
|
||||||
#ifndef NO_CERTS
|
#ifndef NO_CERTS
|
||||||
void wolfSSL_X509_NAME_free(WOLFSSL_X509_NAME *name){
|
void wolfSSL_X509_NAME_free(WOLFSSL_X509_NAME *name){
|
||||||
FreeX509Name(name, NULL);
|
FreeX509Name(name, NULL);
|
||||||
WOLFSSL_ENTER("wolfSSL_X509_NAME_free");
|
WOLFSSL_ENTER("wolfSSL_X509_NAME_free");
|
||||||
}
|
}
|
||||||
#endif /* NO_CERTS */
|
#endif /* NO_CERTS */
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX)
|
#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) || \
|
||||||
|
defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \
|
||||||
|
defined(HAVE_POCO_LIB)
|
||||||
|
|
||||||
unsigned char *wolfSSL_SHA1(const unsigned char *d, size_t n, unsigned char *md)
|
unsigned char *wolfSSL_SHA1(const unsigned char *d, size_t n, unsigned char *md)
|
||||||
{
|
{
|
||||||
@@ -21772,8 +21764,8 @@ void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* HAVE_LIGHTY || WOLFSSL_MYSQL_COMPATIBLE || HAVE_STUNNEL */
|
#endif /* HAVE_LIGHTY || WOLFSSL_MYSQL_COMPATIBLE || HAVE_STUNNEL || WOLFSSL_NGINX || HAVE_POCO_LIB */
|
||||||
#endif
|
#endif /* OPENSSL_EXTRA */
|
||||||
|
|
||||||
|
|
||||||
#ifdef OPENSSL_EXTRA
|
#ifdef OPENSSL_EXTRA
|
||||||
|
32
src/tls.c
32
src/tls.c
@@ -3564,19 +3564,19 @@ int TLSX_UseSessionTicket(TLSX** extensions, SessionTicket* ticket, void* heap)
|
|||||||
return SSL_SUCCESS;
|
return SSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define STK_VALIDATE_REQUEST TLSX_SessionTicket_ValidateRequest
|
#define WOLF_STK_VALIDATE_REQUEST TLSX_SessionTicket_ValidateRequest
|
||||||
#define STK_GET_SIZE TLSX_SessionTicket_GetSize
|
#define WOLF_STK_GET_SIZE TLSX_SessionTicket_GetSize
|
||||||
#define STK_WRITE TLSX_SessionTicket_Write
|
#define WOLF_STK_WRITE TLSX_SessionTicket_Write
|
||||||
#define STK_PARSE TLSX_SessionTicket_Parse
|
#define WOLF_STK_PARSE TLSX_SessionTicket_Parse
|
||||||
#define STK_FREE(stk, heap) TLSX_SessionTicket_Free((SessionTicket*)stk,(heap))
|
#define WOLF_STK_FREE(stk, heap) TLSX_SessionTicket_Free((SessionTicket*)stk,(heap))
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define STK_FREE(a, b)
|
#define WOLF_STK_FREE(a, b)
|
||||||
#define STK_VALIDATE_REQUEST(a)
|
#define WOLF_STK_VALIDATE_REQUEST(a)
|
||||||
#define STK_GET_SIZE(a, b) 0
|
#define WOLF_STK_GET_SIZE(a, b) 0
|
||||||
#define STK_WRITE(a, b, c) 0
|
#define WOLF_STK_WRITE(a, b, c) 0
|
||||||
#define STK_PARSE(a, b, c, d) 0
|
#define WOLF_STK_PARSE(a, b, c, d) 0
|
||||||
|
|
||||||
#endif /* HAVE_SESSION_TICKET */
|
#endif /* HAVE_SESSION_TICKET */
|
||||||
|
|
||||||
@@ -4229,7 +4229,7 @@ void TLSX_FreeAll(TLSX* list, void* heap)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TLSX_SESSION_TICKET:
|
case TLSX_SESSION_TICKET:
|
||||||
STK_FREE(extension->data, heap);
|
WOLF_STK_FREE(extension->data, heap);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TLSX_QUANTUM_SAFE_HYBRID:
|
case TLSX_QUANTUM_SAFE_HYBRID:
|
||||||
@@ -4310,7 +4310,7 @@ static word16 TLSX_GetSize(TLSX* list, byte* semaphore, byte isRequest)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TLSX_SESSION_TICKET:
|
case TLSX_SESSION_TICKET:
|
||||||
length += STK_GET_SIZE((SessionTicket*)extension->data,
|
length += WOLF_STK_GET_SIZE((SessionTicket*)extension->data,
|
||||||
isRequest);
|
isRequest);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -4393,7 +4393,7 @@ static word16 TLSX_Write(TLSX* list, byte* output, byte* semaphore,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TLSX_SESSION_TICKET:
|
case TLSX_SESSION_TICKET:
|
||||||
offset += STK_WRITE((SessionTicket*)extension->data,
|
offset += WOLF_STK_WRITE((SessionTicket*)extension->data,
|
||||||
output + offset, isRequest);
|
output + offset, isRequest);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -4797,7 +4797,7 @@ word16 TLSX_GetRequestSize(WOLFSSL* ssl)
|
|||||||
|
|
||||||
EC_VALIDATE_REQUEST(ssl, semaphore);
|
EC_VALIDATE_REQUEST(ssl, semaphore);
|
||||||
QSH_VALIDATE_REQUEST(ssl, semaphore);
|
QSH_VALIDATE_REQUEST(ssl, semaphore);
|
||||||
STK_VALIDATE_REQUEST(ssl);
|
WOLF_STK_VALIDATE_REQUEST(ssl);
|
||||||
|
|
||||||
if (ssl->extensions)
|
if (ssl->extensions)
|
||||||
length += TLSX_GetSize(ssl->extensions, semaphore, 1);
|
length += TLSX_GetSize(ssl->extensions, semaphore, 1);
|
||||||
@@ -4832,7 +4832,7 @@ word16 TLSX_WriteRequest(WOLFSSL* ssl, byte* output)
|
|||||||
offset += OPAQUE16_LEN; /* extensions length */
|
offset += OPAQUE16_LEN; /* extensions length */
|
||||||
|
|
||||||
EC_VALIDATE_REQUEST(ssl, semaphore);
|
EC_VALIDATE_REQUEST(ssl, semaphore);
|
||||||
STK_VALIDATE_REQUEST(ssl);
|
WOLF_STK_VALIDATE_REQUEST(ssl);
|
||||||
QSH_VALIDATE_REQUEST(ssl, semaphore);
|
QSH_VALIDATE_REQUEST(ssl, semaphore);
|
||||||
|
|
||||||
if (ssl->extensions)
|
if (ssl->extensions)
|
||||||
@@ -5031,7 +5031,7 @@ int TLSX_Parse(WOLFSSL* ssl, byte* input, word16 length, byte isRequest,
|
|||||||
case TLSX_SESSION_TICKET:
|
case TLSX_SESSION_TICKET:
|
||||||
WOLFSSL_MSG("Session Ticket extension received");
|
WOLFSSL_MSG("Session Ticket extension received");
|
||||||
|
|
||||||
ret = STK_PARSE(ssl, input + offset, size, isRequest);
|
ret = WOLF_STK_PARSE(ssl, input + offset, size, isRequest);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TLSX_QUANTUM_SAFE_HYBRID:
|
case TLSX_QUANTUM_SAFE_HYBRID:
|
||||||
|
@@ -233,8 +233,11 @@ void bench_ntruKeyGen(void);
|
|||||||
void bench_rng(void);
|
void bench_rng(void);
|
||||||
#endif /* WC_NO_RNG */
|
#endif /* WC_NO_RNG */
|
||||||
|
|
||||||
double current_time(int);
|
#ifdef WOLFSSL_CURRTIME_REMAP
|
||||||
|
#define current_time WOLFSSL_CURRTIME_REMAP
|
||||||
|
#else
|
||||||
|
double current_time(int);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(DEBUG_WOLFSSL) && !defined(HAVE_VALGRIND)
|
#if defined(DEBUG_WOLFSSL) && !defined(HAVE_VALGRIND)
|
||||||
WOLFSSL_API int wolfSSL_Debugging_ON();
|
WOLFSSL_API int wolfSSL_Debugging_ON();
|
||||||
@@ -2592,8 +2595,9 @@ void bench_ed25519KeySign(void)
|
|||||||
return ( ns / CLOCK * 2.0);
|
return ( ns / CLOCK * 2.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(WOLFSSL_IAR_ARM_TIME) || defined (WOLFSSL_MDK_ARM) || defined(WOLFSSL_USER_CURRTIME)
|
#elif defined(WOLFSSL_IAR_ARM_TIME) || defined (WOLFSSL_MDK_ARM) || \
|
||||||
/* declared above at line 189 */
|
defined(WOLFSSL_USER_CURRTIME) || defined(WOLFSSL_CURRTIME_REMAP)
|
||||||
|
/* declared above at line 239 */
|
||||||
/* extern double current_time(int reset); */
|
/* extern double current_time(int reset); */
|
||||||
|
|
||||||
#elif defined FREERTOS
|
#elif defined FREERTOS
|
||||||
|
@@ -8258,7 +8258,7 @@ static int WriteCertReqBody(DerCert* der, byte* buffer)
|
|||||||
/* extensions */
|
/* extensions */
|
||||||
if (der->extensionsSz) {
|
if (der->extensionsSz) {
|
||||||
XMEMCPY(buffer + idx, der->extensions, min(der->extensionsSz,
|
XMEMCPY(buffer + idx, der->extensions, min(der->extensionsSz,
|
||||||
sizeof(der->extensions)));
|
(int)sizeof(der->extensions)));
|
||||||
idx += der->extensionsSz;
|
idx += der->extensionsSz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -216,21 +216,32 @@ STATIC INLINE int ConstantCompare(const byte* a, const byte* b, int length)
|
|||||||
return compareSum;
|
return compareSum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef WOLFSSL_HAVE_MIN
|
#ifndef WOLFSSL_HAVE_MIN
|
||||||
#define WOLFSSL_HAVE_MIN
|
#define WOLFSSL_HAVE_MIN
|
||||||
#if defined(HAVE_FIPS) && !defined(min)
|
#if defined(HAVE_FIPS) && !defined(min) /* so ifdef check passes */
|
||||||
#define min min
|
#define min min
|
||||||
#endif
|
#endif
|
||||||
STATIC INLINE word32 min(word32 a, word32 b)
|
STATIC INLINE word32 min(word32 a, word32 b)
|
||||||
{
|
{
|
||||||
return a > b ? b : a;
|
return a > b ? b : a;
|
||||||
}
|
}
|
||||||
#endif /* WOLFSSL_HAVE_MIN */
|
#endif /* !WOLFSSL_HAVE_MIN */
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_HAVE_MAX
|
||||||
|
#define WOLFSSL_HAVE_MAX
|
||||||
|
#if defined(HAVE_FIPS) && !defined(max) /* so ifdef check passes */
|
||||||
|
#define max max
|
||||||
|
#endif
|
||||||
|
STATIC INLINE word32 max(word32 a, word32 b)
|
||||||
|
{
|
||||||
|
return a > b ? a : b;
|
||||||
|
}
|
||||||
|
#endif /* !WOLFSSL_HAVE_MAX */
|
||||||
|
|
||||||
|
|
||||||
#undef STATIC
|
#undef STATIC
|
||||||
|
|
||||||
|
|
||||||
#endif /* !WOLFSSL_MISC_INCLUDED && !NO_INLINE */
|
#endif /* !WOLFSSL_MISC_INCLUDED && !NO_INLINE */
|
||||||
|
|
||||||
#endif /* WOLF_CRYPT_MISC_C */
|
#endif /* WOLF_CRYPT_MISC_C */
|
||||||
|
@@ -1170,6 +1170,38 @@ static int wc_GenerateRand_IntelRD(OS_Seed* os, byte* output, word32 sz)
|
|||||||
return CUSTOM_RAND_GENERATE_SEED_OS(os, output, sz);
|
return CUSTOM_RAND_GENERATE_SEED_OS(os, output, sz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#elif defined(CUSTOM_RAND_GENERATE)
|
||||||
|
|
||||||
|
/* Implement your own random generation function
|
||||||
|
* word32 rand_gen(void);
|
||||||
|
* #define CUSTOM_RAND_GENERATE rand_gen */
|
||||||
|
|
||||||
|
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
||||||
|
{
|
||||||
|
word32 i = 0;
|
||||||
|
|
||||||
|
(void)os;
|
||||||
|
|
||||||
|
while (i < sz)
|
||||||
|
{
|
||||||
|
/* If not aligned or there is odd/remainder */
|
||||||
|
if( (i + sizeof(CUSTOM_RAND_TYPE)) > sz ||
|
||||||
|
((wolfssl_word)&output[i] % sizeof(CUSTOM_RAND_TYPE)) != 0
|
||||||
|
) {
|
||||||
|
/* Single byte at a time */
|
||||||
|
output[i++] = (byte)CUSTOM_RAND_GENERATE();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Use native 8, 16, 32 or 64 copy instruction */
|
||||||
|
*((CUSTOM_RAND_TYPE*)&output[i]) = CUSTOM_RAND_GENERATE();
|
||||||
|
i += sizeof(CUSTOM_RAND_TYPE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#elif defined(WOLFSSL_SGX)
|
#elif defined(WOLFSSL_SGX)
|
||||||
|
|
||||||
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
||||||
@@ -1392,7 +1424,7 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
|||||||
return RAN_BLOCK_E;
|
return RAN_BLOCK_E;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(FREESCALE_KSDK_2_0_RNGA)
|
#elif defined(FREESCALE_KSDK_2_0_RNGA)
|
||||||
|
|
||||||
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
||||||
@@ -1626,40 +1658,9 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(CUSTOM_RAND_GENERATE)
|
|
||||||
|
|
||||||
/* Implement your own random generation function
|
|
||||||
* word32 rand_gen(void);
|
|
||||||
* #define CUSTOM_RAND_GENERATE rand_gen */
|
|
||||||
|
|
||||||
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
|
||||||
{
|
|
||||||
word32 i = 0;
|
|
||||||
|
|
||||||
(void)os;
|
|
||||||
|
|
||||||
while (i < sz)
|
|
||||||
{
|
|
||||||
/* If not aligned or there is odd/remainder */
|
|
||||||
if( (i + sizeof(CUSTOM_RAND_TYPE)) > sz ||
|
|
||||||
((wolfssl_word)&output[i] % sizeof(CUSTOM_RAND_TYPE)) != 0
|
|
||||||
) {
|
|
||||||
/* Single byte at a time */
|
|
||||||
output[i++] = (byte)CUSTOM_RAND_GENERATE();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
/* Use native 8, 16, 32 or 64 copy instruction */
|
|
||||||
*((CUSTOM_RAND_TYPE*)&output[i]) = CUSTOM_RAND_GENERATE();
|
|
||||||
i += sizeof(CUSTOM_RAND_TYPE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(WOLFSSL_ATMEL)
|
#elif defined(WOLFSSL_ATMEL)
|
||||||
#include <wolfssl/wolfcrypt/port/atmel/atmel.h>
|
#include <wolfssl/wolfcrypt/port/atmel/atmel.h>
|
||||||
|
|
||||||
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@@ -2741,10 +2741,8 @@ int mp_rand_prime(mp_int* N, int len, WC_RNG* rng, void* heap)
|
|||||||
switch(err) {
|
switch(err) {
|
||||||
case FP_VAL:
|
case FP_VAL:
|
||||||
return MP_VAL;
|
return MP_VAL;
|
||||||
break;
|
|
||||||
case FP_MEM:
|
case FP_MEM:
|
||||||
return MP_MEM;
|
return MP_MEM;
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -778,7 +778,7 @@ int wolfSSL_CryptHwMutexUnLock(void) {
|
|||||||
|
|
||||||
int wc_FreeMutex(wolfSSL_Mutex* m)
|
int wc_FreeMutex(wolfSSL_Mutex* m)
|
||||||
{
|
{
|
||||||
tk_del_sem( m->id );
|
tk_del_sem(m->id);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -796,9 +796,12 @@ int wolfSSL_CryptHwMutexUnLock(void) {
|
|||||||
|
|
||||||
/**** uT-Kernel malloc/free ***/
|
/**** uT-Kernel malloc/free ***/
|
||||||
static ID ID_wolfssl_MPOOL = 0;
|
static ID ID_wolfssl_MPOOL = 0;
|
||||||
static T_CMPL wolfssl_MPOOL =
|
static T_CMPL wolfssl_MPOOL = {
|
||||||
{(void *)NULL,
|
NULL, /* Extended information */
|
||||||
TA_TFIFO , 0, "wolfSSL_MPOOL"};
|
TA_TFIFO, /* Memory pool attribute */
|
||||||
|
0, /* Size of whole memory pool (byte) */
|
||||||
|
"wolfSSL" /* Object name (max 8-char) */
|
||||||
|
};
|
||||||
|
|
||||||
int uTKernel_init_mpool(unsigned int sz) {
|
int uTKernel_init_mpool(unsigned int sz) {
|
||||||
ER ercd;
|
ER ercd;
|
||||||
@@ -808,7 +811,7 @@ int wolfSSL_CryptHwMutexUnLock(void) {
|
|||||||
ID_wolfssl_MPOOL = ercd;
|
ID_wolfssl_MPOOL = ercd;
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return (int)ercd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -826,7 +829,7 @@ int wolfSSL_CryptHwMutexUnLock(void) {
|
|||||||
void *uTKernel_realloc(void *p, unsigned int sz) {
|
void *uTKernel_realloc(void *p, unsigned int sz) {
|
||||||
ER ercd;
|
ER ercd;
|
||||||
void *newp;
|
void *newp;
|
||||||
if(p) {
|
if (p) {
|
||||||
ercd = tk_get_mpl(ID_wolfssl_MPOOL, sz, (VP)&newp, TMO_FEVR);
|
ercd = tk_get_mpl(ID_wolfssl_MPOOL, sz, (VP)&newp, TMO_FEVR);
|
||||||
if (ercd == E_OK) {
|
if (ercd == E_OK) {
|
||||||
XMEMCPY(newp, p, sz);
|
XMEMCPY(newp, p, sz);
|
||||||
|
@@ -5277,6 +5277,9 @@ byte GetEntropy(ENTROPY_CMD cmd, byte* out)
|
|||||||
#elif defined(WOLFSSL_MKD_SHELL)
|
#elif defined(WOLFSSL_MKD_SHELL)
|
||||||
#define CERT_PREFIX ""
|
#define CERT_PREFIX ""
|
||||||
#define CERT_PATH_SEP "/"
|
#define CERT_PATH_SEP "/"
|
||||||
|
#elif defined(WOLFSSL_uTKERNEL2)
|
||||||
|
#define CERT_PREFIX "/uda/"
|
||||||
|
#define CERT_PATH_SEP "/"
|
||||||
#else
|
#else
|
||||||
#define CERT_PREFIX "./"
|
#define CERT_PREFIX "./"
|
||||||
#define CERT_PATH_SEP "/"
|
#define CERT_PATH_SEP "/"
|
||||||
@@ -6106,7 +6109,7 @@ int rsa_test(void)
|
|||||||
|
|
||||||
tmp = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
tmp = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL)
|
||||||
return -40;
|
return -38;
|
||||||
|
|
||||||
#ifdef USE_CERT_BUFFERS_1024
|
#ifdef USE_CERT_BUFFERS_1024
|
||||||
XMEMCPY(tmp, client_key_der_1024, sizeof_client_key_der_1024);
|
XMEMCPY(tmp, client_key_der_1024, sizeof_client_key_der_1024);
|
||||||
|
@@ -90,6 +90,14 @@
|
|||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
|
#elif defined(WOLFSSL_PRCONNECT_PRO)
|
||||||
|
#include <prconnect_pro/prconnect_pro.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
#elif !defined(WOLFSSL_NO_SOCK)
|
#elif !defined(WOLFSSL_NO_SOCK)
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
@@ -471,9 +471,9 @@ typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX;
|
|||||||
|
|
||||||
/* Lighthttp compatibility */
|
/* Lighthttp compatibility */
|
||||||
|
|
||||||
#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) \
|
#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) || \
|
||||||
|| defined(HAVE_STUNNEL) \
|
defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \
|
||||||
|| defined(WOLFSSL_NGINX)
|
defined(HAVE_POCO_LIB)
|
||||||
typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
|
typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
|
||||||
|
|
||||||
#define X509_NAME_free wolfSSL_X509_NAME_free
|
#define X509_NAME_free wolfSSL_X509_NAME_free
|
||||||
@@ -501,11 +501,6 @@ typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
|
|||||||
#define SSL_dup_CA_list wolfSSL_dup_CA_list
|
#define SSL_dup_CA_list wolfSSL_dup_CA_list
|
||||||
|
|
||||||
#define NID_commonName 0x03 /* matchs ASN_COMMON_NAME in asn.h */
|
#define NID_commonName 0x03 /* matchs ASN_COMMON_NAME in asn.h */
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) \
|
|
||||||
|| defined(HAVE_STUNNEL) \
|
|
||||||
|| defined(WOLFSSL_NGINX)
|
|
||||||
|
|
||||||
#define OBJ_nid2ln wolfSSL_OBJ_nid2ln
|
#define OBJ_nid2ln wolfSSL_OBJ_nid2ln
|
||||||
#define OBJ_txt2nid wolfSSL_OBJ_txt2nid
|
#define OBJ_txt2nid wolfSSL_OBJ_txt2nid
|
||||||
@@ -513,7 +508,8 @@ typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
|
|||||||
#define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams
|
#define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams
|
||||||
#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509
|
#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509
|
||||||
|
|
||||||
#endif /* HAVE_STUNNEL || HAVE_LIGHTY || WOLFSSL_MYSQL_COMPATIBLE || WOLFSSL_NGINX */
|
#endif /* HAVE_STUNNEL || HAVE_LIGHTY || WOLFSSL_MYSQL_COMPATIBLE || WOLFSSL_NGINX || HAVE_POCO_LIB */
|
||||||
|
|
||||||
#define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh
|
#define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh
|
||||||
|
|
||||||
#define BIO_new_file wolfSSL_BIO_new_file
|
#define BIO_new_file wolfSSL_BIO_new_file
|
||||||
|
@@ -68,12 +68,20 @@ void ByteReverseWords64(word64*, const word64*, word32);
|
|||||||
#endif /* WORD64_AVAILABLE */
|
#endif /* WORD64_AVAILABLE */
|
||||||
|
|
||||||
#ifndef WOLFSSL_HAVE_MIN
|
#ifndef WOLFSSL_HAVE_MIN
|
||||||
#if defined(HAVE_FIPS) && !defined(min)
|
#if defined(HAVE_FIPS) && !defined(min) /* so ifdef check passes */
|
||||||
#define min min
|
#define min min
|
||||||
#endif
|
#endif
|
||||||
WOLFSSL_LOCAL word32 min(word32 a, word32 b);
|
WOLFSSL_LOCAL word32 min(word32 a, word32 b);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_HAVE_MAX
|
||||||
|
#if defined(HAVE_FIPS) && !defined(max) /* so ifdef check passes */
|
||||||
|
#define max max
|
||||||
|
#endif
|
||||||
|
WOLFSSL_LOCAL word32 max(word32 a, word32 b);
|
||||||
|
#endif /* WOLFSSL_HAVE_MAX */
|
||||||
|
|
||||||
|
|
||||||
#endif /* NO_INLINE */
|
#endif /* NO_INLINE */
|
||||||
|
|
||||||
|
|
||||||
|
@@ -460,36 +460,38 @@ extern void uITRON4_free(void *p) ;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WOLFSSL_uTKERNEL2)
|
#if defined(WOLFSSL_uTKERNEL2)
|
||||||
#define WOLFSSL_CLOSESOCKET
|
#ifndef NO_TKERNEL_MEM_POOL
|
||||||
#define XMALLOC_USER
|
#define XMALLOC_OVERRIDE
|
||||||
int uTKernel_init_mpool(unsigned int sz) ; /* initializing malloc pool */
|
int uTKernel_init_mpool(unsigned int sz); /* initializing malloc pool */
|
||||||
void *uTKernel_malloc(unsigned int sz) ;
|
void* uTKernel_malloc(unsigned int sz);
|
||||||
void *uTKernel_realloc(void *p, unsigned int sz) ;
|
void* uTKernel_realloc(void *p, unsigned int sz);
|
||||||
void uTKernel_free(void *p) ;
|
void uTKernel_free(void *p);
|
||||||
#define XMALLOC(s, h, type) uTKernel_malloc((s))
|
#define XMALLOC(s, h, type) uTKernel_malloc((s))
|
||||||
#define XREALLOC(p, n, h, t) uTKernel_realloc((p), (n))
|
#define XREALLOC(p, n, h, t) uTKernel_realloc((p), (n))
|
||||||
#define XFREE(p, h, type) uTKernel_free((p))
|
#define XFREE(p, h, type) uTKernel_free((p))
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#ifndef NO_STDIO_FGETS_REMAP
|
||||||
#include "tm/tmonitor.h"
|
#include <stdio.h>
|
||||||
static char *fgets(char *buff, int sz, FILE *fp)
|
#include "tm/tmonitor.h"
|
||||||
/*static char * gets(char *buff)*/
|
|
||||||
{
|
/* static char* gets(char *buff); */
|
||||||
char * p = buff ;
|
static char* fgets(char *buff, int sz, FILE *fp) {
|
||||||
*p = '\0' ;
|
char * p = buff;
|
||||||
while(1) {
|
*p = '\0';
|
||||||
*p = tm_getchar(-1) ;
|
while (1) {
|
||||||
tm_putchar(*p) ;
|
*p = tm_getchar(-1);
|
||||||
if(*p == '\r') {
|
tm_putchar(*p);
|
||||||
tm_putchar('\n') ;
|
if (*p == '\r') {
|
||||||
*p = '\0' ;
|
tm_putchar('\n');
|
||||||
break ;
|
*p = '\0';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
p++;
|
||||||
}
|
}
|
||||||
p ++ ;
|
return buff;
|
||||||
}
|
}
|
||||||
return buff ;
|
#endif /* !NO_STDIO_FGETS_REMAP */
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -1210,7 +1212,8 @@ static char *fgets(char *buff, int sz, FILE *fp)
|
|||||||
|
|
||||||
|
|
||||||
#if !defined(XMALLOC_USER) && !defined(MICRIUM_MALLOC) && \
|
#if !defined(XMALLOC_USER) && !defined(MICRIUM_MALLOC) && \
|
||||||
!defined(WOLFSSL_LEANPSK) && !defined(NO_WOLFSSL_MEMORY)
|
!defined(WOLFSSL_LEANPSK) && !defined(NO_WOLFSSL_MEMORY) && \
|
||||||
|
!defined(XMALLOC_OVERRIDE)
|
||||||
#define USE_WOLFSSL_MEMORY
|
#define USE_WOLFSSL_MEMORY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -184,6 +184,8 @@
|
|||||||
extern void *XMALLOC(size_t n, void* heap, int type);
|
extern void *XMALLOC(size_t n, void* heap, int type);
|
||||||
extern void *XREALLOC(void *p, size_t n, void* heap, int type);
|
extern void *XREALLOC(void *p, size_t n, void* heap, int type);
|
||||||
extern void XFREE(void *p, void* heap, int type);
|
extern void XFREE(void *p, void* heap, int type);
|
||||||
|
#elif defined(XMALLOC_OVERRIDE)
|
||||||
|
/* override the XMALLOC, XFREE and XREALLOC macros */
|
||||||
#elif defined(NO_WOLFSSL_MEMORY)
|
#elif defined(NO_WOLFSSL_MEMORY)
|
||||||
/* just use plain C stdlib stuff if desired */
|
/* just use plain C stdlib stuff if desired */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -194,7 +196,7 @@
|
|||||||
&& !defined(WOLFSSL_SAFERTOS) && !defined(FREESCALE_MQX) \
|
&& !defined(WOLFSSL_SAFERTOS) && !defined(FREESCALE_MQX) \
|
||||||
&& !defined(FREESCALE_KSDK_MQX) && !defined(FREESCALE_FREE_RTOS) \
|
&& !defined(FREESCALE_KSDK_MQX) && !defined(FREESCALE_FREE_RTOS) \
|
||||||
&& !defined(WOLFSSL_LEANPSK) && !defined(FREERTOS) && !defined(FREERTOS_TCP)\
|
&& !defined(WOLFSSL_LEANPSK) && !defined(FREERTOS) && !defined(FREERTOS_TCP)\
|
||||||
&& !defined(WOLFSSL_uITRON4) && !defined(WOLFSSL_uTKERNEL2)
|
&& !defined(WOLFSSL_uITRON4)
|
||||||
/* default C runtime, can install different routines at runtime via cbs */
|
/* default C runtime, can install different routines at runtime via cbs */
|
||||||
#include <wolfssl/wolfcrypt/memory.h>
|
#include <wolfssl/wolfcrypt/memory.h>
|
||||||
#ifdef WOLFSSL_STATIC_MEMORY
|
#ifdef WOLFSSL_STATIC_MEMORY
|
||||||
|
Reference in New Issue
Block a user