@@ -1865,6 +1865,39 @@ static int client_srtp_test(WOLFSSL *ssl, func_args *args)
18651865}
18661866#endif /* WOLFSSL_SRTP */
18671867
1868+ #if defined(WOLFSSL_STATIC_MEMORY ) && \
1869+ defined(WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK )
1870+ static void ExampleDebugMemoryCb (size_t sz , int bucketSz , byte st , int type ) {
1871+ switch (st ) {
1872+ case WOLFSSL_DEBUG_MEMORY_ALLOC :
1873+ if (type == DYNAMIC_TYPE_IN_BUFFER ) {
1874+ printf ("IN BUFFER: " );
1875+ }
1876+
1877+ if (type == DYNAMIC_TYPE_OUT_BUFFER ) {
1878+ printf ("OUT BUFFER: " );
1879+ }
1880+
1881+ printf ("Alloc'd %d bytes using bucket size %d\n" , (int )sz ,
1882+ bucketSz );
1883+ break ;
1884+
1885+ case WOLFSSL_DEBUG_MEMORY_FAIL :
1886+ printf ("Failed when trying to allocate %d bytes\n" , (int )sz );
1887+ break ;
1888+
1889+ case WOLFSSL_DEBUG_MEMORY_FREE :
1890+ printf ("Free'ing : %d\n" , (int )sz );
1891+ break ;
1892+
1893+ case WOLFSSL_DEBUG_MEMORY_INIT :
1894+ printf ("Creating memory bucket of size : %d\n" , bucketSz );
1895+ break ;
1896+ }
1897+ }
1898+ #endif
1899+
1900+
18681901
18691902THREAD_RETURN WOLFSSL_THREAD client_test (void * args )
18701903{
@@ -2096,10 +2129,12 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
20962129 byte memory [80000 ];
20972130 #endif
20982131 byte memoryIO [34500 ]; /* max for IO buffer (TLS packet can be 16k) */
2132+ #if !defined(WOLFSSL_STATIC_MEMORY_LEAN )
20992133 WOLFSSL_MEM_CONN_STATS ssl_stats ;
2100- #ifdef DEBUG_WOLFSSL
2134+ #if defined( DEBUG_WOLFSSL )
21012135 WOLFSSL_MEM_STATS mem_stats ;
21022136 #endif
2137+ #endif
21032138 WOLFSSL_HEAP_HINT * heap = NULL ;
21042139#endif
21052140
@@ -3026,7 +3061,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
30263061
30273062
30283063#ifdef WOLFSSL_STATIC_MEMORY
3029- #ifdef DEBUG_WOLFSSL
3064+ #if defined( DEBUG_WOLFSSL ) && !defined( WOLFSSL_STATIC_MEMORY_LEAN )
30303065 /* print off helper buffer sizes for use with static memory
30313066 * printing to stderr in case of debug mode turned on */
30323067 LOG_ERROR ("static memory management size = %d\n" ,
@@ -3043,6 +3078,10 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
30433078 err_sys ("unable to load static memory" );
30443079 }
30453080
3081+ #if defined(WOLFSSL_STATIC_MEMORY ) && \
3082+ defined(WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK )
3083+ wolfSSL_SetDebugMemoryCb (ExampleDebugMemoryCb );
3084+ #endif
30463085 ctx = wolfSSL_CTX_new_ex (method (heap ), heap );
30473086 if (ctx == NULL )
30483087 err_sys ("unable to get ctx" );
@@ -3584,7 +3623,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
35843623 }
35853624 #endif
35863625
3587- #if defined(WOLFSSL_STATIC_MEMORY ) && defined(DEBUG_WOLFSSL )
3626+ #if defined(WOLFSSL_STATIC_MEMORY ) && defined(DEBUG_WOLFSSL ) && \
3627+ !defined(WOLFSSL_STATIC_MEMORY_LEAN )
35883628 LOG_ERROR ("Before creating SSL\n" );
35893629 if (wolfSSL_CTX_is_static_memory (ctx , & mem_stats ) != 1 )
35903630 err_sys ("ctx not using static memory" );
@@ -3682,7 +3722,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
36823722 }
36833723#endif
36843724
3685- #if defined(WOLFSSL_STATIC_MEMORY ) && defined(DEBUG_WOLFSSL )
3725+ #if defined(WOLFSSL_STATIC_MEMORY ) && defined(DEBUG_WOLFSSL ) && \
3726+ !defined(WOLFSSL_STATIC_MEMORY_LEAN )
36863727 LOG_ERROR ("After creating SSL\n" );
36873728 if (wolfSSL_CTX_is_static_memory (ctx , & mem_stats ) != 1 )
36883729 err_sys ("ctx not using static memory" );
@@ -4390,7 +4431,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
43904431#endif
43914432
43924433 /* display collected statistics */
4393- #ifdef WOLFSSL_STATIC_MEMORY
4434+ #if defined( WOLFSSL_STATIC_MEMORY ) && !defined( WOLFSSL_STATIC_MEMORY_LEAN )
43944435 if (wolfSSL_is_static_memory (ssl , & ssl_stats ) != 1 )
43954436 err_sys ("static memory was not used with ssl" );
43964437
@@ -4617,7 +4658,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
46174658 wolfSSL_shutdown (sslResume ); /* bidirectional shutdown */
46184659
46194660 /* display collected statistics */
4620- #ifdef WOLFSSL_STATIC_MEMORY
4661+ #if defined( WOLFSSL_STATIC_MEMORY ) && !defined( WOLFSSL_STATIC_MEMORY_LEAN )
46214662 if (wolfSSL_is_static_memory (sslResume , & ssl_stats ) != 1 )
46224663 err_sys ("static memory was not used with ssl" );
46234664
0 commit comments