Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Landing Recent QUIC changes until 7:50 PM, Jan 18, 2019 UTC-4
log more cert subject name if it has empty SCT list when QUIC uses it to build REJ. Protected by default true flag FLAGS_quic_reloadable_flag_quic_log_cert_name_for_empty_sct. Before logging, leaf cert is parsed to extract subject name, which is new behavior. But it should have been parsed already while processing CHLO. So it's safe to parse again with a default true flag. Merge internal change: 229967221 https://chromium-review.googlesource.com/c/chromium/src/+/1431614 Refactor QuicFramer BuildConnectivityProbingPacket, BuildPaddedPathChallengePacket and BuildPathResponsePacket for v99. Refactoring, only changes QUIC v99, not flag protected. This change is required for further work on adding the IETF QUIC long header length field. Merge internal change: 229784385 https://chromium-review.googlesource.com/c/chromium/src/+/1429220 Bring Http/3 frames up to date with draft 17. Merge internal change: 229783354 https://chromium-review.googlesource.com/c/chromium/src/+/1429119 In QUIC, making sure PacketNumberQueue and PacketNumberIndexedQueue deal with packet number 0 gracefully. Not protected. In our current implementation, we reject packet number 0, no functional change expected from this change. Merge internal change: 229746145 https://chromium-review.googlesource.com/c/chromium/src/+/1429039 Disable source token validation in quic for Quartc. When 0-rtt will be used in Quartc, the source token will not be provided by the client in the 0-rtt full CHLO. Instead, Quartc will tunnel QUIC through ICE, guaranteeing provenance of the packet. Merge internal change: 229739207 https://chromium-review.googlesource.com/c/chromium/src/+/1428900 In QUIC, close connection with QUIC_INVALID_ACK_DATA if receiving an ack which acks packet 0. Protected by ENABLED FLAGS_quic_reloadable_flag_quic_disallow_peer_ack_0. Merge internal change: 229734932 https://chromium-review.googlesource.com/c/chromium/src/+/1428779 Add setting to disable source token verification. When 0-rtt is used in Quartc, the source token will not be provided by the client in the 0-rtt full CHLO. Instead, Quartc will tunnel QUIC through ICE, guaranteeing provenance of the packet. Because of the above, we'd like the ability to disable source token verification. Add setting to disable source token verification. Merge internal change: 229637229 https://chromium-review.googlesource.com/c/chromium/src/+/1428481 In QUIC, when a packet is received, populate the header->packet_number field only if the full packet number is not 0. No functional change expected, not protected. Merge internal change: 229597882 https://chromium-review.googlesource.com/c/chromium/src/+/1428679 Deprecate gfe2_restart_flag_quic_use_async_key_exchange Merge internal change: 229596530 https://chromium-review.googlesource.com/c/chromium/src/+/1428580 Disable padding during crypto handshake in Quartc. RTP does not pad packets and doesn't check what's the largest packet it sends. It also doesn't pad handshake, which results in a faster handshake. Padding is not always desirable: on slow connections it sends extra data during handshake, which slows down a handshake. (on 50kbps connection by about 150ms per one message). Merge internal change: 229559845 https://chromium-review.googlesource.com/c/chromium/src/+/1428479 Add test for SpdyUtils::GetPromisedUrlFromHeaders to verify that userinfo is ignored and that the path starts with /. More comprehensive tests exist for SpdyUtils::GetPushPromiseUrl, which GetPromisedUrlFromHeaders delegates to. Motivated by crbug.com/801831 Merge internal change: 229443812 https://chromium-review.googlesource.com/c/chromium/src/+/1427251 Add a DCHECK making sure an endpoint does not send a stop waiting frame with least_unacked = 0. Merge internal change: 229438050 https://chromium-review.googlesource.com/c/chromium/src/+/1428400 In QUIC, add kFirstSendingPacketNumber to represent the first sending packet of a connection. Cleanup misusage of QuicPacketNumber, QuicPacketCount and uint64_t. No functional change expected, not protected. Merge internal change: 229418838 https://chromium-review.googlesource.com/c/chromium/src/+/1428094 In QUIC, change tests functions to take uint64_t instead of QuicPacketNumber to make the transition cleaner. Merge internal change: 229408324 https://chromium-review.googlesource.com/c/chromium/src/+/1428091 More error details about QUIC_STREAM_LENGTH_OVERFLOW while receiving stream frame. Error message changes only, not flag protected. Merge internal change: 229402859 https://chromium-review.googlesource.com/c/chromium/src/+/1428086 Add option to disable padding during crypto handshake. Padding is not always desirable: on slow connections it sends extra data during handshake, which slows down a handshake. (on 50kbps connection by about 150ms per one message). In Quartc we always have ice enabled when we make a call, and we only enable the server when we start the call. ICE will only accept data from endpoints negotiated in STUN pings. Add ability to disable padding during crypto handshake, for Quartc. Merge internal change: 229314318 https://chromium-review.googlesource.com/c/chromium/src/+/1427982 Use 1-rtt setup for Quartc client instead of 2-rtt. Currently client waits for the SHLO to start sending media. This is unnecessary, client can start sending media right after sending full CHLO. This cuts the send time to 1-rtt for the client (server still waits 1.5 rtt to start sending data). We should use 0-rtt setup in quic to start sending media from client after 0-rtt, and after 0.5rtt from the server. Merge internal change: 229313999 https://chromium-review.googlesource.com/c/chromium/src/+/1428039 Add a DCHECK to make sure an endpoint does not send an empty ack frame. Merge internal change: 229244057 https://chromium-review.googlesource.com/c/chromium/src/+/1427929 Remove set_minimum_size in crypto client handshaker. This branch is no longer needed, plus it's redundant. (we set minimum_size inside FillInchoateHello. Also, padding is now done in packet generator). Remove set_minimum_size in crypto client handshaker. Merge internal change: 229231874 https://chromium-review.googlesource.com/c/chromium/src/+/1427319 Change-Id: I973b7d0e9e346ae648a0e525d37f6cbb876de5b4 Reviewed-on: https://chromium-review.googlesource.com/c/1432183 Reviewed-by: Ryan Hamilton <rch@chromium.org> Commit-Queue: Renjie Tang <renjietang@chromium.org> Cr-Commit-Position: refs/heads/master@{#625540}
- Loading branch information