mirror of
https://github.com/openssl/openssl.git
synced 2026-05-07 20:12:39 +00:00
131fff1b09
Initially tests that were written which make use of the noisy dgram BIO, were done under the assumption that, despite any packet mangling done by the noisy dgram bio, the connection would still be established. This was initiall guaranteed by configuring the BIO to avoid corrupting/dropping/duplicating/re-injecting the first packet received, thus ensuring that the client and server hello frames would make it to the peer successfully. This implicitly made the assumption that the client and server hellos were contained within a single datagram, which until recently was true. However, with the introduction of ML-KEM keyshares, the above assumption no longer holds. Large ML-KEM keyshares generally expand these TLS messages accross multiple datagrams, and so it is now possible that those initial records can become corrupted/lost etc, leading to unexpected connection failures. Lets fix it by restoring the guarantee that these tests were written under by making the backoff time configurable to a number of frames, and configuring the quic connection objects used in the test to not drop the first two initial frames, once again guaranteeing that the client and server hello arrive at the peer uncorrupted, so that we get a good connection established. Fixes #27103 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/27169)