Update QUIC transport parameters to draft 20
This CL updates from draft-18 to draft-19/20. The only changes are idle_timeout being in milliseconds instead of seconds, and the removal of the versions before the parameters. We've kept the versions in a custom Google-specific extension for now. This extension will eventually evolve into the IETF compatible version negotiation extension.
gfe-relnote: protected by disabled flag quic_supports_tls_handshake
PiperOrigin-RevId: 246043673
Change-Id: I35929d0f381f506e2275e639af41e840ab16b8ca
diff --git a/quic/core/tls_server_handshaker.cc b/quic/core/tls_server_handshaker.cc
index ec254b5..ca56e4d 100644
--- a/quic/core/tls_server_handshaker.cc
+++ b/quic/core/tls_server_handshaker.cc
@@ -211,6 +211,14 @@
*error_details = "Unable to parse Transport Parameters";
return false;
}
+
+ // When interoperating with non-Google implementations that do not send
+ // the version extension, set it to what we expect.
+ if (client_params.version == 0) {
+ client_params.version =
+ CreateQuicVersionLabel(session()->connection()->version());
+ }
+
if (CryptoUtils::ValidateClientHelloVersion(
client_params.version, session()->connection()->version(),
session()->supported_versions(), error_details) != QUIC_NO_ERROR ||