mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
@ -799,20 +799,19 @@ doExit:
|
|||||||
if (exitWithRet)
|
if (exitWithRet)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
printf(
|
#ifdef __MINGW32__
|
||||||
#if !defined(__MINGW32__)
|
#define SIZE_FMT "%d"
|
||||||
"wolfSSL Client Benchmark %zu bytes\n"
|
#define SIZE_TYPE int
|
||||||
#else
|
#else
|
||||||
"wolfSSL Client Benchmark %d bytes\n"
|
#define SIZE_FMT "%zu"
|
||||||
|
#define SIZE_TYPE size_t
|
||||||
#endif
|
#endif
|
||||||
|
printf(
|
||||||
|
"wolfSSL Client Benchmark " SIZE_FMT " bytes\n"
|
||||||
"\tConnect %8.3f ms\n"
|
"\tConnect %8.3f ms\n"
|
||||||
"\tTX %8.3f ms (%8.3f MBps)\n"
|
"\tTX %8.3f ms (%8.3f MBps)\n"
|
||||||
"\tRX %8.3f ms (%8.3f MBps)\n",
|
"\tRX %8.3f ms (%8.3f MBps)\n",
|
||||||
#if !defined(__MINGW32__)
|
(SIZE_TYPE)throughput,
|
||||||
throughput,
|
|
||||||
#else
|
|
||||||
(int)throughput,
|
|
||||||
#endif
|
|
||||||
conn_time * 1000,
|
conn_time * 1000,
|
||||||
tx_time * 1000, throughput / tx_time / 1024 / 1024,
|
tx_time * 1000, throughput / tx_time / 1024 / 1024,
|
||||||
rx_time * 1000, throughput / rx_time / 1024 / 1024
|
rx_time * 1000, throughput / rx_time / 1024 / 1024
|
||||||
@ -4456,7 +4455,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
|
|||||||
exit:
|
exit:
|
||||||
|
|
||||||
#ifdef WOLFSSL_WOLFSENTRY_HOOKS
|
#ifdef WOLFSSL_WOLFSENTRY_HOOKS
|
||||||
wolfsentry_ret = wolfsentry_shutdown(&wolfsentry);
|
wolfsentry_ret =
|
||||||
|
wolfsentry_shutdown(WOLFSENTRY_CONTEXT_ARGS_OUT_EX(&wolfsentry));
|
||||||
if (wolfsentry_ret < 0) {
|
if (wolfsentry_ret < 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"wolfsentry_shutdown() returned " WOLFSENTRY_ERROR_FMT "\n",
|
"wolfsentry_shutdown() returned " WOLFSENTRY_ERROR_FMT "\n",
|
||||||
|
@ -499,19 +499,18 @@ int ServerEchoData(SSL* ssl, int clientfd, int echoData, int block,
|
|||||||
free(buffer);
|
free(buffer);
|
||||||
|
|
||||||
if (throughput) {
|
if (throughput) {
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
#define SIZE_FMT "%d"
|
||||||
|
#define SIZE_TYPE int
|
||||||
|
#else
|
||||||
|
#define SIZE_FMT "%zu"
|
||||||
|
#define SIZE_TYPE size_t
|
||||||
|
#endif
|
||||||
printf(
|
printf(
|
||||||
#if !defined(__MINGW32__)
|
"wolfSSL Server Benchmark " SIZE_FMT " bytes\n"
|
||||||
"wolfSSL Server Benchmark %zu bytes\n"
|
|
||||||
#else
|
|
||||||
"wolfSSL Server Benchmark %d bytes\n"
|
|
||||||
#endif
|
|
||||||
"\tRX %8.3f ms (%8.3f MBps)\n"
|
"\tRX %8.3f ms (%8.3f MBps)\n"
|
||||||
"\tTX %8.3f ms (%8.3f MBps)\n",
|
"\tTX %8.3f ms (%8.3f MBps)\n",
|
||||||
#if !defined(__MINGW32__)
|
(SIZE_TYPE)throughput,
|
||||||
throughput,
|
|
||||||
#else
|
|
||||||
(int)throughput,
|
|
||||||
#endif
|
|
||||||
rx_time * 1000, throughput / rx_time / 1024 / 1024,
|
rx_time * 1000, throughput / rx_time / 1024 / 1024,
|
||||||
tx_time * 1000, throughput / tx_time / 1024 / 1024
|
tx_time * 1000, throughput / tx_time / 1024 / 1024
|
||||||
);
|
);
|
||||||
@ -3715,7 +3714,8 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
|
|||||||
exit:
|
exit:
|
||||||
|
|
||||||
#ifdef WOLFSSL_WOLFSENTRY_HOOKS
|
#ifdef WOLFSSL_WOLFSENTRY_HOOKS
|
||||||
wolfsentry_ret = wolfsentry_shutdown(&wolfsentry);
|
wolfsentry_ret =
|
||||||
|
wolfsentry_shutdown(WOLFSENTRY_CONTEXT_ARGS_OUT_EX(&wolfsentry));
|
||||||
if (wolfsentry_ret < 0) {
|
if (wolfsentry_ret < 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"wolfsentry_shutdown() returned " WOLFSENTRY_ERROR_FMT "\n",
|
"wolfsentry_shutdown() returned " WOLFSENTRY_ERROR_FMT "\n",
|
||||||
|
@ -1293,7 +1293,7 @@ static const char* bench_result_words2[][5] = {
|
|||||||
|
|
||||||
/* maximum runtime for each benchmark */
|
/* maximum runtime for each benchmark */
|
||||||
#ifndef BENCH_MIN_RUNTIME_SEC
|
#ifndef BENCH_MIN_RUNTIME_SEC
|
||||||
#define BENCH_MIN_RUNTIME_SEC 1.0f
|
#define BENCH_MIN_RUNTIME_SEC 1.0F
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_AESGCM) || defined(HAVE_AESCCM)
|
#if defined(HAVE_AESGCM) || defined(HAVE_AESCCM)
|
||||||
|
@ -13830,11 +13830,13 @@ int GetFormattedTime(void* currTime, byte* buf, word32 len)
|
|||||||
return BUFFER_E;
|
return BUFFER_E;
|
||||||
}
|
}
|
||||||
ret = XSPRINTF((char*)buf,
|
ret = XSPRINTF((char*)buf,
|
||||||
#else
|
|
||||||
ret = XSNPRINTF((char*)buf, len,
|
|
||||||
#endif
|
|
||||||
"%02d%02d%02d%02d%02d%02dZ", year, mon, day,
|
"%02d%02d%02d%02d%02d%02dZ", year, mon, day,
|
||||||
hour, mini, sec);
|
hour, mini, sec);
|
||||||
|
#else
|
||||||
|
ret = XSNPRINTF((char*)buf, len,
|
||||||
|
"%02d%02d%02d%02d%02d%02dZ", year, mon, day,
|
||||||
|
hour, mini, sec);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* GeneralizedTime */
|
/* GeneralizedTime */
|
||||||
@ -13850,11 +13852,13 @@ int GetFormattedTime(void* currTime, byte* buf, word32 len)
|
|||||||
return BUFFER_E;
|
return BUFFER_E;
|
||||||
}
|
}
|
||||||
ret = XSPRINTF((char*)buf,
|
ret = XSPRINTF((char*)buf,
|
||||||
#else
|
|
||||||
ret = XSNPRINTF((char*)buf, len,
|
|
||||||
#endif
|
|
||||||
"%4d%02d%02d%02d%02d%02dZ", year, mon, day,
|
"%4d%02d%02d%02d%02d%02dZ", year, mon, day,
|
||||||
hour, mini, sec);
|
hour, mini, sec);
|
||||||
|
#else
|
||||||
|
ret = XSNPRINTF((char*)buf, len,
|
||||||
|
"%4d%02d%02d%02d%02d%02dZ", year, mon, day,
|
||||||
|
hour, mini, sec);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
100
wolfssl/test.h
100
wolfssl/test.h
@ -1414,6 +1414,16 @@ static WC_INLINE void tcp_socket(SOCKET_T* sockfd, int udp, int sctp)
|
|||||||
#include <wolfsentry/wolfsentry_json.h>
|
#include <wolfsentry/wolfsentry_json.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WOLFSENTRY_VERSION_GE)
|
||||||
|
#if WOLFSENTRY_VERSION_GE(0, 8, 0)
|
||||||
|
#define HAVE_WOLFSENTRY_API_0v8
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_WOLFSENTRY_API_0v8
|
||||||
|
#define WOLFSENTRY_CONTEXT_ARGS_OUT_EX(x) (x)
|
||||||
|
#endif
|
||||||
|
|
||||||
struct wolfsentry_data {
|
struct wolfsentry_data {
|
||||||
WOLFSENTRY_SOCKADDR(128) remote;
|
WOLFSENTRY_SOCKADDR(128) remote;
|
||||||
WOLFSENTRY_SOCKADDR(128) local;
|
WOLFSENTRY_SOCKADDR(128) local;
|
||||||
@ -1517,11 +1527,21 @@ static int wolfSentry_NetworkFilterCallback(
|
|||||||
wolfsentry_errcode_t ret;
|
wolfsentry_errcode_t ret;
|
||||||
wolfsentry_action_res_t action_results;
|
wolfsentry_action_res_t action_results;
|
||||||
|
|
||||||
|
#if defined(WOLFSENTRY_THREADSAFE) && defined(HAVE_WOLFSENTRY_API_0v8)
|
||||||
|
WOLFSENTRY_THREAD_HEADER(WOLFSENTRY_THREAD_FLAG_NONE);
|
||||||
|
if (WOLFSENTRY_THREAD_GET_ERROR < 0) {
|
||||||
|
fprintf(stderr, "wolfsentry thread init error: "
|
||||||
|
WOLFSENTRY_ERROR_FMT "\n",
|
||||||
|
WOLFSENTRY_ERROR_FMT_ARGS(WOLFSENTRY_THREAD_GET_ERROR));
|
||||||
|
return WOLFSSL_FAILURE;
|
||||||
|
}
|
||||||
|
#endif /* WOLFSENTRY_THREADSAFE && HAVE_WOLFSENTRY_API_0v8 */
|
||||||
|
|
||||||
if ((data = wolfSSL_get_ex_data(ssl, wolfsentry_data_index)) == NULL)
|
if ((data = wolfSSL_get_ex_data(ssl, wolfsentry_data_index)) == NULL)
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
|
|
||||||
ret = wolfsentry_route_event_dispatch(
|
ret = wolfsentry_route_event_dispatch(
|
||||||
_wolfsentry,
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(_wolfsentry),
|
||||||
(const struct wolfsentry_sockaddr *)&data->remote,
|
(const struct wolfsentry_sockaddr *)&data->remote,
|
||||||
(const struct wolfsentry_sockaddr *)&data->local,
|
(const struct wolfsentry_sockaddr *)&data->local,
|
||||||
data->flags,
|
data->flags,
|
||||||
@ -1562,6 +1582,14 @@ static int wolfSentry_NetworkFilterCallback(
|
|||||||
*decision == WOLFSSL_NETFILTER_PASS ? "PASS" :
|
*decision == WOLFSSL_NETFILTER_PASS ? "PASS" :
|
||||||
"???");
|
"???");
|
||||||
|
|
||||||
|
#if defined(WOLFSENTRY_THREADSAFE) && defined(HAVE_WOLFSENTRY_API_0v8)
|
||||||
|
ret = WOLFSENTRY_THREAD_TAILER(WOLFSENTRY_THREAD_FLAG_NONE);
|
||||||
|
if (ret < 0) {
|
||||||
|
fprintf(stderr, "wolfsentry thread exit error: "
|
||||||
|
WOLFSENTRY_ERROR_FMT "\n", WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return WOLFSSL_SUCCESS;
|
return WOLFSSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1571,8 +1599,25 @@ static int wolfsentry_setup(
|
|||||||
wolfsentry_route_flags_t route_flags)
|
wolfsentry_route_flags_t route_flags)
|
||||||
{
|
{
|
||||||
wolfsentry_errcode_t ret;
|
wolfsentry_errcode_t ret;
|
||||||
|
|
||||||
|
#ifdef HAVE_WOLFSENTRY_API_0v8
|
||||||
|
#ifdef WOLFSENTRY_THREADSAFE
|
||||||
|
WOLFSENTRY_THREAD_HEADER(WOLFSENTRY_THREAD_FLAG_NONE);
|
||||||
|
if (WOLFSENTRY_THREAD_GET_ERROR < 0) {
|
||||||
|
fprintf(stderr, "wolfsentry thread init error: "
|
||||||
|
WOLFSENTRY_ERROR_FMT "\n",
|
||||||
|
WOLFSENTRY_ERROR_FMT_ARGS(WOLFSENTRY_THREAD_GET_ERROR));
|
||||||
|
err_sys("unable to initialize wolfSentry thread context");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
ret = wolfsentry_init(wolfsentry_build_settings,
|
||||||
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(NULL /* hpi */),
|
||||||
|
NULL /* default config */,
|
||||||
|
_wolfsentry);
|
||||||
|
#else
|
||||||
ret = wolfsentry_init(NULL /* hpi */, NULL /* default config */,
|
ret = wolfsentry_init(NULL /* hpi */, NULL /* default config */,
|
||||||
_wolfsentry);
|
_wolfsentry);
|
||||||
|
#endif
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
fprintf(stderr, "wolfsentry_init() returned " WOLFSENTRY_ERROR_FMT "\n",
|
fprintf(stderr, "wolfsentry_init() returned " WOLFSENTRY_ERROR_FMT "\n",
|
||||||
WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
||||||
@ -1597,7 +1642,7 @@ static int wolfsentry_setup(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((ret = wolfsentry_config_json_init(
|
if ((ret = wolfsentry_config_json_init(
|
||||||
*_wolfsentry,
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry),
|
||||||
WOLFSENTRY_CONFIG_LOAD_FLAG_NONE,
|
WOLFSENTRY_CONFIG_LOAD_FLAG_NONE,
|
||||||
&jps)) < 0) {
|
&jps)) < 0) {
|
||||||
fprintf(stderr, "wolfsentry_config_json_init() returned "
|
fprintf(stderr, "wolfsentry_config_json_init() returned "
|
||||||
@ -1633,14 +1678,15 @@ static int wolfsentry_setup(
|
|||||||
{
|
{
|
||||||
struct wolfsentry_route_table *table;
|
struct wolfsentry_route_table *table;
|
||||||
|
|
||||||
if ((ret = wolfsentry_route_get_main_table(*_wolfsentry,
|
if ((ret = wolfsentry_route_get_main_table(
|
||||||
&table)) < 0)
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry),
|
||||||
|
&table)) < 0)
|
||||||
|
{
|
||||||
fprintf(stderr, "wolfsentry_route_get_main_table() returned "
|
fprintf(stderr, "wolfsentry_route_get_main_table() returned "
|
||||||
WOLFSENTRY_ERROR_FMT "\n",
|
WOLFSENTRY_ERROR_FMT "\n",
|
||||||
WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
||||||
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
if (WOLFSENTRY_MASKIN_BITS(route_flags, WOLFSENTRY_ROUTE_FLAG_DIRECTION_OUT)) {
|
if (WOLFSENTRY_MASKIN_BITS(route_flags, WOLFSENTRY_ROUTE_FLAG_DIRECTION_OUT)) {
|
||||||
WOLFSENTRY_SOCKADDR(128) remote, local;
|
WOLFSENTRY_SOCKADDR(128) remote, local;
|
||||||
@ -1648,7 +1694,8 @@ static int wolfsentry_setup(
|
|||||||
wolfsentry_action_res_t action_results;
|
wolfsentry_action_res_t action_results;
|
||||||
|
|
||||||
if ((ret = wolfsentry_route_table_default_policy_set(
|
if ((ret = wolfsentry_route_table_default_policy_set(
|
||||||
*_wolfsentry, table,
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry),
|
||||||
|
table,
|
||||||
WOLFSENTRY_ACTION_RES_ACCEPT))
|
WOLFSENTRY_ACTION_RES_ACCEPT))
|
||||||
< 0) {
|
< 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
@ -1671,7 +1718,8 @@ static int wolfsentry_setup(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((ret = wolfsentry_route_insert
|
if ((ret = wolfsentry_route_insert
|
||||||
(*_wolfsentry, NULL /* caller_context */,
|
(WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry),
|
||||||
|
NULL /* caller_context */,
|
||||||
(const struct wolfsentry_sockaddr *)&remote,
|
(const struct wolfsentry_sockaddr *)&remote,
|
||||||
(const struct wolfsentry_sockaddr *)&local,
|
(const struct wolfsentry_sockaddr *)&local,
|
||||||
route_flags |
|
route_flags |
|
||||||
@ -1696,7 +1744,7 @@ static int wolfsentry_setup(
|
|||||||
wolfsentry_action_res_t action_results;
|
wolfsentry_action_res_t action_results;
|
||||||
|
|
||||||
if ((ret = wolfsentry_route_table_default_policy_set(
|
if ((ret = wolfsentry_route_table_default_policy_set(
|
||||||
*_wolfsentry, table,
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry), table,
|
||||||
WOLFSENTRY_ACTION_RES_REJECT|WOLFSENTRY_ACTION_RES_STOP))
|
WOLFSENTRY_ACTION_RES_REJECT|WOLFSENTRY_ACTION_RES_STOP))
|
||||||
< 0) {
|
< 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
@ -1719,8 +1767,10 @@ static int wolfsentry_setup(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((ret = wolfsentry_route_insert
|
if ((ret = wolfsentry_route_insert
|
||||||
(*_wolfsentry, NULL /* caller_context */,
|
(WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry),
|
||||||
(const struct wolfsentry_sockaddr *)&remote, (const struct wolfsentry_sockaddr *)&local,
|
NULL /* caller_context */,
|
||||||
|
(const struct wolfsentry_sockaddr *)&remote,
|
||||||
|
(const struct wolfsentry_sockaddr *)&local,
|
||||||
route_flags |
|
route_flags |
|
||||||
WOLFSENTRY_ROUTE_FLAG_GREENLISTED |
|
WOLFSENTRY_ROUTE_FLAG_GREENLISTED |
|
||||||
WOLFSENTRY_ROUTE_FLAG_PARENT_EVENT_WILDCARD |
|
WOLFSENTRY_ROUTE_FLAG_PARENT_EVENT_WILDCARD |
|
||||||
@ -1740,6 +1790,14 @@ static int wolfsentry_setup(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WOLFSENTRY_THREADSAFE) && defined(HAVE_WOLFSENTRY_API_0v8)
|
||||||
|
ret = WOLFSENTRY_THREAD_TAILER(WOLFSENTRY_THREAD_FLAG_NONE);
|
||||||
|
if (ret < 0) {
|
||||||
|
fprintf(stderr, "wolfsentry thread exit error: "
|
||||||
|
WOLFSENTRY_ERROR_FMT "\n", WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1759,6 +1817,16 @@ static WC_INLINE int tcp_connect_with_wolfSentry(
|
|||||||
wolfsentry_action_res_t action_results;
|
wolfsentry_action_res_t action_results;
|
||||||
wolfSSL_netfilter_decision_t decision;
|
wolfSSL_netfilter_decision_t decision;
|
||||||
|
|
||||||
|
#if defined(WOLFSENTRY_THREADSAFE) && defined(HAVE_WOLFSENTRY_API_0v8)
|
||||||
|
WOLFSENTRY_THREAD_HEADER(WOLFSENTRY_THREAD_FLAG_NONE);
|
||||||
|
if (WOLFSENTRY_THREAD_GET_ERROR < 0) {
|
||||||
|
fprintf(stderr, "wolfsentry thread init error: "
|
||||||
|
WOLFSENTRY_ERROR_FMT "\n",
|
||||||
|
WOLFSENTRY_ERROR_FMT_ARGS(WOLFSENTRY_THREAD_GET_ERROR));
|
||||||
|
err_sys("unable to initialize wolfSentry thread context");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
build_addr(&remote_addr, ip, port, udp, sctp);
|
build_addr(&remote_addr, ip, port, udp, sctp);
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -1780,7 +1848,7 @@ static WC_INLINE int tcp_connect_with_wolfSentry(
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = wolfsentry_route_event_dispatch(
|
ret = wolfsentry_route_event_dispatch(
|
||||||
_wolfsentry,
|
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(_wolfsentry),
|
||||||
(const struct wolfsentry_sockaddr *)&wolfsentry_data->remote,
|
(const struct wolfsentry_sockaddr *)&wolfsentry_data->remote,
|
||||||
(const struct wolfsentry_sockaddr *)&wolfsentry_data->local,
|
(const struct wolfsentry_sockaddr *)&wolfsentry_data->local,
|
||||||
wolfsentry_data->flags,
|
wolfsentry_data->flags,
|
||||||
@ -1834,6 +1902,14 @@ static WC_INLINE int tcp_connect_with_wolfSentry(
|
|||||||
err_sys_with_errno("tcp connect failed");
|
err_sys_with_errno("tcp connect failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WOLFSENTRY_THREADSAFE) && defined(HAVE_WOLFSENTRY_API_0v8)
|
||||||
|
ret = WOLFSENTRY_THREAD_TAILER(WOLFSENTRY_THREAD_FLAG_NONE);
|
||||||
|
if (ret < 0) {
|
||||||
|
fprintf(stderr, "wolfsentry thread exit error: "
|
||||||
|
WOLFSENTRY_ERROR_FMT "\n", WOLFSENTRY_ERROR_FMT_ARGS(ret));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return WOLFSSL_SUCCESS;
|
return WOLFSSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user