From 470e839b26bc874a7bb3cda08756e5e53a707fae Mon Sep 17 00:00:00 2001 From: Juliusz Sosinowicz Date: Fri, 22 Sep 2023 12:19:01 +0200 Subject: [PATCH] Misc zephyr fixes - Need to call fs_file_t_init() before calling fs_open() - 0 is a valid POSIX socket number - Include stdio.h when needed to simplify macro logic - Define Zephyr specific macros in CMakeLists.txt to make for a better user experience --- wolfcrypt/src/wc_port.c | 1 + wolfssl/test.h | 2 +- wolfssl/wolfcrypt/types.h | 9 ++------- zephyr/CMakeLists.txt | 9 ++++++--- zephyr/samples/wolfssl_tls_sock/prj.conf | 3 --- zephyr/user_settings-tls-generic.h | 8 -------- zephyr/user_settings.h | 8 -------- 7 files changed, 10 insertions(+), 30 deletions(-) diff --git a/wolfcrypt/src/wc_port.c b/wolfcrypt/src/wc_port.c index 75a9ef244a..6547996e7c 100644 --- a/wolfcrypt/src/wc_port.c +++ b/wolfcrypt/src/wc_port.c @@ -973,6 +973,7 @@ XFILE z_fs_open(const char* filename, const char* mode) file = (XFILE)XMALLOC(sizeof(*file), NULL, DYNAMIC_TYPE_FILE); if (file != NULL) { + fs_file_t_init(file); if (fs_open(file, filename, flags) != 0) { XFREE(file, NULL, DYNAMIC_TYPE_FILE); file = NULL; diff --git a/wolfssl/test.h b/wolfssl/test.h index 5d7974b245..d899d97c20 100644 --- a/wolfssl/test.h +++ b/wolfssl/test.h @@ -253,7 +253,7 @@ #elif defined(WOLFSSL_TIRTOS) #define WOLFSSL_SOCKET_INVALID ((SOCKET_T)-1) #else - #define WOLFSSL_SOCKET_INVALID (SOCKET_T)(0) + #define WOLFSSL_SOCKET_INVALID (SOCKET_T)(-1) #endif #endif /* WOLFSSL_SOCKET_INVALID */ diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 3aa3caf1df..738be974c0 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -761,13 +761,6 @@ typedef struct w64wrapper { debugging is turned on */ #ifndef USE_WINDOWS_API #ifndef XSNPRINTF - #if defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) && \ - (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \ - defined(WOLFSSL_CERT_EXT) || defined(HAVE_PKCS7)) - /* case where stdio is not included else where but is needed - for snprintf */ - #include - #endif #if defined(WOLFSSL_ESPIDF) && \ (!defined(NO_ASN_TIME) && defined(HAVE_PKCS7)) #include @@ -797,8 +790,10 @@ typedef struct w64wrapper { } #define XSNPRINTF _xsnprintf_ #elif defined(WOLF_C89) + #include #define XSPRINTF sprintf #else + #include #define XSNPRINTF snprintf #endif #endif diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index 36b19b953b..bf8fe1a77b 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -113,9 +113,12 @@ if(CONFIG_WOLFSSL) zephyr_library_sources(${ZEPHYR_CURRENT_MODULE_DIR}/wolfcrypt/src/port/st/stm32.c) zephyr_library_link_libraries(wolfSSL) - - add_definitions(-DWOLFSSL_USER_SETTINGS) - add_definitions(-DWOLFSSL_ZEPHYR) + + target_compile_definitions(wolfSSL INTERFACE WOLFSSL_ZEPHYR) + target_compile_definitions(wolfSSL INTERFACE WOLFSSL_USER_SETTINGS) + if(CONFIG_WOLFSSL_DEBUG) + target_compile_definitions(wolfSSL INTERFACE DEBUG_WOLFSSL) + endif() else() assert(CONFIG_WOLFSSL_LIBRARY "wolfSSL was enabled, but neither BUILTIN or LIBRARY was selected.") diff --git a/zephyr/samples/wolfssl_tls_sock/prj.conf b/zephyr/samples/wolfssl_tls_sock/prj.conf index 969299b320..f8b0f292ee 100644 --- a/zephyr/samples/wolfssl_tls_sock/prj.conf +++ b/zephyr/samples/wolfssl_tls_sock/prj.conf @@ -23,9 +23,6 @@ CONFIG_NET_SOCKETS_POSIX_NAMES=y CONFIG_NET_TEST=y CONFIG_NET_LOOPBACK=y -CONFIG_DNS_RESOLVER=y -CONFIG_DNS_SERVER_IP_ADDRESSES=y -CONFIG_DNS_SERVER1="192.0.2.2" # Network driver config CONFIG_TEST_RANDOM_GENERATOR=y diff --git a/zephyr/user_settings-tls-generic.h b/zephyr/user_settings-tls-generic.h index 1ebad1e744..32a28bbc2c 100644 --- a/zephyr/user_settings-tls-generic.h +++ b/zephyr/user_settings-tls-generic.h @@ -28,9 +28,6 @@ extern "C" { #endif -#undef WOLFSSL_ZEPHYR -#define WOLFSSL_ZEPHYR - #if 0 #undef SINGLE_THREADED #define SINGLE_THREADED @@ -147,11 +144,6 @@ extern "C" { #define WOLFSSL_HAVE_SP_ECC #endif -#if defined(CONFIG_WOLFSSL_DEBUG) -#undef DEBUG_WOLFSSL -#define DEBUG_WOLFSSL -#endif - #ifdef __cplusplus } #endif diff --git a/zephyr/user_settings.h b/zephyr/user_settings.h index f5b00526df..ba0ba9b2e7 100644 --- a/zephyr/user_settings.h +++ b/zephyr/user_settings.h @@ -33,9 +33,6 @@ extern "C" { #endif -#undef WOLFSSL_ZEPHYR -#define WOLFSSL_ZEPHYR - #if 0 #undef SINGLE_THREADED #define SINGLE_THREADED @@ -140,11 +137,6 @@ extern "C" { #define WOLFSSL_HAVE_SP_ECC #endif -#if defined(CONFIG_WOLFSSL_DEBUG) -#undef DEBUG_WOLFSSL -#define DEBUG_WOLFSSL -#endif - #ifdef __cplusplus } #endif