Commit 380d58d8 authored by Fan Yang's avatar Fan Yang Committed by Commit Bot

Roll src/net/third_party/quiche/src/ b5a8b9ebf..4cc508c72 (30 commits)

https://quiche.googlesource.com/quiche.git/+log/b5a8b9ebfa6e..4cc508c720ac

$ git log b5a8b9ebf..4cc508c72 --date=short --no-merges --format='%ad %ae %s'
2019-10-22 fayang Fix build error in chromium by adding QUIC_EXPORT.
2019-10-22 renjietang Clean up code on SETTINGS.
2019-10-22 vasilvv Split QuicEndpoint into QuicEndpoint and QuicEndpointBase.
2019-10-22 renjietang Consider pending streams in ShouldKeepConnectionAlive.
2019-10-22 wub Internal QUICHE change
2019-10-22 renjietang Do not accept fin that would decrease the stream's final offset.
2019-10-22 zhongyi Add get method for initial_retransmittable_on_wire_timeout, which is used by chromium only and accidentally removed in cl/275943283.
2019-10-22 fayang gfe-relnote: Remove save_retransmittable_frames from QuicPacketCreator::AddFrame. No functional change expected, not protected.
2019-10-22 renjietang Clean up QuicPacketCreatorTest.
2019-10-22 fayang gfe-relnote: In QUIC, clean up !session_decides_what_to_write code path.
2019-10-21 quiche-dev Internal QUICHE change
2019-10-21 renjietang Fix buffer overflow issue by changing how test string is created.
2019-10-21 zhongyi When there is no retransmittable packet on the wire and there are open streams, the connection may send retransmittable PINGs to detect path degrading with aggressive timeout.
2019-10-21 renjietang gfe-relnote: deprecate gfe2_reloadable_flag_quic_rst_if_stream_frame_beyond_close_offset.
2019-10-21 renjietang gfe-relnote: deprecate gfe2_reloadable_flag_quic_aggressive_connection_aliveness
2019-10-21 renjietang gfe-relnote: deprecate gfe2_reloadable_flag_quic_do_not_send_settings.
2019-10-21 fayang gfe-relnote: In QUIC, populate the actual length of full padding frame in nonretransmittable_frames (of SerializedPacket). Protected by existing gfe2_reloadable_flag_quic_populate_nonretransmittable_frames.
2019-10-21 wub Internal QUICHE change
2019-10-21 fayang gfe-relnote: In QUIC, add a utility function CopySerializedPacket. Not used yet, not protected.
2019-10-21 fayang gfe-relnote: In QUIC, populate nonretransmittable_frames in SerializedPacket. Protected by gfe2_reloadable_flag_quic_populate_nonretransmittable_frames.
2019-10-18 vasilvv Implement QuicTransportStream, a stream that can be only accessed after client indication is received.
2019-10-18 wub gfe-relnote: (n/a) In quic_framer_process_data_packet_fuzzer, set framer's decrypter for INITIAL encryption level. Test only.
2019-10-18 renjietang Remove redundant calls to QuicSession::NeuterUnencryptedData().
2019-10-18 dschinazi Refactor quic_client_interop to avoid dropping letters
2019-10-18 renjietang Coalesce adjacent stream frames.
2019-10-18 quiche-dev Add a new Tunnel Health Checker. The health checker is configured to run about every 5th ICMP probe and checks the packet exchanger's counters in both directions. If *no* packets have passed in one direction, this will tear down the tunnel, leaving it to be restarted on the next epoll cycle.
2019-10-18 zhongyi gfe-relnote: n/a, test change only.
2019-10-18 fayang Add two copy utility function CopyQuicFrame and CopyQuicFrames.
2019-10-18 fayang gfe-relnote: Add a bool to QuicSentPacketManager, indicating whether a forward secure packet gets acked. No functional change expected. Not protected.
2019-10-18 wub gfe-relnote: (n/a) Fix quic_framer_process_data_packet_fuzzer to not to use version 0. Test only.

Created with:
  roll-dep src/net/third_party/quiche/src src/third_party/quic_trace/src

