From dfd9a8b48bf894d27d32c5b0aed2d7830ffe3c7d Mon Sep 17 00:00:00 2001 From: Christopher Ross Date: Tue, 18 Aug 2026 11:16:46 +0100 Subject: [PATCH] DTLS: honor configured MTU for SCTP application data --- examples/sctp/sctp-client-dtls.c | 6 +++++- examples/sctp/sctp-server-dtls.c | 6 +++++- src/internal.c | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/examples/sctp/sctp-client-dtls.c b/examples/sctp/sctp-client-dtls.c index 88a4477ab23..aada9917f6d 100644 --- a/examples/sctp/sctp-client-dtls.c +++ b/examples/sctp/sctp-client-dtls.c @@ -113,7 +113,11 @@ int main(int argc, char **argv) for (i = 0; i < (int)sizeof(bigBuf); i++) bigBuf[i] = (unsigned char)(i & 0xFF); - wolfSSL_write(ssl, bigBuf, sizeof(bigBuf)); + ret = wolfSSL_write(ssl, bigBuf, sizeof(bigBuf)); + if (ret != (int)sizeof(bigBuf)) { + fprintf(stderr, "ssl write big message failed\n"); + exit(EXIT_FAILURE); + } memset(bigBuf, 0, sizeof(bigBuf)); wolfSSL_read(ssl, bigBuf, sizeof(bigBuf)); diff --git a/examples/sctp/sctp-server-dtls.c b/examples/sctp/sctp-server-dtls.c index 940dcfe98d7..09b233f3faf 100644 --- a/examples/sctp/sctp-server-dtls.c +++ b/examples/sctp/sctp-server-dtls.c @@ -122,7 +122,11 @@ int main(int argc, char **argv) unsigned char bigBuf[4096]; wolfSSL_read(ssl, bigBuf, sizeof(bigBuf)); - wolfSSL_write(ssl, bigBuf, sizeof(bigBuf)); + ret = wolfSSL_write(ssl, bigBuf, sizeof(bigBuf)); + if (ret != (int)sizeof(bigBuf)) { + fprintf(stderr, "ssl write big message failed\n"); + exit(EXIT_FAILURE); + } wolfSSL_shutdown(ssl); wolfSSL_free(ssl); diff --git a/src/internal.c b/src/internal.c index 5c03924b7ef..03dbe30c33c 100644 --- a/src/internal.c +++ b/src/internal.c @@ -28963,7 +28963,7 @@ int SendData(WOLFSSL* ssl, const void* data, size_t sz) } #if defined(WOLFSSL_DTLS) if (ssl->options.dtls) { -#if defined(WOLFSSL_DTLS_MTU) +#if defined(WOLFSSL_SCTP) || defined(WOLFSSL_DTLS_MTU) int mtu = ssl->dtlsMtuSz; #else int mtu = MAX_MTU;