From d6440be4a912115204ab71ab1818237e607f87e4 Mon Sep 17 00:00:00 2001 From: David Garske Date: Fri, 3 Jan 2025 09:55:47 -0800 Subject: [PATCH] Fix for SSL_set_mtu -> wolfSSL_set_mtu_compat return code. Update comment for `wolfSSL_is_init_finished` indicating it works for TLS and DTLS. --- src/ssl.c | 12 ++++++++---- tests/api.c | 4 ++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index c38fcbf1fa..6e3c96971b 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -2124,14 +2124,17 @@ int wolfSSL_dtls_set_mtu(WOLFSSL* ssl, word16 newMtu) return WOLFSSL_SUCCESS; } -#if defined(OPENSSL_ALL) || defined(OPENSSL_EXTRA) -int wolfSSL_set_mtu_compat(WOLFSSL* ssl, unsigned short mtu) { - if (wolfSSL_dtls_set_mtu(ssl, mtu) == 0) +#ifdef OPENSSL_EXTRA +/* Maps to compatibility API SSL_set_mtu and is same as wolfSSL_dtls_set_mtu, + * but expects only success or failure returns. */ +int wolfSSL_set_mtu_compat(WOLFSSL* ssl, unsigned short mtu) +{ + if (wolfSSL_dtls_set_mtu(ssl, mtu) == WOLFSSL_SUCCESS) return WOLFSSL_SUCCESS; else return WOLFSSL_FAILURE; } -#endif /* OPENSSL_ALL || OPENSSL_EXTRA */ +#endif /* OPENSSL_EXTRA */ #endif /* WOLFSSL_DTLS && (WOLFSSL_SCTP || WOLFSSL_DTLS_MTU) */ @@ -12596,6 +12599,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl) #endif /* OPENSSL_EXTRA || WOLFSSL_EXTRA || WOLFSSL_WPAS_SMALL */ /* return true if connection established */ + /* this works for TLS and DTLS */ int wolfSSL_is_init_finished(const WOLFSSL* ssl) { if (ssl == NULL) diff --git a/tests/api.c b/tests/api.c index eb38e38670..bf8da8cf10 100644 --- a/tests/api.c +++ b/tests/api.c @@ -90249,6 +90249,10 @@ static int test_wolfSSL_dtls_set_mtu(void) ExpectIntEQ(wolfSSL_CTX_dtls_set_mtu(ctx, 1488), WOLFSSL_SUCCESS); ExpectIntEQ(wolfSSL_dtls_set_mtu(ssl, 1488), WOLFSSL_SUCCESS); +#ifdef OPENSSL_EXTRA + ExpectIntEQ(SSL_set_mtu(ssl, 1488), WOLFSSL_SUCCESS); +#endif + wolfSSL_free(ssl); wolfSSL_CTX_free(ctx); #endif