Commit bdd9d9630b for openssl.org
commit bdd9d9630ba37bd72b280b681e3168cd80b1cc64
Author: Eugene Syromiatnikov <esyr@openssl.org>
Date: Thu May 14 04:07:30 2026 +0200
ssl/d1_lib.c: remove g_probable_mtu array
Its last actual user was removed in 1620a2e49c77 "Fix dtls_query_mtu
so that it will always either complete with an mtu that is at least
the minimum or it will fail.", and the only remaining user,
dtls1_link_min_mtu(), just returns its last element unconditionally.
Remove g_probable_mtu and convert dtls1_link_min_mtu into a static const
containing the value.
Complements: 1620a2e49c77 "Fix dtls_query_mtu so that it will always either complete with an mtu that is at least the minimum or it will fail."
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Mon May 18 11:09:52 2026
(Merged from https://github.com/openssl/openssl/pull/31175)
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
index b1cd512510..d7e1d740ca 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -17,10 +17,7 @@
#include "internal/ssl_unwrap.h"
static int dtls1_handshake_write(SSL_CONNECTION *s);
-static size_t dtls1_link_min_mtu(void);
-
-/* XDTLS: figure out the right values */
-static const size_t g_probable_mtu[] = { 1500, 512, 256 };
+static const size_t dtls1_link_min_mtu = 256;
const SSL3_ENC_METHOD DTLSv1_enc_data = {
tls1_setup_key_block,
@@ -236,18 +233,18 @@ long dtls1_ctrl(SSL *ssl, int cmd, long larg, void *parg)
ret = dtls1_handle_timeout(s);
break;
case DTLS_CTRL_SET_LINK_MTU:
- if (larg < (long)dtls1_link_min_mtu())
+ if (larg < (long)dtls1_link_min_mtu)
return 0;
s->d1->link_mtu = larg;
return 1;
case DTLS_CTRL_GET_LINK_MIN_MTU:
- return (long)dtls1_link_min_mtu();
+ return (long)dtls1_link_min_mtu;
case SSL_CTRL_SET_MTU:
/*
* We may not have a BIO set yet so can't call dtls1_min_mtu()
- * We'll have to make do with dtls1_link_min_mtu() and max overhead
+ * We'll have to make do with dtls1_link_min_mtu and max overhead
*/
- if (larg < (long)dtls1_link_min_mtu() - DTLS1_MAX_MTU_OVERHEAD)
+ if (larg < (long)dtls1_link_min_mtu - DTLS1_MAX_MTU_OVERHEAD)
return 0;
s->d1->mtu = larg;
return larg;
@@ -906,16 +903,11 @@ int dtls1_query_mtu(SSL_CONNECTION *s)
return 1;
}
-static size_t dtls1_link_min_mtu(void)
-{
- return (g_probable_mtu[(sizeof(g_probable_mtu) / sizeof(g_probable_mtu[0])) - 1]);
-}
-
size_t dtls1_min_mtu(SSL_CONNECTION *s)
{
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
- return dtls1_link_min_mtu() - BIO_dgram_get_mtu_overhead(SSL_get_wbio(ssl));
+ return dtls1_link_min_mtu - BIO_dgram_get_mtu_overhead(SSL_get_wbio(ssl));
}
size_t DTLS_get_data_mtu(const SSL *ssl)