gfe-relnote: Remove QUIC v39. Deprecate gfe2_reloadable_flag_quic_disable_version_39. PiperOrigin-RevId: 275075043 Change-Id: Id780364297db4d40c2e1c8b9e16439754b56ea12
diff --git a/quic/core/crypto/crypto_utils.cc b/quic/core/crypto/crypto_utils.cc index 59cc967..8b54807 100644 --- a/quic/core/crypto/crypto_utils.cc +++ b/quic/core/crypto/crypto_utils.cc
@@ -141,7 +141,7 @@ const uint8_t* InitialSaltForVersion(const ParsedQuicVersion& version, size_t* out_len) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync with initial encryption salts"); switch (version.handshake_protocol) { case PROTOCOL_QUIC_CRYPTO:
diff --git a/quic/core/http/quic_headers_stream_test.cc b/quic/core/http/quic_headers_stream_test.cc index 0791506..f61d9ad 100644 --- a/quic/core/http/quic_headers_stream_test.cc +++ b/quic/core/http/quic_headers_stream_test.cc
@@ -521,13 +521,7 @@ SpdyPriorityIR priority_frame(stream_id, parent_stream_id, weight, true); SpdySerializedFrame frame(framer_->SerializeFrame(priority_frame)); parent_stream_id = stream_id; - if (transport_version() <= QUIC_VERSION_39) { - EXPECT_CALL(*connection_, - CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA, - "SPDY PRIORITY frame received.", _)) - .WillRepeatedly(InvokeWithoutArgs( - this, &QuicHeadersStreamTest::TearDownLocalConnectionState)); - } else if (perspective() == Perspective::IS_CLIENT) { + if (perspective() == Perspective::IS_CLIENT) { EXPECT_CALL(*connection_, CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA, "Server must not send PRIORITY frames.", _))
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc index c876e3d..8c724e5 100644 --- a/quic/core/http/quic_spdy_session.cc +++ b/quic/core/http/quic_spdy_session.cc
@@ -245,11 +245,6 @@ int weight, bool exclusive) override { DCHECK(!VersionUsesHttp3(session_->transport_version())); - if (session_->transport_version() <= QUIC_VERSION_39) { - CloseConnection("SPDY PRIORITY frame received.", - QUIC_INVALID_HEADERS_STREAM_DATA); - return; - } if (!session_->IsConnected()) { return; } @@ -520,9 +515,6 @@ int weight, bool exclusive) { DCHECK(!VersionUsesHttp3(transport_version())); - if (transport_version() <= QUIC_VERSION_39) { - return 0; - } SpdyPriorityIR priority_frame(id, parent_stream_id, weight, exclusive); SpdySerializedFrame frame(spdy_framer_.SerializeFrame(priority_frame)); headers_stream()->WriteOrBufferData(
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc index 85e79a7..600e342 100644 --- a/quic/core/http/quic_spdy_session_test.cc +++ b/quic/core/http/quic_spdy_session_test.cc
@@ -1838,21 +1838,17 @@ QuicStreamSendBuffer& send_buffer = QuicStreamPeer::SendBuffer(headers_stream); - if (transport_version() > QUIC_VERSION_39) { - ASSERT_EQ(1u, send_buffer.size()); + ASSERT_EQ(1u, send_buffer.size()); - SpdyPriorityIR priority_frame( - id, parent_stream_id, Spdy3PriorityToHttp2Weight(priority), exclusive); - SpdyFramer spdy_framer(SpdyFramer::ENABLE_COMPRESSION); - SpdySerializedFrame frame = spdy_framer.SerializeFrame(priority_frame); + SpdyPriorityIR priority_frame( + id, parent_stream_id, Spdy3PriorityToHttp2Weight(priority), exclusive); + SpdyFramer spdy_framer(SpdyFramer::ENABLE_COMPRESSION); + SpdySerializedFrame frame = spdy_framer.SerializeFrame(priority_frame); - const QuicMemSlice& slice = - QuicStreamSendBufferPeer::CurrentWriteSlice(&send_buffer)->slice; - EXPECT_EQ(QuicStringPiece(frame.data(), frame.size()), - QuicStringPiece(slice.data(), slice.length())); - } else { - EXPECT_EQ(0u, send_buffer.size()); - } + const QuicMemSlice& slice = + QuicStreamSendBufferPeer::CurrentWriteSlice(&send_buffer)->slice; + EXPECT_EQ(QuicStringPiece(frame.data(), frame.size()), + QuicStringPiece(slice.data(), slice.length())); } TEST_P(QuicSpdySessionTestClient, Http3ServerPush) {
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc index cb24095..545d46b 100644 --- a/quic/core/quic_connection.cc +++ b/quic/core/quic_connection.cc
@@ -3717,17 +3717,11 @@ } void QuicConnection::MaybeEnableSessionDecidesWhatToWrite() { - // Only enable session decides what to write code path for version 42+, - // because it needs the receiver to allow receiving overlapping stream data. - const bool enable_session_decides_what_to_write = - transport_version() > QUIC_VERSION_39; - sent_packet_manager_.SetSessionDecideWhatToWrite( - enable_session_decides_what_to_write); + sent_packet_manager_.SetSessionDecideWhatToWrite(true); if (version().SupportsAntiAmplificationLimit()) { sent_packet_manager_.EnableIetfPtoAndLossDetection(); } - packet_generator_.SetCanSetTransmissionType( - enable_session_decides_what_to_write); + packet_generator_.SetCanSetTransmissionType(true); } void QuicConnection::PostProcessAfterAckFrame(bool send_stop_waiting,
diff --git a/quic/core/quic_dispatcher_test.cc b/quic/core/quic_dispatcher_test.cc index 3240ceb..985a1c3 100644 --- a/quic/core/quic_dispatcher_test.cc +++ b/quic/core/quic_dispatcher_test.cc
@@ -931,9 +931,8 @@ } TEST_F(QuicDispatcherTest, SupportedTransportVersionsChangeInFlight) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_48_2, true); SetQuicReloadableFlag(quic_enable_version_49, true); @@ -985,20 +984,10 @@ SetQuicReloadableFlag(quic_enable_version_47, true); VerifyVersionSupported( ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_47)); - - // Turn off version 39. - SetQuicReloadableFlag(quic_disable_version_39, true); - VerifyVersionNotSupported( - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_39)); - - // Turn on version 39. - SetQuicReloadableFlag(quic_disable_version_39, false); - VerifyVersionSupported( - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_39)); } TEST_F(QuicDispatcherTest, RejectDeprecatedVersionsWithVersionNegotiation) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Please add deprecated versions to this test"); QuicSocketAddress client_address(QuicIpAddress::Loopback4(), 1); CreateTimeWaitListManager();
diff --git a/quic/core/quic_stream_test.cc b/quic/core/quic_stream_test.cc index 411d6d0..eaeb630 100644 --- a/quic/core/quic_stream_test.cc +++ b/quic/core/quic_stream_test.cc
@@ -301,11 +301,7 @@ NO_FIN); })); stream_->WriteOrBufferData(QuicStringPiece(kData1, 2), false, nullptr); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); EXPECT_EQ(1u, stream_->BufferedDataBytes()); } @@ -323,11 +319,7 @@ NO_FIN); })); stream_->WriteOrBufferData(QuicStringPiece(kData1, 2), true, nullptr); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); } @@ -374,11 +366,7 @@ })); stream_->WriteOrBufferData(kData1, false, nullptr); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(1u, stream_->BufferedDataBytes()); EXPECT_TRUE(HasWriteBlockedStreams()); @@ -393,11 +381,7 @@ kDataLen - 1, kDataLen - 1, NO_FIN); })); stream_->OnCanWrite(); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); // And finally the end of the bytes_consumed. EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) @@ -406,11 +390,7 @@ 2 * kDataLen - 2, NO_FIN); })); stream_->OnCanWrite(); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); } TEST_P(QuicStreamTest, WriteOrBufferDataReachStreamLimit) { @@ -421,11 +401,7 @@ EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) .WillOnce(Invoke(&(MockQuicSession::ConsumeData))); stream_->WriteOrBufferData(data, false, nullptr); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_CALL(*connection_, CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _)); EXPECT_QUIC_BUG(stream_->WriteOrBufferData("a", false, nullptr), "Write too many data via stream"); @@ -460,11 +436,7 @@ NO_FIN); })); stream_->WriteOrBufferData(QuicStringPiece(kData1, 1), false, nullptr); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_FALSE(fin_sent()); EXPECT_FALSE(rst_sent()); @@ -834,11 +806,7 @@ // Send kData1. stream_->WriteOrBufferData(kData1, false, nullptr); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(1u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->IsWaitingForAcks()); QuicByteCount newly_acked_length = 0; @@ -853,11 +821,7 @@ // Send kData2. stream_->WriteOrBufferData(kData2, false, nullptr); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(1u, QuicStreamPeer::SendBuffer(stream_).size()); // Send FIN. stream_->WriteOrBufferData("", true, nullptr); @@ -873,11 +837,7 @@ EXPECT_EQ(9u, newly_acked_length); // Stream is waiting for acks as FIN is not acked. EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(0u, QuicStreamPeer::SendBuffer(stream_).size()); // FIN is acked. @@ -900,46 +860,26 @@ stream_->WriteOrBufferData("", true, nullptr); EXPECT_EQ(3u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); QuicByteCount newly_acked_length = 0; EXPECT_TRUE(stream_->OnStreamFrameAcked(9, 9, false, QuicTime::Delta::Zero(), &newly_acked_length)); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(9u, newly_acked_length); EXPECT_EQ(3u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->OnStreamFrameAcked(18, 9, false, QuicTime::Delta::Zero(), &newly_acked_length)); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(9u, newly_acked_length); EXPECT_EQ(3u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->OnStreamFrameAcked(0, 9, false, QuicTime::Delta::Zero(), &newly_acked_length)); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(9u, newly_acked_length); EXPECT_EQ(0u, QuicStreamPeer::SendBuffer(stream_).size()); // FIN is not acked yet. EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_TRUE(stream_->OnStreamFrameAcked(27, 0, true, QuicTime::Delta::Zero(), &newly_acked_length)); EXPECT_EQ(0u, newly_acked_length); @@ -957,22 +897,14 @@ stream_->WriteOrBufferData(kData1, false, nullptr); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(1u, QuicStreamPeer::SendBuffer(stream_).size()); // Cancel stream. stream_->Reset(QUIC_STREAM_NO_ERROR); // stream still waits for acks as the error code is QUIC_STREAM_NO_ERROR, and // data is going to be retransmitted. EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_CALL(*connection_, OnStreamReset(stream_->id(), QUIC_STREAM_CANCELLED)); EXPECT_CALL(*connection_, SendControlFrame(_)).Times(1); @@ -1007,11 +939,7 @@ stream_->WriteOrBufferData(kData1, false, nullptr); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(1u, QuicStreamPeer::SendBuffer(stream_).size()); // RST_STREAM received. @@ -1037,11 +965,7 @@ stream_->WriteOrBufferData(kData1, true, nullptr); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); // RST_STREAM received. EXPECT_CALL(*session_, SendRstStream(_, _, _)).Times(0); @@ -1050,11 +974,7 @@ stream_->OnStreamReset(rst_frame); // Stream still waits for acks as it finishes sending and has unacked data. EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_EQ(1u, QuicStreamPeer::SendBuffer(stream_).size()); } @@ -1068,11 +988,7 @@ stream_->WriteOrBufferData(kData1, false, nullptr); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); EXPECT_CALL(*session_, SendRstStream(stream_->id(), QUIC_RST_ACKNOWLEDGEMENT, 9)); stream_->OnConnectionClosed(QUIC_INTERNAL_ERROR, @@ -1328,11 +1244,7 @@ stream_->WriteOrBufferData(kData1, true, nullptr); EXPECT_EQ(3u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); // Ack [0, 9), [5, 22) and [18, 26) // Verify [0, 9) 9 bytes are acked. QuicByteCount newly_acked_length = 0; @@ -1351,11 +1263,7 @@ EXPECT_EQ(4u, newly_acked_length); EXPECT_EQ(1u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); // Ack [0, 27). Verify [26, 27) 1 byte is acked. EXPECT_TRUE(stream_->OnStreamFrameAcked(26, 1, false, QuicTime::Delta::Zero(), @@ -1363,11 +1271,7 @@ EXPECT_EQ(1u, newly_acked_length); EXPECT_EQ(0u, QuicStreamPeer::SendBuffer(stream_).size()); EXPECT_TRUE(stream_->IsWaitingForAcks()); - // Session decides what to write and puts stream into set of unacked streams - // only after v39. - if (GetParam().transport_version > QUIC_VERSION_39) { - EXPECT_TRUE(session_->HasUnackedStreamData()); - } + EXPECT_TRUE(session_->HasUnackedStreamData()); // Ack Fin. EXPECT_TRUE(stream_->OnStreamFrameAcked(27, 0, true, QuicTime::Delta::Zero(), @@ -1581,10 +1485,6 @@ } TEST_P(QuicStreamTest, ResetStreamOnTtlExpiresRetransmitLostData) { - // Version 39 and below doesn't support stream ttl. - if (GetParam().transport_version <= QUIC_VERSION_39) { - return; - } Initialize(); EXPECT_CALL(*session_, WritevData(_, stream_->id(), 200, 0, FIN)) @@ -1609,10 +1509,6 @@ } TEST_P(QuicStreamTest, ResetStreamOnTtlExpiresEarlyRetransmitData) { - // Version 39 and below doesn't support stream ttl. - if (GetParam().transport_version <= QUIC_VERSION_39) { - return; - } Initialize(); EXPECT_CALL(*session_, WritevData(_, stream_->id(), 200, 0, FIN))
diff --git a/quic/core/quic_transmission_info.h b/quic/core/quic_transmission_info.h index 7c4881a..6bc9674 100644 --- a/quic/core/quic_transmission_info.h +++ b/quic/core/quic_transmission_info.h
@@ -35,7 +35,8 @@ QuicFrames retransmittable_frames; EncryptionLevel encryption_level; - // TODO(fayang): remove this when deprecating QUIC_VERSION_39. + // TODO(fayang): remove this when clean up !session_decides_what_to_write code + // path. QuicPacketNumberLength packet_number_length; QuicPacketLength bytes_sent; QuicTime sent_time;
diff --git a/quic/core/quic_utils_test.cc b/quic/core/quic_utils_test.cc index 62cfbd0..213ff38 100644 --- a/quic/core/quic_utils_test.cc +++ b/quic/core/quic_utils_test.cc
@@ -244,17 +244,17 @@ TEST_F(QuicUtilsTest, VariableLengthConnectionId) { EXPECT_FALSE( - QuicUtils::VariableLengthConnectionIdAllowedForVersion(QUIC_VERSION_39)); + QuicUtils::VariableLengthConnectionIdAllowedForVersion(QUIC_VERSION_43)); EXPECT_TRUE(QuicUtils::IsConnectionIdValidForVersion( - QuicUtils::CreateZeroConnectionId(QUIC_VERSION_39), QUIC_VERSION_39)); + QuicUtils::CreateZeroConnectionId(QUIC_VERSION_43), QUIC_VERSION_43)); EXPECT_TRUE(QuicUtils::IsConnectionIdValidForVersion( QuicUtils::CreateZeroConnectionId(QUIC_VERSION_99), QUIC_VERSION_99)); - EXPECT_NE(QuicUtils::CreateZeroConnectionId(QUIC_VERSION_39), + EXPECT_NE(QuicUtils::CreateZeroConnectionId(QUIC_VERSION_43), EmptyQuicConnectionId()); EXPECT_EQ(QuicUtils::CreateZeroConnectionId(QUIC_VERSION_99), EmptyQuicConnectionId()); EXPECT_FALSE(QuicUtils::IsConnectionIdValidForVersion(EmptyQuicConnectionId(), - QUIC_VERSION_39)); + QUIC_VERSION_43)); } TEST_F(QuicUtilsTest, StatelessResetToken) {
diff --git a/quic/core/quic_version_manager.cc b/quic/core/quic_version_manager.cc index 5f14ad4..4b2487f 100644 --- a/quic/core/quic_version_manager.cc +++ b/quic/core/quic_version_manager.cc
@@ -20,10 +20,9 @@ enable_version_49_(GetQuicReloadableFlag(quic_enable_version_49)), enable_version_48_(GetQuicReloadableFlag(quic_enable_version_48_2)), enable_version_47_(GetQuicReloadableFlag(quic_enable_version_47)), - disable_version_39_(GetQuicReloadableFlag(quic_disable_version_39)), enable_tls_(GetQuicReloadableFlag(quic_supports_tls_handshake)), allowed_supported_versions_(std::move(supported_versions)) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); RefilterSupportedVersions(); } @@ -42,21 +41,19 @@ } void QuicVersionManager::MaybeRefilterSupportedVersions() { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); if (enable_version_99_ != GetQuicReloadableFlag(quic_enable_version_99) || enable_version_50_ != GetQuicReloadableFlag(quic_enable_version_50) || enable_version_49_ != GetQuicReloadableFlag(quic_enable_version_49) || enable_version_48_ != GetQuicReloadableFlag(quic_enable_version_48_2) || enable_version_47_ != GetQuicReloadableFlag(quic_enable_version_47) || - disable_version_39_ != GetQuicReloadableFlag(quic_disable_version_39) || enable_tls_ != GetQuicReloadableFlag(quic_supports_tls_handshake)) { enable_version_99_ = GetQuicReloadableFlag(quic_enable_version_99); enable_version_50_ = GetQuicReloadableFlag(quic_enable_version_50); enable_version_49_ = GetQuicReloadableFlag(quic_enable_version_49); enable_version_48_ = GetQuicReloadableFlag(quic_enable_version_48_2); enable_version_47_ = GetQuicReloadableFlag(quic_enable_version_47); - disable_version_39_ = GetQuicReloadableFlag(quic_disable_version_39); enable_tls_ = GetQuicReloadableFlag(quic_supports_tls_handshake); RefilterSupportedVersions(); }
diff --git a/quic/core/quic_version_manager.h b/quic/core/quic_version_manager.h index 3b2ec85..447f3dc 100644 --- a/quic/core/quic_version_manager.h +++ b/quic/core/quic_version_manager.h
@@ -51,8 +51,6 @@ bool enable_version_48_; // quic_enable_version_47 flag bool enable_version_47_; - // quic_disable_version_39 flag - bool disable_version_39_; // quic_supports_tls_handshake flag bool enable_tls_;
diff --git a/quic/core/quic_version_manager_test.cc b/quic/core/quic_version_manager_test.cc index 8749477..200a373 100644 --- a/quic/core/quic_version_manager_test.cc +++ b/quic/core/quic_version_manager_test.cc
@@ -16,14 +16,13 @@ class QuicVersionManagerTest : public QuicTest {}; TEST_F(QuicVersionManagerTest, QuicVersionManager) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); SetQuicReloadableFlag(quic_enable_version_99, false); SetQuicReloadableFlag(quic_enable_version_50, false); SetQuicReloadableFlag(quic_enable_version_49, false); SetQuicReloadableFlag(quic_enable_version_48_2, false); SetQuicReloadableFlag(quic_enable_version_47, false); - SetQuicReloadableFlag(quic_disable_version_39, true); QuicVersionManager manager(AllSupportedVersions()); EXPECT_EQ(FilterSupportedTransportVersions(AllSupportedTransportVersions()), @@ -32,47 +31,40 @@ EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_46, QUIC_VERSION_43}), manager.GetSupportedTransportVersions()); - SetQuicReloadableFlag(quic_disable_version_39, false); - EXPECT_EQ(QuicTransportVersionVector( - {QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}), - manager.GetSupportedTransportVersions()); - SetQuicReloadableFlag(quic_enable_version_47, true); - EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_47, QUIC_VERSION_46, - QUIC_VERSION_43, QUIC_VERSION_39}), + EXPECT_EQ(QuicTransportVersionVector( + {QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}), manager.GetSupportedTransportVersions()); SetQuicReloadableFlag(quic_enable_version_48_2, true); EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_48, QUIC_VERSION_47, - QUIC_VERSION_46, QUIC_VERSION_43, - QUIC_VERSION_39}), + QUIC_VERSION_46, QUIC_VERSION_43}), manager.GetSupportedTransportVersions()); SetQuicReloadableFlag(quic_enable_version_49, true); EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_49, QUIC_VERSION_48, QUIC_VERSION_47, QUIC_VERSION_46, - QUIC_VERSION_43, QUIC_VERSION_39}), + QUIC_VERSION_43}), manager.GetSupportedTransportVersions()); SetQuicReloadableFlag(quic_enable_version_50, true); + EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_50, QUIC_VERSION_49, + QUIC_VERSION_48, QUIC_VERSION_47, + QUIC_VERSION_46, QUIC_VERSION_43}), + manager.GetSupportedTransportVersions()); + + SetQuicReloadableFlag(quic_enable_version_99, true); EXPECT_EQ( QuicTransportVersionVector( - {QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, QUIC_VERSION_47, - QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}), + {QUIC_VERSION_99, QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}), manager.GetSupportedTransportVersions()); SetQuicReloadableFlag(quic_enable_version_99, true); EXPECT_EQ( QuicTransportVersionVector( {QUIC_VERSION_99, QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, - QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}), - manager.GetSupportedTransportVersions()); - - SetQuicReloadableFlag(quic_enable_version_99, true); - EXPECT_EQ( - QuicTransportVersionVector( - {QUIC_VERSION_99, QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, - QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}), + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}), manager.GetSupportedTransportVersions()); // Ensure that all versions are now supported.
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc index 7aabc3d..0e48462 100644 --- a/quic/core/quic_versions.cc +++ b/quic/core/quic_versions.cc
@@ -113,11 +113,9 @@ << parsed_version.handshake_protocol; return 0; } - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); switch (parsed_version.transport_version) { - case QUIC_VERSION_39: - return MakeVersionLabel(proto, '0', '3', '9'); case QUIC_VERSION_43: return MakeVersionLabel(proto, '0', '4', '3'); case QUIC_VERSION_46: @@ -286,10 +284,6 @@ if (GetQuicReloadableFlag(quic_enable_version_47)) { filtered_versions.push_back(version); } - } else if (version.transport_version == QUIC_VERSION_39) { - if (!GetQuicReloadableFlag(quic_disable_version_39)) { - filtered_versions.push_back(version); - } } else { filtered_versions.push_back(version); } @@ -377,10 +371,9 @@ return #x std::string QuicVersionToString(QuicTransportVersion transport_version) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); switch (transport_version) { - RETURN_STRING_LITERAL(QUIC_VERSION_39); RETURN_STRING_LITERAL(QUIC_VERSION_43); RETURN_STRING_LITERAL(QUIC_VERSION_46); RETURN_STRING_LITERAL(QUIC_VERSION_47); @@ -485,7 +478,7 @@ if (parsed_version.handshake_protocol == PROTOCOL_TLS1_3) { SetQuicReloadableFlag(quic_supports_tls_handshake, true); } - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); if (parsed_version.transport_version == QUIC_VERSION_99) { SetQuicReloadableFlag(quic_enable_version_99, true);
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h index de5bbea..ec6cb5e 100644 --- a/quic/core/quic_versions.h +++ b/quic/core/quic_versions.h
@@ -82,10 +82,9 @@ // Version 38 switched to IETF padding frame format and support for NSTP (no // stop waiting frame) connection option. - QUIC_VERSION_39 = 39, // Integers and floating numbers are written in big - // endian. Dot not ack acks. Send a connection level - // WINDOW_UPDATE every 20 sent packets which do not - // contain retransmittable frames. + // Version 39 writes integers and floating numbers in big endian, stops acking + // acks, sends a connection level WINDOW_UPDATE every 20 sent packets which do + // not contain retransmittable frames. // Version 40 was an attempt to convert QUIC to IETF frame format; it was // never shipped due to a bug. @@ -216,7 +215,7 @@ // See go/new-quic-version for more details on how to roll out new versions. static const QuicTransportVersion kSupportedTransportVersions[] = { QUIC_VERSION_99, QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, - QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39, + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, }; // This vector contains all crypto handshake protocols that are supported.
diff --git a/quic/core/quic_versions_test.cc b/quic/core/quic_versions_test.cc index a631187..6bcd9f4 100644 --- a/quic/core/quic_versions_test.cc +++ b/quic/core/quic_versions_test.cc
@@ -35,8 +35,8 @@ log.StartCapturingLogs(); // Explicitly test a specific version. - EXPECT_EQ(MakeQuicTag('9', '3', '0', 'Q'), - QuicVersionToQuicVersionLabel(QUIC_VERSION_39)); + EXPECT_EQ(MakeQuicTag('3', '4', '0', 'Q'), + QuicVersionToQuicVersionLabel(QUIC_VERSION_43)); // Loop over all supported versions and make sure that we never hit the // default case (i.e. all supported versions should be successfully converted @@ -63,8 +63,8 @@ log.StartCapturingLogs(); // Explicitly test specific versions. - EXPECT_EQ(QUIC_VERSION_39, - QuicVersionLabelToQuicVersion(MakeQuicTag('9', '3', '0', 'Q'))); + EXPECT_EQ(QUIC_VERSION_43, + QuicVersionLabelToQuicVersion(MakeQuicTag('3', '4', '0', 'Q'))); for (size_t i = 0; i < QUIC_ARRAYSIZE(kSupportedTransportVersions); ++i) { QuicTransportVersion version = kSupportedTransportVersions[i]; @@ -112,8 +112,6 @@ } TEST_F(QuicVersionsTest, ParseQuicVersionLabel) { - EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_39), - ParseQuicVersionLabel(MakeVersionLabel('Q', '0', '3', '9'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43), ParseQuicVersionLabel(MakeVersionLabel('Q', '0', '4', '3'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46), @@ -126,8 +124,6 @@ ParseQuicVersionLabel(MakeVersionLabel('Q', '0', '5', '0'))); // Test TLS versions: - EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_39), - ParseQuicVersionLabel(MakeVersionLabel('T', '0', '3', '9'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43), ParseQuicVersionLabel(MakeVersionLabel('T', '0', '4', '3'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46), @@ -141,8 +137,6 @@ } TEST_F(QuicVersionsTest, ParseQuicVersionString) { - EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_39), - ParseQuicVersionString("Q039")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43), ParseQuicVersionString("Q043")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46), @@ -160,8 +154,6 @@ // Test a TLS version: SetQuicReloadableFlag(quic_supports_tls_handshake, true); - EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_39), - ParseQuicVersionString("T039")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43), ParseQuicVersionString("T043")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46), @@ -175,9 +167,6 @@ } TEST_F(QuicVersionsTest, CreateQuicVersionLabel) { - EXPECT_EQ(MakeVersionLabel('Q', '0', '3', '9'), - CreateQuicVersionLabel( - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_39))); EXPECT_EQ(MakeVersionLabel('Q', '0', '4', '3'), CreateQuicVersionLabel( ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43))); @@ -195,9 +184,6 @@ ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_50))); // Test a TLS version: - EXPECT_EQ(MakeVersionLabel('T', '0', '3', '9'), - CreateQuicVersionLabel( - ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_39))); EXPECT_EQ(MakeVersionLabel('T', '0', '4', '3'), CreateQuicVersionLabel( ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43))); @@ -245,25 +231,24 @@ } TEST_F(QuicVersionsTest, QuicVersionToString) { - EXPECT_EQ("QUIC_VERSION_39", QuicVersionToString(QUIC_VERSION_39)); EXPECT_EQ("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(QUIC_VERSION_UNSUPPORTED)); - QuicTransportVersion single_version[] = {QUIC_VERSION_39}; + QuicTransportVersion single_version[] = {QUIC_VERSION_43}; QuicTransportVersionVector versions_vector; for (size_t i = 0; i < QUIC_ARRAYSIZE(single_version); ++i) { versions_vector.push_back(single_version[i]); } - EXPECT_EQ("QUIC_VERSION_39", + EXPECT_EQ("QUIC_VERSION_43", QuicTransportVersionVectorToString(versions_vector)); QuicTransportVersion multiple_versions[] = {QUIC_VERSION_UNSUPPORTED, - QUIC_VERSION_39}; + QUIC_VERSION_43}; versions_vector.clear(); for (size_t i = 0; i < QUIC_ARRAYSIZE(multiple_versions); ++i) { versions_vector.push_back(multiple_versions[i]); } - EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_39", + EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_43", QuicTransportVersionVectorToString(versions_vector)); // Make sure that all supported versions are present in QuicVersionToString. @@ -275,16 +260,16 @@ TEST_F(QuicVersionsTest, ParsedQuicVersionToString) { ParsedQuicVersion unsupported = UnsupportedQuicVersion(); - ParsedQuicVersion version39(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_39); - EXPECT_EQ("Q039", ParsedQuicVersionToString(version39)); + ParsedQuicVersion version43(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43); + EXPECT_EQ("Q043", ParsedQuicVersionToString(version43)); EXPECT_EQ("0", ParsedQuicVersionToString(unsupported)); - ParsedQuicVersionVector versions_vector = {version39}; - EXPECT_EQ("Q039", ParsedQuicVersionVectorToString(versions_vector)); + ParsedQuicVersionVector versions_vector = {version43}; + EXPECT_EQ("Q043", ParsedQuicVersionVectorToString(versions_vector)); - versions_vector = {unsupported, version39}; - EXPECT_EQ("0,Q039", ParsedQuicVersionVectorToString(versions_vector)); - EXPECT_EQ("0:Q039", ParsedQuicVersionVectorToString(versions_vector, ":", + versions_vector = {unsupported, version43}; + EXPECT_EQ("0,Q043", ParsedQuicVersionVectorToString(versions_vector)); + EXPECT_EQ("0:Q043", ParsedQuicVersionVectorToString(versions_vector, ":", versions_vector.size())); EXPECT_EQ("0|...", ParsedQuicVersionVectorToString(versions_vector, "|", 0)); @@ -307,9 +292,8 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsAllVersions) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_48_2, true); SetQuicReloadableFlag(quic_enable_version_49, true); @@ -321,7 +305,7 @@ } QuicTransportVersionVector expected_versions = { QUIC_VERSION_99, QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, - QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -334,9 +318,8 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo99) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_48_2, true); SetQuicReloadableFlag(quic_enable_version_49, true); @@ -347,8 +330,8 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, QUIC_VERSION_47, - QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; + QUIC_VERSION_50, QUIC_VERSION_49, QUIC_VERSION_48, + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -361,7 +344,6 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo50) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_48_2, true); SetQuicReloadableFlag(quic_enable_version_49, true); @@ -372,8 +354,8 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_49, QUIC_VERSION_48, QUIC_VERSION_47, - QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; + QUIC_VERSION_49, QUIC_VERSION_48, QUIC_VERSION_47, QUIC_VERSION_46, + QUIC_VERSION_43}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -386,9 +368,8 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo49) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_48_2, true); SetQuicReloadableFlag(quic_enable_version_49, false); @@ -399,8 +380,7 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_48, QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, - QUIC_VERSION_39}; + QUIC_VERSION_48, QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -413,9 +393,8 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo48) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_48_2, false); SetQuicReloadableFlag(quic_enable_version_49, false); @@ -426,7 +405,7 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -439,9 +418,8 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo47) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_48_2, false); SetQuicReloadableFlag(quic_enable_version_49, false); @@ -451,8 +429,8 @@ for (QuicTransportVersion version : all_versions) { parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } - QuicTransportVersionVector expected_versions = { - QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; + QuicTransportVersionVector expected_versions = {QUIC_VERSION_46, + QUIC_VERSION_43}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -465,9 +443,8 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo39) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - SetQuicReloadableFlag(quic_disable_version_39, true); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_48_2, false); SetQuicReloadableFlag(quic_enable_version_49, false); @@ -490,7 +467,7 @@ } TEST_F(QuicVersionsTest, LookUpVersionByIndex) { - QuicTransportVersionVector all_versions = {QUIC_VERSION_39}; + QuicTransportVersionVector all_versions = {QUIC_VERSION_43}; int version_count = all_versions.size(); for (int i = -5; i <= version_count + 1; ++i) { if (i >= 0 && i < version_count) { @@ -528,9 +505,8 @@ // yet a typo was made in doing the #defines and it was caught // only in some test far removed from here... Better safe than sorry. TEST_F(QuicVersionsTest, CheckVersionNumbersForTypos) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); - EXPECT_EQ(QUIC_VERSION_39, 39); EXPECT_EQ(QUIC_VERSION_43, 43); EXPECT_EQ(QUIC_VERSION_46, 46); EXPECT_EQ(QUIC_VERSION_47, 47); @@ -541,7 +517,7 @@ } TEST_F(QuicVersionsTest, AlpnForVersion) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); ParsedQuicVersion parsed_version_q047 = ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_47); @@ -574,7 +550,7 @@ } TEST_F(QuicVersionsTest, QuicEnableVersion) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 8u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u, "Supported versions out of sync"); SetQuicReloadableFlag(quic_supports_tls_handshake, true); ParsedQuicVersion parsed_version_q047 = @@ -596,7 +572,6 @@ ParsedQuicVersion parsed_version_t099 = ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_99); SetQuicReloadableFlag(quic_supports_tls_handshake, false); - SetQuicReloadableFlag(quic_disable_version_39, false); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_48_2, false); SetQuicReloadableFlag(quic_enable_version_49, false);
diff --git a/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc b/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc index 0aa2ca1..71cb058 100644 --- a/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc +++ b/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc
@@ -56,9 +56,9 @@ ParsedQuicVersion ConsumeParsedQuicVersion(FuzzedDataProvider* provider) { // TODO(wub): Add support for v49+. - const std::array<QuicTransportVersion, 5> transport_versions = { - {quic::QUIC_VERSION_39, quic::QUIC_VERSION_43, quic::QUIC_VERSION_46, - quic::QUIC_VERSION_47, quic::QUIC_VERSION_48}, + const std::array<QuicTransportVersion, 4> transport_versions = { + {quic::QUIC_VERSION_43, quic::QUIC_VERSION_46, quic::QUIC_VERSION_47, + quic::QUIC_VERSION_48}, }; return ParsedQuicVersion(