From ebdc8b9a327a8ad06f9f95cea1ce3efcb6a4a266 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Thu, 30 May 2024 14:48:52 -0600 Subject: [PATCH] rename of macros, add descriptions, minor fixes --- configure.ac | 6 ++--- examples/client/client.c | 18 +++++++------ examples/server/server.c | 10 +++---- src/internal.c | 10 +++---- src/ssl.c | 4 +-- tests/api.c | 4 +-- wolfcrypt/src/memory.c | 52 +++++++++++++++++++++--------------- wolfcrypt/test/test.c | 2 +- wolfssl/test.h | 2 +- wolfssl/wolfcrypt/memory.h | 10 +++---- wolfssl/wolfcrypt/settings.h | 3 ++- 11 files changed, 67 insertions(+), 54 deletions(-) diff --git a/configure.ac b/configure.ac index bc790fac6..deebc3613 100644 --- a/configure.ac +++ b/configure.ac @@ -8077,13 +8077,13 @@ do ;; no) ;; - small) + small|lean) ENABLED_STATICMEMORY=yes - AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_LEAN_STATIC_MEMORY" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_STATIC_MEMORY_LEAN" ;; debug) ENABLED_STATICMEMORY=yes - AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DEBUG_MEMORY_CALLBACK" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK" ;; *) AC_MSG_ERROR([Invalid choice for staticmemory.]) diff --git a/examples/client/client.c b/examples/client/client.c index d84f6938e..efad24a20 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -1865,7 +1865,8 @@ static int client_srtp_test(WOLFSSL *ssl, func_args *args) } #endif /* WOLFSSL_SRTP */ -#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK +#if defined(WOLFSSL_STATIC_MEMORY) && \ + defined(WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK) static void ExampleDebugMemoryCb(size_t sz, int bucketSz, byte st, int type) { switch (st) { case WOLFSSL_DEBUG_MEMORY_ALLOC: @@ -2128,7 +2129,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) byte memory[80000]; #endif byte memoryIO[34500]; /* max for IO buffer (TLS packet can be 16k) */ - #if !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if !defined(WOLFSSL_STATIC_MEMORY_LEAN) WOLFSSL_MEM_CONN_STATS ssl_stats; #if defined(DEBUG_WOLFSSL) WOLFSSL_MEM_STATS mem_stats; @@ -3060,7 +3061,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) #ifdef WOLFSSL_STATIC_MEMORY - #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) /* print off helper buffer sizes for use with static memory * printing to stderr in case of debug mode turned on */ LOG_ERROR("static memory management size = %d\n", @@ -3077,7 +3078,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) err_sys("unable to load static memory"); } -#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK +#if defined(WOLFSSL_STATIC_MEMORY) && \ + defined(WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK) wolfSSL_SetDebugMemoryCb(ExampleDebugMemoryCb); #endif ctx = wolfSSL_CTX_new_ex(method(heap), heap); @@ -3622,7 +3624,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) #endif #if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \ - !defined(WOLFSSL_LEAN_STATIC_MEMORY) + !defined(WOLFSSL_STATIC_MEMORY_LEAN) LOG_ERROR("Before creating SSL\n"); if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1) err_sys("ctx not using static memory"); @@ -3721,7 +3723,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) #endif #if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \ - !defined(WOLFSSL_LEAN_STATIC_MEMORY) + !defined(WOLFSSL_STATIC_MEMORY_LEAN) LOG_ERROR("After creating SSL\n"); if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1) err_sys("ctx not using static memory"); @@ -4429,7 +4431,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) #endif /* display collected statistics */ -#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) +#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) if (wolfSSL_is_static_memory(ssl, &ssl_stats) != 1) err_sys("static memory was not used with ssl"); @@ -4656,7 +4658,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) wolfSSL_shutdown(sslResume); /* bidirectional shutdown */ /* display collected statistics */ - #if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) if (wolfSSL_is_static_memory(sslResume, &ssl_stats) != 1) err_sys("static memory was not used with ssl"); diff --git a/examples/server/server.c b/examples/server/server.c index aef6e189e..cca853a14 100644 --- a/examples/server/server.c +++ b/examples/server/server.c @@ -1601,7 +1601,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args) byte memory[80000]; #endif byte memoryIO[34500]; /* max for IO buffer (TLS packet can be 16k) */ - #if !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if !defined(WOLFSSL_STATIC_MEMORY_LEAN) WOLFSSL_MEM_CONN_STATS ssl_stats; #if defined(DEBUG_WOLFSSL) WOLFSSL_MEM_STATS mem_stats; @@ -2505,7 +2505,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args) err_sys_ex(runWithErrors, "unable to get method"); #ifdef WOLFSSL_STATIC_MEMORY - #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) /* print off helper buffer sizes for use with static memory * printing to stderr in case of debug mode turned on */ LOG_ERROR("static memory management size = %d\n", @@ -2967,7 +2967,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args) } } #if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \ - !defined(WOLFSSL_LEAN_STATIC_MEMORY) + !defined(WOLFSSL_STATIC_MEMORY_LEAN) LOG_ERROR("Before creating SSL\n"); if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1) err_sys_ex(runWithErrors, "ctx not using static memory"); @@ -3057,7 +3057,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args) #endif #if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \ - !defined(WOLFSSL_LEAN_STATIC_MEMORY) + !defined(WOLFSSL_STATIC_MEMORY_LEAN) LOG_ERROR("After creating SSL\n"); if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1) err_sys_ex(runWithErrors, "ctx not using static memory"); @@ -3803,7 +3803,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args) } /* display collected statistics */ -#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) +#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) if (wolfSSL_is_static_memory(ssl, &ssl_stats) != 1) err_sys_ex(runWithErrors, "static memory was not used with ssl"); diff --git a/src/internal.c b/src/internal.c index ce57c241a..66d8b426b 100644 --- a/src/internal.c +++ b/src/internal.c @@ -7242,7 +7242,7 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup) ctx_hint = ((WOLFSSL_HEAP_HINT*)(ctx->heap)); ssl_hint->memory = ctx_hint->memory; - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* lock and check IO count / handshake count */ if (wc_LockMutex(&(ctx_hint->memory->memory_mutex)) != 0) { WOLFSSL_MSG("Bad memory_mutex lock"); @@ -7305,7 +7305,7 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup) } wc_UnLockMutex(&(ctx_hint->memory->memory_mutex)); } - #endif /* !WOLFSSL_LEAN_STATIC_MEMORY */ + #endif /* !WOLFSSL_STATIC_MEMORY_LEAN */ #ifdef WOLFSSL_HEAP_TEST } #endif @@ -8385,7 +8385,7 @@ void SSL_ResourceFree(WOLFSSL* ssl) if (ssl->heap != (void*)WOLFSSL_HEAP_TEST) { #endif void* heap = ssl->ctx ? ssl->ctx->heap : ssl->heap; - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN WOLFSSL_HEAP_HINT* ssl_hint = (WOLFSSL_HEAP_HINT*)ssl->heap; WOLFSSL_HEAP* ctx_heap; @@ -8415,7 +8415,7 @@ void SSL_ResourceFree(WOLFSSL* ssl) if (ctx_heap->flag & WOLFMEM_TRACK_STATS) { XFREE(ssl_hint->stats, heap, DYNAMIC_TYPE_SSL); } - #endif /* !WOLFSSL_LEAN_STATIC_MEMORY */ + #endif /* !WOLFSSL_STATIC_MEMORY_LEAN */ XFREE(ssl->heap, heap, DYNAMIC_TYPE_SSL); #ifdef WOLFSSL_HEAP_TEST } @@ -8688,7 +8688,7 @@ void FreeHandshakeResources(WOLFSSL* ssl) WOLFSSL_MSG("Bad memory_mutex lock"); } #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN if (ctx_heap->curHa > 0) { ctx_heap->curHa--; } diff --git a/src/ssl.c b/src/ssl.c index 090e3cb79..70ba28c2a 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -2573,7 +2573,7 @@ int wolfSSL_is_static_memory(WOLFSSL* ssl, WOLFSSL_MEM_CONN_STATS* mem_stats) } WOLFSSL_ENTER("wolfSSL_is_static_memory"); -#ifndef WOLFSSL_LEAN_STATIC_MEMORY +#ifndef WOLFSSL_STATIC_MEMORY_LEAN /* fill out statistics if wanted and WOLFMEM_TRACK_STATS flag */ if (mem_stats != NULL && ssl->heap != NULL) { WOLFSSL_HEAP_HINT* hint = ((WOLFSSL_HEAP_HINT*)(ssl->heap)); @@ -2596,7 +2596,7 @@ int wolfSSL_CTX_is_static_memory(WOLFSSL_CTX* ctx, WOLFSSL_MEM_STATS* mem_stats) } WOLFSSL_ENTER("wolfSSL_CTX_is_static_memory"); -#ifndef WOLFSSL_LEAN_STATIC_MEMORY +#ifndef WOLFSSL_STATIC_MEMORY_LEAN /* fill out statistics if wanted */ if (mem_stats != NULL && ctx->heap != NULL) { WOLFSSL_HEAP* heap = ((WOLFSSL_HEAP_HINT*)(ctx->heap))->memory; diff --git a/tests/api.c b/tests/api.c index 06be9c1e1..bc73a3515 100644 --- a/tests/api.c +++ b/tests/api.c @@ -66534,7 +66534,7 @@ static int test_wolfSSL_CTX_StaticMemory_SSL(WOLFSSL_CTX* ctx) ExpectNull((ssl3 = wolfSSL_new(ctx))); if (wolfSSL_is_static_memory(ssl1, &ssl_stats) == 1) { - #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) wolfSSL_PrintStatsConn(&ssl_stats); #endif (void)ssl_stats; @@ -66542,7 +66542,7 @@ static int test_wolfSSL_CTX_StaticMemory_SSL(WOLFSSL_CTX* ctx) /* display collected statistics */ if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) == 1) { - #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) + #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) wolfSSL_PrintStats(&mem_stats); #endif (void)mem_stats; diff --git a/wolfcrypt/src/memory.c b/wolfcrypt/src/memory.c index 6efd1a1bb..d9958a9e3 100644 --- a/wolfcrypt/src/memory.c +++ b/wolfcrypt/src/memory.c @@ -38,6 +38,16 @@ Possible memory options: * NO_WOLFSSL_MEMORY: Disables wolf memory callback support. When not defined settings.h defines USE_WOLFSSL_MEMORY. * WOLFSSL_STATIC_MEMORY: Turns on the use of static memory buffers and functions. This allows for using static memory instead of dynamic. + * WOLFSSL_STATIC_MEMORY_LEAN: Requires WOLFSSL_STATIC_MEMORY be defined. + * Uses smaller type sizes for structs + * requiring that memory pool sizes be less + * then 65k and limits features available like + * IO buffers to reduce footprint size. + * WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK: + * Enables option to register a debugging + * callback function, useful for + * WOLFSSL_STATIC_MEMORY builds where XMALLOC + * and XFREE are not user defined. * WOLFSSL_STATIC_ALIGN: Define defaults to 16 to indicate static memory alignment. * HAVE_IO_POOL: Enables use of static thread safe memory pool for input/output buffers. * XMALLOC_OVERRIDE: Allows override of the XMALLOC, XFREE and XREALLOC macros. @@ -514,7 +524,7 @@ void* wolfSSL_Realloc(void *ptr, size_t size) struct wc_Memory { byte* buffer; struct wc_Memory* next; -#ifdef WOLFSSL_LEAN_STATIC_MEMORY +#ifdef WOLFSSL_STATIC_MEMORY_LEAN /* lean static memory is assumed to be under 65k */ word16 sz; #else @@ -526,7 +536,7 @@ struct wc_Memory { }; -#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK +#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK static DebugMemoryCb DebugCb = NULL; /* Used to set a debug memory callback. Helpful in cases where @@ -561,7 +571,7 @@ static int wc_create_memory_buckets(byte* buffer, word32 bufSz, mem->buffer = (byte*)pt + padSz + memSz; mem->next = NULL; - #ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK + #ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK if (DebugCb) { DebugCb(buckSz, buckSz, WOLFSSL_DEBUG_MEMORY_INIT, 0); } @@ -611,7 +621,7 @@ static int wc_partition_static_memory(byte* buffer, word32 sz, int flag, /* divide into chunks of memory and add them to available list */ while (ava >= (word32)(heap->sizeList[0] + padSz + memSz)) { - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* creating only IO buffers from memory passed in, max TLS is 16k */ if (flag & WOLFMEM_IO_POOL || flag & WOLFMEM_IO_POOL_FIXED) { if ((ret = wc_create_memory_buckets(pt, ava, @@ -660,7 +670,7 @@ static int wc_partition_static_memory(byte* buffer, word32 sz, int flag, static int wc_init_memory_heap(WOLFSSL_HEAP* heap, unsigned int listSz, const unsigned int* sizeList, const unsigned int* distList) { - word16 i; + unsigned int i; XMEMSET(heap, 0, sizeof(WOLFSSL_HEAP)); @@ -743,7 +753,7 @@ int wc_LoadStaticMemory_ex(WOLFSSL_HEAP_HINT** pHint, return MEMORY_E; } -#ifndef WOLFSSL_LEAN_STATIC_MEMORY +#ifndef WOLFSSL_STATIC_MEMORY_LEAN /* determine what max applies too */ if ((flag & WOLFMEM_IO_POOL) || (flag & WOLFMEM_IO_POOL_FIXED)) { heap->maxIO = maxSz; @@ -788,7 +798,7 @@ void wc_UnloadStaticMemory(WOLFSSL_HEAP_HINT* heap) } } -#ifndef WOLFSSL_LEAN_STATIC_MEMORY +#ifndef WOLFSSL_STATIC_MEMORY_LEAN /* returns the size of management memory needed for each bucket. * This is memory that is used to keep track of and align memory buckets. */ int wolfSSL_MemoryPaddingSz(void) @@ -828,7 +838,7 @@ int wolfSSL_StaticBufferSz_ex(unsigned int listSz, ava--; } -#ifndef WOLFSSL_LEAN_STATIC_MEMORY +#ifndef WOLFSSL_STATIC_MEMORY_LEAN /* creating only IO buffers from memory passed in, max TLS is 16k */ if (flag & WOLFMEM_IO_POOL || flag & WOLFMEM_IO_POOL_FIXED) { if (ava < (memSz + padSz + WOLFMEM_IO_SZ)) { @@ -946,7 +956,7 @@ int wolfSSL_GetMemStats(WOLFSSL_HEAP* heap, WOLFSSL_MEM_STATS* stats) return 1; } -#endif /* !WOLFSSL_LEAN_STATIC_MEMORY */ +#endif /* !WOLFSSL_STATIC_MEMORY_LEAN */ /* global heap hint to fall back on when no heap hint is passed to @@ -1044,7 +1054,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type) } #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* case of using fixed IO buffers */ if (mem->flag & WOLFMEM_IO_POOL_FIXED && (type == DYNAMIC_TYPE_OUT_BUFFER || @@ -1059,7 +1069,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type) else #endif { - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* check if using IO pool flag */ if (mem->flag & WOLFMEM_IO_POOL && (type == DYNAMIC_TYPE_OUT_BUFFER || @@ -1092,7 +1102,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type) } if (pt != NULL) { - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN mem->alloc += 1; #endif res = pt->buffer; @@ -1101,12 +1111,12 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type) pt->szUsed = size; fprintf(stderr, "Alloc: %p -> %lu at %s:%d\n", pt->buffer, size, func, line); #endif - #ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK + #ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK if (DebugCb) { DebugCb(size, pt->sz, WOLFSSL_DEBUG_MEMORY_ALLOC, type); } #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* keep track of connection statistics if flag is set */ if (mem->flag & WOLFMEM_TRACK_STATS) { WOLFSSL_MEM_CONN_STATS* stats = hint->stats; @@ -1131,7 +1141,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type) fprintf(stderr, "Looking for %lu bytes at %s:%d\n", (unsigned long) size, func, line); #endif - #ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK + #ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK if (DebugCb) { DebugCb(size, 0, WOLFSSL_DEBUG_MEMORY_FAIL, type); } @@ -1227,7 +1237,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type) } #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* case of using fixed IO buffers */ if (mem->flag & WOLFMEM_IO_POOL_FIXED && (type == DYNAMIC_TYPE_OUT_BUFFER || @@ -1249,7 +1259,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type) pt->next = mem->ava[i]; mem->ava[i] = pt; - #ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK + #ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK if (DebugCb) { #ifdef WOLFSSL_DEBUG_MEMORY DebugCb(pt->szUsed, pt->sz, WOLFSSL_DEBUG_MEMORY_FREE, type); @@ -1262,7 +1272,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type) } } } - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN mem->inUse -= pt->sz; mem->frAlc += 1; #endif @@ -1272,7 +1282,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type) pt->szUsed, func, line); #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* keep track of connection statistics if flag is set */ if (mem->flag & WOLFMEM_TRACK_STATS) { WOLFSSL_MEM_CONN_STATS* stats = hint->stats; @@ -1358,7 +1368,7 @@ void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type) } #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN /* case of using fixed IO buffers or IO pool */ if (((mem->flag & WOLFMEM_IO_POOL)||(mem->flag & WOLFMEM_IO_POOL_FIXED)) && (type == DYNAMIC_TYPE_OUT_BUFFER || @@ -1395,7 +1405,7 @@ void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type) sizeof(wc_Memory)))->sz; prvSz = (prvSz > pt->sz)? pt->sz: prvSz; XMEMCPY(pt->buffer, ptr, prvSz); - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN mem->inUse += pt->sz; mem->alloc += 1; #endif diff --git a/wolfcrypt/test/test.c b/wolfcrypt/test/test.c index e6c276b8b..fec1918bb 100644 --- a/wolfcrypt/test/test.c +++ b/wolfcrypt/test/test.c @@ -17406,7 +17406,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t memory_test(void) } } -#ifndef WOLFSSL_LEAN_STATIC_MEMORY +#ifndef WOLFSSL_STATIC_MEMORY_LEAN /* check that padding size returned is possible */ if (wolfSSL_MemoryPaddingSz() < WOLFSSL_STATIC_ALIGN) { return WC_TEST_RET_ENC_NC; /* no room for wc_Memory struct */ diff --git a/wolfssl/test.h b/wolfssl/test.h index 4bf16a710..4dd6320e7 100644 --- a/wolfssl/test.h +++ b/wolfssl/test.h @@ -3102,7 +3102,7 @@ static WC_INLINE void FreeAtomicUser(WOLFSSL* ssl) #endif /* ATOMIC_USER */ -#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY) +#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN) static WC_INLINE int wolfSSL_PrintStats(WOLFSSL_MEM_STATS* stats) { word16 i; diff --git a/wolfssl/wolfcrypt/memory.h b/wolfssl/wolfcrypt/memory.h index a91484f8b..31b6a28f5 100644 --- a/wolfssl/wolfcrypt/memory.h +++ b/wolfssl/wolfcrypt/memory.h @@ -214,11 +214,11 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf, typedef struct wc_Memory wc_Memory; /* internal structure for mem bucket */ typedef struct WOLFSSL_HEAP { wc_Memory* ava[WOLFMEM_MAX_BUCKETS]; - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN wc_Memory* io; /* list of buffers to use for IO */ #endif - #ifdef WOLFSSL_LEAN_STATIC_MEMORY + #ifdef WOLFSSL_STATIC_MEMORY_LEAN word16 sizeList[WOLFMEM_MAX_BUCKETS];/* memory sizes in ava list */ byte distList[WOLFMEM_MAX_BUCKETS];/* general distribution */ #else @@ -232,7 +232,7 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf, word32 ioUse; #endif - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN word32 alloc; /* total number of allocs */ word32 frAlc; /* total number of frees */ int flag; @@ -248,7 +248,7 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf, typedef struct WOLFSSL_HEAP_HINT { WOLFSSL_HEAP* memory; WOLFSSL_MEM_CONN_STATS* stats; /* hold individual connection stats */ - #ifndef WOLFSSL_LEAN_STATIC_MEMORY + #ifndef WOLFSSL_STATIC_MEMORY_LEAN wc_Memory* outBuf; /* set if using fixed io buffers */ wc_Memory* inBuf; byte haFlag; /* flag used for checking handshake count */ @@ -261,7 +261,7 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf, unsigned int listSz, const unsigned int *sizeList, const unsigned int *distList, unsigned char* buf, unsigned int sz, int flag, int max); -#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK +#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK #define WOLFSSL_DEBUG_MEMORY_ALLOC 0 #define WOLFSSL_DEBUG_MEMORY_FAIL 1 #define WOLFSSL_DEBUG_MEMORY_FREE 2 diff --git a/wolfssl/wolfcrypt/settings.h b/wolfssl/wolfcrypt/settings.h index 3be750bb8..146e5c594 100644 --- a/wolfssl/wolfcrypt/settings.h +++ b/wolfssl/wolfcrypt/settings.h @@ -3259,7 +3259,8 @@ extern void uITRON4_free(void *p) ; #if defined(WOLFSSL_NO_MALLOC) && \ (defined(WOLFSSL_SMALL_STACK) || defined(WOLFSSL_SMALL_STACK_CACHE)) && \ !defined(WOLFSSL_STATIC_MEMORY) - #error Small stack cannot be used with no malloc (WOLFSSL_NO_MALLOC) + #error Small stack cannot be used with no malloc (WOLFSSL_NO_MALLOC) and \ + without staticmemory (WOLFSSL_STATIC_MEMORY) #endif /* If malloc is disabled make sure it is also disabled in SP math */