Change-Id: Ie3d7ff02abbfda44dcb0611afe967f1c43422026
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1872655
Commit-Queue: Fan Yang <fayang@chromium.org>
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: default avatarZhongyi Shi <zhongyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#708703}
parent c5f66313
...@@ -314,7 +314,7 @@ vars = { ...@@ -314,7 +314,7 @@ vars = {
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling feed # the commit queue can handle CLs rolling feed
# and whatever else without interference from each other. # and whatever else without interference from each other.
'quiche_revision': 'b5a8b9ebfa6e9fa50120c847d22e3b703a08174a', 'quiche_revision': '4cc508c720aca5e15d1e5d89b970f58c57414764',
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling ios_webkit # the commit queue can handle CLs rolling ios_webkit
# and whatever else without interference from each other. # and whatever else without interference from each other.
......
...@@ -1622,7 +1622,6 @@ component("net") { ...@@ -1622,7 +1622,6 @@ component("net") {
"third_party/quiche/src/quic/core/quic_packet_writer.h", "third_party/quiche/src/quic/core/quic_packet_writer.h",
"third_party/quiche/src/quic/core/quic_packets.cc", "third_party/quiche/src/quic/core/quic_packets.cc",
"third_party/quiche/src/quic/core/quic_packets.h", "third_party/quiche/src/quic/core/quic_packets.h",
"third_party/quiche/src/quic/core/quic_pending_retransmission.h",
"third_party/quiche/src/quic/core/quic_received_packet_manager.cc", "third_party/quiche/src/quic/core/quic_received_packet_manager.cc",
"third_party/quiche/src/quic/core/quic_received_packet_manager.h", "third_party/quiche/src/quic/core/quic_received_packet_manager.h",
"third_party/quiche/src/quic/core/quic_sent_packet_manager.cc", "third_party/quiche/src/quic/core/quic_sent_packet_manager.cc",
...@@ -1731,6 +1730,8 @@ component("net") { ...@@ -1731,6 +1730,8 @@ component("net") {
"third_party/quiche/src/quic/quic_transport/quic_transport_server_session.cc", "third_party/quiche/src/quic/quic_transport/quic_transport_server_session.cc",
"third_party/quiche/src/quic/quic_transport/quic_transport_server_session.h", "third_party/quiche/src/quic/quic_transport/quic_transport_server_session.h",
"third_party/quiche/src/quic/quic_transport/quic_transport_session_interface.h", "third_party/quiche/src/quic/quic_transport/quic_transport_session_interface.h",
"third_party/quiche/src/quic/quic_transport/quic_transport_stream.cc",
"third_party/quiche/src/quic/quic_transport/quic_transport_stream.h",
"third_party/quiche/src/spdy/core/fifo_write_scheduler.h", "third_party/quiche/src/spdy/core/fifo_write_scheduler.h",
"third_party/quiche/src/spdy/core/hpack/hpack_constants.cc", "third_party/quiche/src/spdy/core/hpack/hpack_constants.cc",
"third_party/quiche/src/spdy/core/hpack/hpack_constants.h", "third_party/quiche/src/spdy/core/hpack/hpack_constants.h",
...@@ -3519,6 +3520,8 @@ source_set("quic_test_tools") { ...@@ -3519,6 +3520,8 @@ source_set("quic_test_tools") {
"third_party/quiche/src/quic/test_tools/simulator/queue.h", "third_party/quiche/src/quic/test_tools/simulator/queue.h",
"third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc", "third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc",
"third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.h", "third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.h",
"third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_base.cc",
"third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_base.h",
"third_party/quiche/src/quic/test_tools/simulator/simulator.cc", "third_party/quiche/src/quic/test_tools/simulator/simulator.cc",
"third_party/quiche/src/quic/test_tools/simulator/simulator.h", "third_party/quiche/src/quic/test_tools/simulator/simulator.h",
"third_party/quiche/src/quic/test_tools/simulator/switch.cc", "third_party/quiche/src/quic/test_tools/simulator/switch.cc",
...@@ -5640,6 +5643,7 @@ test("net_unittests") { ...@@ -5640,6 +5643,7 @@ test("net_unittests") {
"third_party/quiche/src/quic/platform/api/quic_text_utils_test.cc", "third_party/quiche/src/quic/platform/api/quic_text_utils_test.cc",
"third_party/quiche/src/quic/quic_transport/quic_transport_client_session_test.cc", "third_party/quiche/src/quic/quic_transport/quic_transport_client_session_test.cc",
"third_party/quiche/src/quic/quic_transport/quic_transport_server_session_test.cc", "third_party/quiche/src/quic/quic_transport/quic_transport_server_session_test.cc",
"third_party/quiche/src/quic/quic_transport/quic_transport_stream_test.cc",
"third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc", "third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc",
"third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.cc", "third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.cc",
"third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h", "third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h",
......
...@@ -821,7 +821,7 @@ QuicChromiumClientSession::QuicChromiumClientSession( ...@@ -821,7 +821,7 @@ QuicChromiumClientSession::QuicChromiumClientSession(
connect_timing_.dns_start = dns_resolution_start_time; connect_timing_.dns_start = dns_resolution_start_time;
connect_timing_.dns_end = dns_resolution_end_time; connect_timing_.dns_end = dns_resolution_end_time;
if (!retransmittable_on_wire_timeout.IsZero()) { if (!retransmittable_on_wire_timeout.IsZero()) {
connection->set_retransmittable_on_wire_timeout( connection->set_initial_retransmittable_on_wire_timeout(
retransmittable_on_wire_timeout); retransmittable_on_wire_timeout);
} }
} }
......
...@@ -1897,7 +1897,7 @@ TEST_P(QuicChromiumClientSessionTest, RetransmittableOnWireTimeout) { ...@@ -1897,7 +1897,7 @@ TEST_P(QuicChromiumClientSessionTest, RetransmittableOnWireTimeout) {
CompleteCryptoHandshake(); CompleteCryptoHandshake();
EXPECT_EQ(quic::QuicTime::Delta::FromMilliseconds(200), EXPECT_EQ(quic::QuicTime::Delta::FromMilliseconds(200),
session_->connection()->retransmittable_on_wire_timeout()); session_->connection()->initial_retransmittable_on_wire_timeout());
// Open a stream since the connection only sends PINGs to keep a // Open a stream since the connection only sends PINGs to keep a
// retransmittable packet on the wire if there's an open stream. // retransmittable packet on the wire if there's an open stream.
......
...@@ -63,17 +63,6 @@ base::Value NetLogQuicPacketSentParams( ...@@ -63,17 +63,6 @@ base::Value NetLogQuicPacketSentParams(
return dict; return dict;
} }
base::Value NetLogQuicPacketRetransmittedParams(
quic::QuicPacketNumber old_packet_number,
quic::QuicPacketNumber new_packet_number) {
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetKey("old_packet_number",
NetLogNumberValue(old_packet_number.ToUint64()));
dict.SetKey("new_packet_number",
NetLogNumberValue(new_packet_number.ToUint64()));
return dict;
}
base::Value NetLogQuicPacketLostParams(quic::QuicPacketNumber packet_number, base::Value NetLogQuicPacketLostParams(quic::QuicPacketNumber packet_number,
quic::TransmissionType transmission_type, quic::TransmissionType transmission_type,
quic::QuicTime detection_time) { quic::QuicTime detection_time) {
...@@ -605,22 +594,14 @@ void QuicConnectionLogger::OnFrameAddedToPacket(const quic::QuicFrame& frame) { ...@@ -605,22 +594,14 @@ void QuicConnectionLogger::OnFrameAddedToPacket(const quic::QuicFrame& frame) {
void QuicConnectionLogger::OnPacketSent( void QuicConnectionLogger::OnPacketSent(
const quic::SerializedPacket& serialized_packet, const quic::SerializedPacket& serialized_packet,
quic::QuicPacketNumber original_packet_number,
quic::TransmissionType transmission_type, quic::TransmissionType transmission_type,
quic::QuicTime sent_time) { quic::QuicTime sent_time) {
if (!net_log_.IsCapturing()) if (!net_log_.IsCapturing())
return; return;
if (!original_packet_number.IsInitialized()) { net_log_.AddEvent(NetLogEventType::QUIC_SESSION_PACKET_SENT, [&] {
net_log_.AddEvent(NetLogEventType::QUIC_SESSION_PACKET_SENT, [&] { return NetLogQuicPacketSentParams(serialized_packet, transmission_type,
return NetLogQuicPacketSentParams(serialized_packet, transmission_type, sent_time);
sent_time); });
});
} else {
net_log_.AddEvent(NetLogEventType::QUIC_SESSION_PACKET_RETRANSMITTED, [&] {
return NetLogQuicPacketRetransmittedParams(
original_packet_number, serialized_packet.packet_number);
});
}
} }
void QuicConnectionLogger::OnPacketLoss( void QuicConnectionLogger::OnPacketLoss(
......
...@@ -47,7 +47,6 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger ...@@ -47,7 +47,6 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger
// QuicConnectionDebugVisitorInterface // QuicConnectionDebugVisitorInterface
void OnPacketSent(const quic::SerializedPacket& serialized_packet, void OnPacketSent(const quic::SerializedPacket& serialized_packet,
quic::QuicPacketNumber original_packet_number,
quic::TransmissionType transmission_type, quic::TransmissionType transmission_type,
quic::QuicTime sent_time) override; quic::QuicTime sent_time) override;
void OnIncomingAck(quic::QuicPacketNumber ack_packet_number, void OnIncomingAck(quic::QuicPacketNumber ack_packet_number,
......
...@@ -284,12 +284,6 @@ QUIC_FLAG(bool, ...@@ -284,12 +284,6 @@ QUIC_FLAG(bool,
FLAGS_quic_reloadable_flag_quic_sent_packet_manager_cleanup, FLAGS_quic_reloadable_flag_quic_sent_packet_manager_cleanup,
true) true)
// If true, QuicSession::ShouldKeepConnectionAlive() will not consider locally
// closed streams whose highest byte offset is not received yet.
QUIC_FLAG(bool,
FLAGS_quic_reloadable_flag_quic_aggressive_connection_aliveness,
true)
// If true, QuicStreamSequencer will not take in new data if the stream is // If true, QuicStreamSequencer will not take in new data if the stream is
// reset. // reset.
QUIC_FLAG(bool, QUIC_FLAG(bool,
...@@ -316,9 +310,6 @@ QUIC_FLAG(bool, ...@@ -316,9 +310,6 @@ QUIC_FLAG(bool,
FLAGS_quic_reloadable_flag_quic_reply_to_old_android_conformance_test, FLAGS_quic_reloadable_flag_quic_reply_to_old_android_conformance_test,
true) true)
// If true, no SPDY SETTINGS will be sent after handshake is confirmed.
QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_do_not_send_settings, true)
// The maximum amount of CRYPTO frame data that can be buffered. // The maximum amount of CRYPTO frame data that can be buffered.
QUIC_FLAG(int32_t, FLAGS_quic_max_buffered_crypto_bytes, 16 * 1024) QUIC_FLAG(int32_t, FLAGS_quic_max_buffered_crypto_bytes, 16 * 1024)
...@@ -334,13 +325,6 @@ QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_supports_tls_handshake, true) ...@@ -334,13 +325,6 @@ QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_supports_tls_handshake, true)
// instead. // instead.
QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_detect_spurious_loss, true) QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_detect_spurious_loss, true)
// If true, a stream will reset itself if it receives a stream frame that
// includes a data beyond the close offset.
QUIC_FLAG(
bool,
FLAGS_quic_reloadable_flag_quic_rst_if_stream_frame_beyond_close_offset,
true)
// If true, enable IETF loss detection as described in // If true, enable IETF loss detection as described in
// https://tools.ietf.org/html/draft-ietf-quic-recovery-22#section-6.1. // https://tools.ietf.org/html/draft-ietf-quic-recovery-22#section-6.1.
QUIC_FLAG(bool, QUIC_FLAG(bool,
...@@ -404,3 +388,26 @@ QUIC_FLAG(bool, ...@@ -404,3 +388,26 @@ QUIC_FLAG(bool,
// bandwidth * this flag), consider the current aggregation completed // bandwidth * this flag), consider the current aggregation completed
// and starts a new one. // and starts a new one.
QUIC_FLAG(double, FLAGS_quic_ack_aggregation_bandwidth_threshold, 1.0) QUIC_FLAG(double, FLAGS_quic_ack_aggregation_bandwidth_threshold, 1.0)
// If set to non-zero, the maximum number of consecutive pings that can be sent
// with aggressive initial retransmittable on wire timeout if there is no new
// data received. After which, the timeout will be exponentially back off until
// exceeds the default ping timeout.
QUIC_FLAG(int32_t,
FLAGS_quic_max_aggressive_retransmittable_on_wire_ping_count,
0)
// If true, Adjacent stream frames will be combined into one stream frame before
// the packet is serialized.
QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_coalesce_stream_frames, false)
// If true, populate nonretransmittable frames in SerializedPacket.
QUIC_FLAG(bool,
FLAGS_quic_reloadable_flag_quic_populate_nonretransmittable_frames,
false)
// If true, a stream will be reset if it receives fin that has offset less than
// its highest offset.
QUIC_FLAG(bool,
FLAGS_quic_reloadable_flag_quic_no_decrease_in_final_offset,
false)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment