Add a client connection ID to version negotiation packet creation

This CL adds a new client_connection_id parameter to the functions that build version negotiation packets, and pass it through to AppendIetfConnectionIds instead of EmptyQuicConnectionId. All callers of this function call it with EmptyQuicConnectionId. To verify this we have a DCHECK that makes sure client_connection_id is empty when the disabled flag quic_do_not_override_connection_id is false. This CL also adds QuicVersion::SupportsClientConnectionIds which subsequent CLs will build on.

gfe-relnote: no functional change, add function parameter that is always empty, not flag-protected
PiperOrigin-RevId: 250551156
Change-Id: I378c67df16fc262145c5c88a76ca5440f72a29d8
14 files changed
tree: 2bcbd26faaf2b46102e6a320fae5bbb8e4cfaef6
  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.

The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.