commit | 033ca77b4fa98b70b68360ed2bb7279e95c76bc3 | [log] [tgz] |
---|---|---|
author | renjietang <renjietang@google.com> | Fri Jun 12 10:28:22 2020 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Jun 12 10:28:55 2020 -0700 |
tree | bfafa599aa07ebb8a703a1e8533465602a961945 | |
parent | 3889d1ed53da9277f2e7c635c5ca46a7f44af479 [diff] |
Handle HTTP/3 SETTINGS on 0-RTT client connection. In IETF QUIC, if 0-RTT is enabled, the client will receive 2 SETTINGS, one from cache and one from the fresh server sent SETTINGS. If 0-RTT is accepted, the server shouldn't change dynamic table capacity according to https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#name-maximum-dynamic-table-capac. For other settings, https://www.google.com/url?sa=D&q=https%3A%2F%2Fquicwg.org%2Fbase-drafts%2Fdraft-ietf-quic-http.html%23name-initialization specifies they shouldn't be decreased. When 0-RTT is rejected, our current approach is to retransmit 0-RTT packets. If the server changes SETTINGS, our implementation doesn't have an easy way to comply with the new SETTINGS, thus we close the connection too. Protected by quic_enable_zero_rtt_for_tls PiperOrigin-RevId: 316128955 Change-Id: I84b277b3c57d6a8009aec5a547c6416542122ec6