From 119d2a5da1dfeaefaa7091685c1ae8c695bc961e Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Tue, 4 Jun 2024 14:41:01 -0600 Subject: [PATCH] do session conversion dance --- src/ssl_sess.c | 5 +++++ src/tls.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ssl_sess.c b/src/ssl_sess.c index 0d5178c66..4afd2b97b 100644 --- a/src/ssl_sess.c +++ b/src/ssl_sess.c @@ -751,6 +751,7 @@ long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX* ctx, long mode) /* return the max fragment size set when handshake was negotiated */ uint8_t wolfSSL_SESSION_get_max_fragment_length(WOLFSSL_SESSION* session) { + session = ClientSessionToSession(session); if (session == NULL) { return 0; } @@ -3908,6 +3909,10 @@ static int wolfSSL_DupSessionEx(const WOLFSSL_SESSION* input, } ticBuff = NULL; +#ifdef HAVE_MAX_FRAGMENT + output->mfl = input->mfl; +#endif + #if defined(WOLFSSL_TLS13) && defined(WOLFSSL_TICKET_NONCE_MALLOC) && \ (!defined(HAVE_FIPS) || (defined(FIPS_VERSION_GE) && FIPS_VERSION_GE(5,3))) if (preallocUsed != NULL) diff --git a/src/tls.c b/src/tls.c index 03df15674..8188183d7 100644 --- a/src/tls.c +++ b/src/tls.c @@ -2988,8 +2988,9 @@ static int TLSX_MFL_Parse(WOLFSSL* ssl, const byte* input, word16 length, WOLFSSL_ERROR_VERBOSE(UNKNOWN_MAX_FRAG_LEN_E); return UNKNOWN_MAX_FRAG_LEN_E; } - if (ssl->session != NULL) + if (ssl->session != NULL) { ssl->session->mfl = *input; + } #ifndef NO_WOLFSSL_SERVER if (isRequest) {