commit | aa1ac08630c793608166473b2639483df97853ce | [log] [tgz] |
---|---|---|
author | wub <wub@google.com> | Fri Apr 30 08:46:04 2021 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Apr 30 13:07:28 2021 -0700 |
tree | c3aa7785dcd08b33561258706bb87c31eeefeacb | |
parent | e46fe2e1dc83c183ba6a53bc3bf8ae6bd9b0c86a [diff] |
For TLS QUIC handshakes, reduce the GFE<=>Alia round trip down to 1 using BoringSSL's handshake hints. This change includes the following pieces: - Send ssl_capabilities and ALPS from GFE to Alia, and send handshake_hints from Alia to GFE. - Change QUIC's TlsServerHandshaker to set ALPS earlier, and set handshake hints if present. - Change Alia's TLSHandshakeV2 handler to generate handshake hints. - Change SelectCertRequest's next_protocol from a repeated string to repeated ProtocolInfo, each ProtocolInfo contains a protocol name and an optional ALPS. See http://go/handshake-hints for the high level design. Tested: - Update standalone_handshaker_end_to_end_test.cc to verify that when handshake hints are enabled, GFE only talks to Alia once for both 1RTT and 0RTT handshakes. - Update tls_handshake_v2_test.cc to use a LetoCrypter on the edge server, and verify the ticket can be decrypted by Alia. Protected by FLAGS_quic_reloadable_flag_quic_tls_server_use_handshake_hints. PiperOrigin-RevId: 371340778 Change-Id: I1b70c37b57c5e3d365628c236da8cbfdc81ea07a
QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects. QUICHE is only supported on little-endian platforms.
Code can be viewed in CodeSearch in Quiche and is imported into Chromium.