]> git.kaiwu.me - haproxy.git/commit
BUG/MEDIUM: ssl: Handle receiving early data with BoringSSL/AWS-LC
authorOlivier Houchard <ohouchard@haproxy.com>
Fri, 6 Mar 2026 12:34:37 +0000 (13:34 +0100)
committerOlivier Houchard <cognet@ci0.org>
Thu, 12 Mar 2026 13:14:51 +0000 (14:14 +0100)
commit76ba026548975a6d1bc23d1344807c64d994bf1e
tree1c6221260a63daa743fc8b493a591fdb92410759
parentf24ed2a5d1cbbcd7d9b019f7f50b88a0c12a5385
BUG/MEDIUM: ssl: Handle receiving early data with BoringSSL/AWS-LC

The API for early data is a bit different with BoringSSL and AWS-LC than
it is for OpenSSL. As it was implemented, early data would be accepted,
but would not be processed until the handshake is done. Change that by
doing something similar to what OpenSSL does, and, if 0RTT has been
enabled on the listener, use SSL_read() to try to get early data before
starting the handshake, and if there's any, provide them to the mux the
same way it is done for OpenSSL.
That replaces a bunch of #ifdef SSL_READ_EARLY_DATA_SUCCESS by
something specific to OpenSSL has to be done.
This should be backported to 3.3.
src/ssl_sock.c