Stop padding QUIC_CRYPTO CHLOs

Before 2016, the QUIC code relied on the size of CHLO messages to dictate maximum response sizes (to avoid amplification attacks). However since cl/129160718 and cl/133633175 landed in 2016, we do not rely on that anymore. Instead we use the size of the packet that contained the CHLO. This is also what is mandated by the IETF QUIC spec. This CL removes unnecessary padding from CHLO messages which could lead to more efficient handshakes. It also adds a check in QuicDispatcher to validate the length of Q043 CHLO packets since the length check only applied to subsequent versions.

Stop padding chlo, protected by gfe2_reloadable_flag_quic_dont_pad_chlo

PiperOrigin-RevId: 317320920
Change-Id: I17d60625886648105905a9e811c9b1def5856fd5
6 files changed
tree: 5b48ae30413a8fbb175c92827cd22a9fa20c9923
  1. common/
  2. epoll_server/
  3. http2/
  4. quic/
  5. spdy/
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
README.md

QUICHE

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.