From de3eb8daceecb0ca6aae8fe64e6f9f74d91ff78a Mon Sep 17 00:00:00 2001 From: Hideki Miyazaki Date: Fri, 5 Jun 2026 11:51:49 +0900 Subject: [PATCH 1/2] fix tls_bench DTLS mode failures --- examples/benchmark/tls_bench.c | 54 ++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/examples/benchmark/tls_bench.c b/examples/benchmark/tls_bench.c index d0b799eb466..4b3d7edb21d 100644 --- a/examples/benchmark/tls_bench.c +++ b/examples/benchmark/tls_bench.c @@ -130,8 +130,10 @@ Or /* WOLFSSL_MAX_MTU in internal.h */ #define TEST_DTLS_PACKET_SIZE (1500) #else - /* MAX_UDP_SIZE in interna.h */ - #define TEST_DTLS_PACKET_SIZE (8092) + /* Must fit in one DTLS record: WOLFSSL_MAX_MTU (1400) - MAX_MSG_EXTRA (~102). + * Define WOLFSSL_DTLS_MTU and call wolfSSL_dtls_set_mtu() to use larger + * packets; or build with WOLFSSL_NO_DTLS_SIZE_CHECK to auto-fragment. */ + #define TEST_DTLS_PACKET_SIZE (1200) #endif #endif @@ -1304,27 +1306,31 @@ static int SetupSocketAndListen(int* listenFd, word32 port, int doDTLS) fprintf(stderr, "ERROR: failed to create the socket\n"); return -1; } + } - /* allow reuse */ - if (setsockopt(*listenFd, SOL_SOCKET, SO_REUSEADDR, - &optval, sizeof(optval)) == -1) { - fprintf(stderr, "setsockopt SO_REUSEADDR failed\n"); - return -1; - } - - /* Listen for the client. */ - if (bind(*listenFd, (struct sockaddr*)&servAddr, - sizeof(servAddr)) == -1) { - fprintf(stderr, "ERROR: failed to bind\n"); - return -1; - } + /* allow reuse */ + if (setsockopt(*listenFd, SOL_SOCKET, SO_REUSEADDR, + &optval, sizeof(optval)) == -1) { + fprintf(stderr, "setsockopt SO_REUSEADDR failed\n"); + return -1; } - if (listen(*listenFd, 5) != 0) { - fprintf(stderr, "ERROR: failed to listen\n"); + if (bind(*listenFd, (struct sockaddr*)&servAddr, + sizeof(servAddr)) == -1) { + fprintf(stderr, "ERROR: failed to bind\n"); return -1; } +#ifdef WOLFSSL_DTLS + if (!doDTLS) +#endif + { + if (listen(*listenFd, 5) != 0) { + fprintf(stderr, "ERROR: failed to listen\n"); + return -1; + } + } + #ifdef BENCH_USE_NONBLOCK if (SetSocketNonBlocking(*listenFd) != 0) { return -1; @@ -2119,7 +2125,11 @@ int bench_tls(void* args) } } #endif - fprintf(stderr, "Running TLS Benchmarks...\n"); + if (doDTLS) { + fprintf(stderr, "Running DTLS Benchmarks...\n"); + } else { + fprintf(stderr, "Running TLS Benchmarks...\n"); + } /* parse by : */ while ((cipher != NULL) && (cipher[0] != '\0')) { @@ -2135,6 +2145,14 @@ int bench_tls(void* args) fprintf(stderr, "Cipher: %s\n", cipher); } +#if defined(WOLFSSL_DTLS) && !defined(WOLFSSL_DTLS13) + if (doDTLS && XSTRNCMP(cipher, "TLS13", 5) == 0) { + /* DTLS 1.3 not compiled in; skip TLS 1.3 ciphers */ + cipher = (next_cipher != NULL) ? (next_cipher + 1) : NULL; + continue; + } +#endif + #if defined(WOLFSSL_TLS13) && defined(HAVE_SUPPORTED_CURVES) for (group_index = 0; groups[group_index].name != NULL; group_index++) { const char *gname = theadInfo[0].group == 0 ? "N/A" From c6158c63bb06ac16d9e7744057b825d6a827c5e2 Mon Sep 17 00:00:00 2001 From: Hideki Miyazaki Date: Fri, 5 Jun 2026 13:47:19 +0900 Subject: [PATCH 2/2] fix undefined doDTLS --- examples/benchmark/tls_bench.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/benchmark/tls_bench.c b/examples/benchmark/tls_bench.c index 4b3d7edb21d..d0c0d685744 100644 --- a/examples/benchmark/tls_bench.c +++ b/examples/benchmark/tls_bench.c @@ -2125,9 +2125,12 @@ int bench_tls(void* args) } } #endif +#ifdef WOLFSSL_DTLS if (doDTLS) { fprintf(stderr, "Running DTLS Benchmarks...\n"); - } else { + } else +#endif + { fprintf(stderr, "Running TLS Benchmarks...\n"); }