Do not send PATH_CHALLENGE or PATH_RESPONSE when 1-RTT write key is not available. This does not have functional because:
1) Client does not initiated path validation until handshake confirmed.
2) Server does not allow peer address change during handshake (no reverse path validation until handshake complete).
3) Server can only receive PATH_CHALLENGE in ENCRYPTION_ZERO_RTT and ENCRYPTION_FORWARD_SECURE, while server must have 1-RTT write key. Client can only receive PATH_CHALLENGE in ENCRYPTION_FORWARD_SECURE, while client must have 1-RTT write key.

This is needed since we are going to allow address change during the handshake.

PiperOrigin-RevId: 379936797
1 file changed
tree: f0cd03507628649334bb128712dce40c5b2d9901
  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. QUICHE is only supported on little-endian platforms.

Code can be viewed in CodeSearch in Quiche and is imported into Chromium.