]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: OpenSSL 3.5 trick to support 0-RTT
authorFrederic Lecaille <flecaille@haproxy.com>
Mon, 19 May 2025 15:39:58 +0000 (17:39 +0200)
committerFrederic Lecaille <flecaille@haproxy.com>
Tue, 20 May 2025 13:00:06 +0000 (15:00 +0200)
commit08eee0d9cf88f69aee2d3ba090043956faee92a6
tree35204b25fa3b64fa6a7bdaf5d653340e2a887802
parent849a3af14e32e1d4f2fd1bc885f599abcdc3474f
MINOR: quic: OpenSSL 3.5 trick to support 0-RTT

For an unidentified reason, SSL_do_hanshake() succeeds at its first call when 0-RTT
is enabled for the connection. This behavior looks very similar by the one encountered
by AWS-LC stack. That said, it was documented by AWS-LC. This issue leads the
connection to stop sending handshake packets after having release the handshake
encryption level. In fact, no handshake packets could even been sent leading
the handshake to always fail.

To fix this, this patch simulates a "handshake in progress" state waiting
for the application level read secret to be established by the TLS stack.
This may happen only after the QUIC listener has completed/confirmed the handshake
upon handshake CRYPTO data receipt from the peer.
src/quic_ssl.c