Skip to content

Commit

Permalink
Threading Fix
Browse files Browse the repository at this point in the history
1. The wolfSSL version number to check for the old threading code was
   v5.5.2, not v5.5.1.
2. A new wrapper was introduced around return for threading in what will
   be wolfSSL v5.6.4. Added that wrapper if it didn't exist.
3. Some other types for threading are added in v5.6.4, wolfSSH needs to
   use the old threading model if using wolfSSL v5.6.3.
  • Loading branch information
ejohnstown committed Oct 20, 2023
1 parent 74cf1d4 commit 44ab214
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions wolfssh/test.h
Original file line number Diff line number Diff line change
Expand Up @@ -887,6 +887,8 @@ static INLINE void WaitTcpReady(func_args* args)
#endif /* WOLFSSH_TEST_LOCKING */


#include <wolfssl/options.h>
#include <wolfssl/wolfcrypt/types.h>
#include <wolfssl/version.h>

/*
Expand All @@ -899,10 +901,11 @@ static INLINE void WaitTcpReady(func_args* args)
* used by the examples to define themselves for use as threads by the test
* tools, but they themselves do not use threading.
*/
#define WOLFSSL_V5_5_1 0x05005001
#define WOLFSSL_V5_5_2 0x05005002
#define WOLFSSL_V5_6_4 0x05006004

#if (LIBWOLFSSL_VERSION_HEX < WOLFSSL_V5_5_1) && !defined(WOLFSSL_THREAD)
#define WOLFSSH_OLD_THREADING
#if (LIBWOLFSSL_VERSION_HEX < WOLFSSL_V5_5_2) && !defined(WOLFSSL_THREAD)
#define WOLFSSH_OLDER_THREADING
#ifdef SINGLE_THREADED
typedef unsigned int THREAD_RETURN;
typedef void* THREAD_TYPE;
Expand All @@ -927,11 +930,17 @@ static INLINE void WaitTcpReady(func_args* args)
#define WOLFSSH_THREAD WOLFSSL_THREAD
#endif

#if (LIBWOLFSSL_VERSION_HEX < WOLFSSL_V5_6_4) \
&& !defined(WOLFSSL_RETURN_FROM_THREAD)
#define WOLFSSL_RETURN_FROM_THREAD(x) return (THREAD_RETURN)(x)
#define WOLFSSH_OLD_THREADING
#endif


#ifdef WOLFSSH_TEST_THREADING


#ifndef WOLFSSH_OLD_THREADING
#if !defined(WOLFSSH_OLD_THREADING) && !defined(WOLFSSH_OLDER_THREADING)

static INLINE void ThreadStart(THREAD_CB fun, void* args, THREAD_TYPE* thread)
{
Expand Down

0 comments on commit 44ab214

Please sign in to comment.