gfe-relnote: Remove QUIC version 44. False deprecate gfe2_reloadable_flag_quic_enable_version_44. PiperOrigin-RevId: 250877268 Change-Id: I22b949baa3eea488245d84ca537342c9eadbfb48
diff --git a/quic/core/http/quic_spdy_client_session_test.cc b/quic/core/http/quic_spdy_client_session_test.cc index 847de2b..cb45340 100644 --- a/quic/core/http/quic_spdy_client_session_test.cc +++ b/quic/core/http/quic_spdy_client_session_test.cc
@@ -498,7 +498,7 @@ QuicReceivedPacket valid_packet(buf, 2, QuicTime::Zero(), false); // Close connection shouldn't be called. EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0); - if (connection_->transport_version() > QUIC_VERSION_44) { + if (connection_->transport_version() >= QUIC_VERSION_46) { // Illegal fixed bit value. EXPECT_CALL(*connection_, OnError(_)).Times(1); }
diff --git a/quic/core/quic_buffered_packet_store_test.cc b/quic/core/quic_buffered_packet_store_test.cc index 466dffb..c465ac9 100644 --- a/quic/core/quic_buffered_packet_store_test.cc +++ b/quic/core/quic_buffered_packet_store_test.cc
@@ -55,7 +55,7 @@ packet_time_(QuicTime::Zero() + QuicTime::Delta::FromMicroseconds(42)), packet_(packet_content_.data(), packet_content_.size(), packet_time_), invalid_version_(UnsupportedQuicVersion()), - valid_version_(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_44) {} + valid_version_(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46) {} protected: QuicBufferedPacketStoreVisitor visitor_;
diff --git a/quic/core/quic_dispatcher_test.cc b/quic/core/quic_dispatcher_test.cc index 538c8d9..1fb11ce 100644 --- a/quic/core/quic_dispatcher_test.cc +++ b/quic/core/quic_dispatcher_test.cc
@@ -843,10 +843,9 @@ } TEST_F(QuicDispatcherTest, SupportedTransportVersionsChangeInFlight) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 6u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 5u, "Supported versions out of sync"); SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, true); SetQuicReloadableFlag(quic_enable_version_46, true); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_99, true); @@ -967,39 +966,6 @@ SerializeCHLO(), CONNECTION_ID_PRESENT, PACKET_4BYTE_PACKET_NUMBER, 1); - // Turn off version 44. - SetQuicReloadableFlag(quic_enable_version_44, false); - connection_id = TestConnectionId(++conn_id); - EXPECT_CALL(*dispatcher_, CreateQuicSession(connection_id, client_address, - QuicStringPiece("hq"), _)) - .Times(0); - ProcessPacket(client_address, connection_id, true, - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_44), - SerializeCHLO(), CONNECTION_ID_PRESENT, - PACKET_4BYTE_PACKET_NUMBER, 1); - - // Turn on version 44. - SetQuicReloadableFlag(quic_enable_version_44, true); - connection_id = TestConnectionId(++conn_id); - EXPECT_CALL(*dispatcher_, CreateQuicSession(connection_id, client_address, - QuicStringPiece("hq"), _)) - .WillOnce(testing::Return(CreateSession( - dispatcher_.get(), config_, connection_id, client_address, - &mock_helper_, &mock_alarm_factory_, &crypto_config_, - QuicDispatcherPeer::GetCache(dispatcher_.get()), &session1_))); - EXPECT_CALL(*reinterpret_cast<MockQuicConnection*>(session1_->connection()), - ProcessUdpPacket(_, _, _)) - .WillOnce(WithArg<2>( - Invoke([this, connection_id](const QuicEncryptedPacket& packet) { - ValidatePacket(connection_id, packet); - }))); - EXPECT_CALL(*dispatcher_, - ShouldCreateOrBufferPacketForConnection(connection_id, _)); - ProcessPacket(client_address, connection_id, true, - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_44), - SerializeCHLO(), CONNECTION_ID_PRESENT, - PACKET_4BYTE_PACKET_NUMBER, 1); - // Turn off version 39. SetQuicReloadableFlag(quic_disable_version_39, true); connection_id = TestConnectionId(++conn_id);
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc index 04b824a..fa6dbd20 100644 --- a/quic/core/quic_framer.cc +++ b/quic/core/quic_framer.cc
@@ -195,24 +195,12 @@ } uint8_t PacketNumberLengthToOnWireValue( - QuicTransportVersion version, QuicPacketNumberLength packet_number_length) { - if (version > QUIC_VERSION_44) { - return packet_number_length - 1; - } - switch (packet_number_length) { - case PACKET_1BYTE_PACKET_NUMBER: - return 0; - case PACKET_2BYTE_PACKET_NUMBER: - return 1; - case PACKET_4BYTE_PACKET_NUMBER: - return 2; - default: - QUIC_BUG << "Invalid packet number length."; - return 0; - } + return packet_number_length - 1; } +// TODO(fayang): Remove |version| when deprecating +// quic_no_framer_object_in_dispatcher. bool GetShortHeaderPacketNumberLength( QuicTransportVersion version, uint8_t type, @@ -220,7 +208,7 @@ QuicPacketNumberLength* packet_number_length) { DCHECK(!(type & FLAGS_LONG_HEADER)); const bool two_bits_packet_number_length = - infer_packet_header_type_from_version ? version > QUIC_VERSION_44 + infer_packet_header_type_from_version ? version > 44 : (type & FLAGS_FIXED_BIT); if (two_bits_packet_number_length) { *packet_number_length = @@ -244,17 +232,16 @@ return true; } -uint8_t LongHeaderTypeToOnWireValue(QuicTransportVersion version, - QuicLongHeaderType type) { +uint8_t LongHeaderTypeToOnWireValue(QuicLongHeaderType type) { switch (type) { case INITIAL: - return version > QUIC_VERSION_44 ? 0 : 0x7F; + return 0; case ZERO_RTT_PROTECTED: - return version > QUIC_VERSION_44 ? 1 << 4 : 0x7C; + return 1 << 4; case HANDSHAKE: - return version > QUIC_VERSION_44 ? 2 << 4 : 0x7D; + return 2 << 4; case RETRY: - return version > QUIC_VERSION_44 ? 3 << 4 : 0x7E; + return 3 << 4; case VERSION_NEGOTIATION: return 0xF0; // Value does not matter default: @@ -263,11 +250,13 @@ } } +// TODO(fayang): Remove |version| when deprecating +// quic_no_framer_object_in_dispatcher. bool GetLongHeaderType(QuicTransportVersion version, uint8_t type, QuicLongHeaderType* long_header_type) { DCHECK((type & FLAGS_LONG_HEADER) && version != QUIC_VERSION_UNSUPPORTED); - if (version > QUIC_VERSION_44) { + if (version > 44) { switch ((type & 0x30) >> 4) { case 0: *long_header_type = INITIAL; @@ -311,10 +300,12 @@ return true; } +// TODO(fayang): Remove |version| when deprecating +// quic_no_framer_object_in_dispatcher. QuicPacketNumberLength GetLongHeaderPacketNumberLength( QuicTransportVersion version, uint8_t type) { - if (version > QUIC_VERSION_44) { + if (version > 44) { return static_cast<QuicPacketNumberLength>((type & 0x03) + 1); } return PACKET_4BYTE_PACKET_NUMBER; @@ -1365,8 +1356,7 @@ type |= FLAGS_FIXED_BIT; type |= FLAGS_SHORT_HEADER_RESERVED_1; type |= FLAGS_SHORT_HEADER_RESERVED_2; - type |= PacketNumberLengthToOnWireValue(QUIC_VERSION_UNSUPPORTED, - PACKET_1BYTE_PACKET_NUMBER); + type |= PacketNumberLengthToOnWireValue(PACKET_1BYTE_PACKET_NUMBER); // Append type byte. if (!writer.WriteUInt8(type)) { @@ -2135,34 +2125,15 @@ bool QuicFramer::AppendIetfHeaderTypeByte(const QuicPacketHeader& header, QuicDataWriter* writer) { uint8_t type = 0; - if (transport_version() > QUIC_VERSION_44) { - if (header.version_flag) { - type = static_cast<uint8_t>( - FLAGS_LONG_HEADER | FLAGS_FIXED_BIT | - LongHeaderTypeToOnWireValue(transport_version(), - header.long_packet_type) | - PacketNumberLengthToOnWireValue(transport_version(), - header.packet_number_length)); - } else { - type = static_cast<uint8_t>( - FLAGS_FIXED_BIT | - PacketNumberLengthToOnWireValue(transport_version(), - header.packet_number_length)); - } - return writer->WriteUInt8(type); - } - if (header.version_flag) { type = static_cast<uint8_t>( - FLAGS_LONG_HEADER | LongHeaderTypeToOnWireValue( - transport_version(), header.long_packet_type)); - DCHECK_EQ(PACKET_4BYTE_PACKET_NUMBER, header.packet_number_length); + FLAGS_LONG_HEADER | FLAGS_FIXED_BIT | + LongHeaderTypeToOnWireValue(header.long_packet_type) | + PacketNumberLengthToOnWireValue(header.packet_number_length)); } else { - type |= FLAGS_SHORT_HEADER_RESERVED_1; - type |= FLAGS_SHORT_HEADER_RESERVED_2; - DCHECK_GE(PACKET_4BYTE_PACKET_NUMBER, header.packet_number_length); - type |= PacketNumberLengthToOnWireValue(transport_version(), - header.packet_number_length); + type = static_cast<uint8_t>( + FLAGS_FIXED_BIT | + PacketNumberLengthToOnWireValue(header.packet_number_length)); } return writer->WriteUInt8(type); } @@ -2548,7 +2519,9 @@ } else { header->version = ParseQuicVersionLabel(version_label); if (header->version.transport_version != QUIC_VERSION_UNSUPPORTED) { - if (header->version.transport_version > QUIC_VERSION_44 && + // TODO(fayang): remove version check when deprecating + // quic_no_framer_object_in_dispatcher. + if (header->version.transport_version > 44 && !(type & FLAGS_FIXED_BIT)) { set_detailed_error("Fixed bit is 0 in long header."); return false; @@ -2593,8 +2566,10 @@ perspective_ == Perspective::IS_CLIENT ? CONNECTION_ID_ABSENT : CONNECTION_ID_PRESENT; header->source_connection_id_included = CONNECTION_ID_ABSENT; - if (infer_packet_header_type_from_version_ && - transport_version() > QUIC_VERSION_44 && !(type & FLAGS_FIXED_BIT)) { + // TODO(fayang): remove version check when deprecating + // quic_no_framer_object_in_dispatcher. + if (infer_packet_header_type_from_version_ && transport_version() > 44 && + !(type & FLAGS_FIXED_BIT)) { set_detailed_error("Fixed bit is 0 in short header."); return false; } @@ -2768,7 +2743,7 @@ set_detailed_error("Unable to read frame type."); return RaiseError(QUIC_INVALID_FRAME_DATA); } - const uint8_t special_mask = transport_version() <= QUIC_VERSION_44 + const uint8_t special_mask = transport_version() <= QUIC_VERSION_43 ? kQuicFrameTypeBrokenMask : kQuicFrameTypeSpecialMask; if (frame_type & special_mask) { @@ -2887,7 +2862,7 @@ case STOP_WAITING_FRAME: { if (GetQuicReloadableFlag(quic_do_not_accept_stop_waiting) && - version_.transport_version >= QUIC_VERSION_44) { + version_.transport_version > QUIC_VERSION_43) { QUIC_RELOADABLE_FLAG_COUNT(quic_do_not_accept_stop_waiting); set_detailed_error("STOP WAITING not supported in version 44+."); return RaiseError(QUIC_INVALID_STOP_WAITING_DATA);
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc index 5cc8470..6d2dd8e 100644 --- a/quic/core/quic_framer_test.cc +++ b/quic/core/quic_framer_test.cc
@@ -825,14 +825,6 @@ // private flags 0x00, }; - unsigned char packet44[kMaxIncomingPacketSize + 1] = { - // type (short header 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x78, 0x56, 0x34, 0x12, - }; unsigned char packet46[kMaxIncomingPacketSize + 1] = { // type (short header 4 byte packet number) 0x43, @@ -844,12 +836,9 @@ // clang-format on unsigned char* p = packet; size_t p_size = QUIC_ARRAYSIZE(packet); - if (framer_.transport_version() > QUIC_VERSION_44) { + if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } const size_t header_size = GetPacketHeaderSize( @@ -926,23 +915,6 @@ TEST_P(QuicFramerTest, LongPacketHeader) { // clang-format off - PacketFragments packet44 = { - // type (long header with packet type INITIAL) - {"Unable to read type.", - {0xFF}}, - // version tag - {"Unable to read protocol version.", - {QUIC_VERSION_BYTES}}, - // connection_id length - {"Unable to read ConnectionId length.", - {0x50}}, - // connection_id - {"Unable to read Destination ConnectionId.", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"Unable to read packet number.", - {0x12, 0x34, 0x56, 0x78}}, - }; PacketFragments packet46 = { // type (long header with packet type INITIAL) {"Unable to read type.", @@ -967,10 +939,8 @@ return; } - PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_44 ? packet46 : packet44; std::unique_ptr<QuicEncryptedPacket> encrypted( - AssemblePacketFromFragments(fragments)); + AssemblePacketFromFragments(packet46)); EXPECT_FALSE(framer_.ProcessPacket(*encrypted)); EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); @@ -981,9 +951,7 @@ EXPECT_TRUE(visitor_.header_->version_flag); EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); - CheckFramingBoundaries( - framer_.transport_version() > QUIC_VERSION_44 ? packet46 : packet44, - QUIC_INVALID_PACKET_HEADER); + CheckFramingBoundaries(packet46, QUIC_INVALID_PACKET_HEADER); PacketHeaderFormat format; bool version_flag; @@ -1009,13 +977,11 @@ } SetQuicRestartFlag(quic_do_not_override_connection_id, true); SetDecrypterLevel(ENCRYPTION_ZERO_RTT); - const unsigned char type_byte = - framer_.transport_version() == QUIC_VERSION_44 ? 0xFC : 0xD3; // clang-format off unsigned char packet[] = { // public flags (long header with packet type ZERO_RTT_PROTECTED and // 4-byte packet number) - type_byte, + 0xD3, // version QUIC_VERSION_BYTES, // connection ID lengths @@ -1068,16 +1034,6 @@ {0x12, 0x34, 0x56, 0x78}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"Unable to read type.", - {0x32}}, - // connection_id - // packet number - {"Unable to read packet number.", - {0x12, 0x34, 0x56, 0x78}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"Unable to read type.", @@ -1102,10 +1058,7 @@ PacketFragments& fragments = framer_.version().HasHeaderProtection() ? packet_hp - : framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_FALSE(framer_.ProcessPacket(*encrypted)); @@ -1142,24 +1095,6 @@ {0x12, 0x34, 0x56, 0x78}}, }; - PacketFragments packet44 = { - // type (long header with packet type ZERO_RTT_PROTECTED) - {"Unable to read type.", - {0xFC}}, - // version tag - {"Unable to read protocol version.", - {QUIC_VERSION_BYTES}}, - // connection_id length - {"Unable to read ConnectionId length.", - {0x50}}, - // connection_id - {"Unable to read Destination ConnectionId.", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"Unable to read packet number.", - {0x12, 0x34, 0x56, 0x78}}, - }; - PacketFragments packet46 = { // type (long header with packet type ZERO_RTT_PROTECTED and 4 bytes // packet number) @@ -1205,10 +1140,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_FALSE(framer_.ProcessPacket(*encrypted)); @@ -1241,18 +1173,6 @@ {0x12, 0x34, 0x56, 0x78}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"Unable to read type.", - {0x32}}, - // connection_id - {"Unable to read Destination ConnectionId.", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"Unable to read packet number.", - {0x12, 0x34, 0x56, 0x78}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"Unable to read type.", @@ -1281,10 +1201,7 @@ PacketFragments& fragments = framer_.version().HasHeaderProtection() ? packet_hp - : framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_FALSE(framer_.ProcessPacket(*encrypted)); @@ -1316,18 +1233,6 @@ {0x56, 0x78}}, }; - PacketFragments packet44 = { - // type (short header, 2 byte packet number) - {"Unable to read type.", - {0x31}}, - // connection_id - {"Unable to read Destination ConnectionId.", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"Unable to read packet number.", - {0x56, 0x78}}, - }; - PacketFragments packet46 = { // type (short header, 2 byte packet number) {"Unable to read type.", @@ -1358,10 +1263,7 @@ PacketFragments& fragments = framer_.version().HasHeaderProtection() ? packet_hp - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); if (framer_.version().HasHeaderProtection()) { @@ -1399,18 +1301,6 @@ {0x78}}, }; - PacketFragments packet44 = { - // type (8 byte connection_id and 1 byte packet number) - {"Unable to read type.", - {0x30}}, - // connection_id - {"Unable to read Destination ConnectionId.", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"Unable to read packet number.", - {0x78}}, - }; - PacketFragments packet46 = { // type (8 byte connection_id and 1 byte packet number) {"Unable to read type.", @@ -1442,10 +1332,7 @@ PacketFragments& fragments = framer_.version().HasHeaderProtection() ? packet_hp - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); if (framer_.version().HasHeaderProtection()) { @@ -1554,28 +1441,6 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[] = { - // type: Long header with packet type ZERO_RTT_PROTECTED - 0xFC, - // version tag - QUIC_VERSION_BYTES, - // connection_id length - 0x05, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - // nonce - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - - // frame type (padding) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - unsigned char packet46[] = { // type: Long header with packet type ZERO_RTT_PROTECTED and 1 byte packet // number. @@ -1634,12 +1499,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -1670,24 +1532,7 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[] = { - // type (long header with packet type ZERO_RTT_PROTECTED) - 0xFC, - // version tag - 'Q', '0', '0', '0', - // connection_id length - 0x50, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (padding frame) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - - unsigned char packet45[] = { + unsigned char packet46[] = { // type (long header, ZERO_RTT_PROTECTED, 4-byte packet number) 0xD3, // version tag @@ -1707,12 +1552,9 @@ unsigned char* p = packet; size_t p_size = QUIC_ARRAYSIZE(packet); - if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet45; - p_size = QUIC_ARRAYSIZE(packet45); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); + if (framer_.transport_version() > QUIC_VERSION_43) { + p = packet46; + p_size = QUIC_ARRAYSIZE(packet46); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); EXPECT_TRUE(framer_.ProcessPacket(encrypted)); @@ -1754,33 +1596,6 @@ 0x00, 0x00, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // paddings - 0x00, 0x00, - // frame type (stream frame with fin) - 0xFF, - // stream id - 0x01, 0x02, 0x03, 0x04, - // offset - 0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54, - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!', - // paddings - 0x00, 0x00, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -1842,12 +1657,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -1902,36 +1714,6 @@ 'r', 'l', 'd', '!'}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (stream frame with fin) - {"", - {0xFF}}, - // stream id - {"Unable to read stream_id.", - {0x01, 0x02, 0x03, 0x04}}, - // offset - {"Unable to read offset.", - {0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54}}, - {"Unable to read frame data.", - { - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!'}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -1996,10 +1778,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -2106,21 +1885,6 @@ 0x00, }; - unsigned char packet44[] = { - // type (long header, ZERO_RTT_PROTECTED, 4-byte packet number) - 0xFC, - // version tag - QUIC_VERSION_BYTES, - // connection_id length - 0x05, - // connection_id - 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE, - // packet number - 0x12, 0x34, 0x56, 0x78, - // padding frame - 0x00, - }; - unsigned char packet46[] = { // type (long header, ZERO_RTT_PROTECTED, 4-byte packet number) 0xD3, @@ -2159,19 +1923,16 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_length = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() >= QUIC_VERSION_46) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_length = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() >= QUIC_VERSION_44) { - p = packet44; - p_length = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_length, false); EXPECT_FALSE(framer_.ProcessPacket(encrypted)); if (framer_.version().HasHeaderProtection()) { EXPECT_EQ(QUIC_DECRYPTION_FAILURE, framer_.error()); EXPECT_EQ("Unable to decrypt header protection.", framer_.detailed_error()); - } else if (framer_.transport_version() >= QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { // Cannot read diversification nonce. EXPECT_EQ(QUIC_INVALID_PACKET_HEADER, framer_.error()); EXPECT_EQ("Unable to read nonce.", framer_.detailed_error()); @@ -2272,36 +2033,6 @@ 'r', 'l', 'd', '!'}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (stream frame with fin) - {"", - {0xFD}}, - // stream id - {"Unable to read stream_id.", - {0x03, 0x04}}, - // offset - {"Unable to read offset.", - {0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54}}, - {"Unable to read frame data.", - { - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!'}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -2366,10 +2097,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -2424,36 +2152,6 @@ 'r', 'l', 'd', '!'}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (stream frame with fin) - {"", - {0xFC}}, - // stream id - {"Unable to read stream_id.", - {0x04}}, - // offset - {"Unable to read offset.", - {0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54}}, - {"Unable to read frame data.", - { - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!'}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -2518,10 +2216,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -2579,42 +2274,6 @@ 'r', 'l', 'd', '!'}}, }; - PacketFragments packet44 = { - // public flags (long header with packet type ZERO_RTT_PROTECTED) - {"", - {0xFC}}, - // version tag - {"", - {QUIC_VERSION_BYTES}}, - // connection_id length - {"", - {0x50}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (stream frame with fin) - {"", - {0xFE}}, - // stream id - {"Unable to read stream_id.", - {0x02, 0x03, 0x04}}, - // offset - {"Unable to read offset.", - {0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54}}, - {"Unable to read frame data.", - { - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!'}}, - }; - PacketFragments packet46 = { // public flags (long header with packet type ZERO_RTT_PROTECTED and // 4-byte packet number) @@ -2704,10 +2363,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -2761,29 +2417,6 @@ 'r', 'l', 'd', '!', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (STREAM Frame with FIN, LEN, and OFFSET bits set) - 0x10 | 0x01 | 0x02 | 0x04, - // stream id - kVarInt62FourBytes + 0x01, 0x02, 0x03, 0x04, - // offset - kVarInt62EightBytes + 0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54, - // data length - kVarInt62OneByte + 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -2809,14 +2442,12 @@ // clang-format on unsigned char* p = packet; - if (framer_.transport_version() > QUIC_VERSION_44) { + if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; } QuicEncryptedPacket encrypted(AsChars(p), framer_.transport_version() > QUIC_VERSION_43 - ? QUIC_ARRAYSIZE(packet44) + ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet), false); EXPECT_TRUE(framer_.ProcessPacket(encrypted)); @@ -2842,15 +2473,6 @@ 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, }; - unsigned char packet44[] = { - // type (short header, 1 byte packet number) - 0x30, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x01, - }; - unsigned char packet46[] = { // type (short header, 1 byte packet number) 0x40, @@ -2862,15 +2484,10 @@ // clang-format on QuicEncryptedPacket encrypted( - framer_.transport_version() > QUIC_VERSION_44 - ? AsChars(packet46) - : (framer_.transport_version() > QUIC_VERSION_43 ? AsChars(packet44) - : AsChars(packet)), - framer_.transport_version() > QUIC_VERSION_44 - ? QUIC_ARRAYSIZE(packet46) - : (framer_.transport_version() > QUIC_VERSION_43 - ? QUIC_ARRAYSIZE(packet44) - : QUIC_ARRAYSIZE(packet)), + framer_.transport_version() > QUIC_VERSION_43 ? AsChars(packet46) + : AsChars(packet), + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) + : QUIC_ARRAYSIZE(packet), false); EXPECT_TRUE(framer_.ProcessPacket(encrypted)); @@ -2910,34 +2527,6 @@ {0x00}} }; - PacketFragments packet44 = { - // type (short packet, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (ack frame) - // (one ack block, 2 byte largest observed, 2 byte block length) - {"", - {0x45}}, - // largest acked - {"Unable to read largest acked.", - {0x12, 0x34}}, - // Zero delta time. - {"Unable to read ack delay time.", - {0x00, 0x00}}, - // first ack block length. - {"Unable to read first ack block length.", - {0x12, 0x34}}, - // num timestamps. - {"Unable to read num received packets.", - {0x00}} - }; - PacketFragments packet46 = { // type (short packet, 4 byte packet number) {"", @@ -3005,10 +2594,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -3062,34 +2648,6 @@ {0x00}} }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (ack frame) - // (one ack block, 2 byte largest observed, 2 byte block length) - {"", - {0x45}}, - // largest acked - {"Unable to read largest acked.", - {0x12, 0x34}}, - // Zero delta time. - {"Unable to read ack delay time.", - {0x00, 0x00}}, - // first ack block length. - {"Unable to read first ack block length.", - {0x88, 0x88}}, - // num timestamps. - {"Underflow with first ack block length 34952 largest acked is 4660.", - {0x00}} - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -3149,10 +2707,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_FALSE(framer_.ProcessPacket(*encrypted)); @@ -3480,44 +3035,6 @@ { 0x00 }}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - { 0x32 }}, - // connection_id - {"", - { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10 }}, - // packet number - {"", - { 0x12, 0x34, 0x56, 0x78 }}, - - // frame type (ack frame) - // (more than one ack block, 2 byte largest observed, 2 byte block length) - {"", - { 0x65 }}, - // largest acked - {"Unable to read largest acked.", - { 0x12, 0x34 }}, - // Zero delta time. - {"Unable to read ack delay time.", - { 0x00, 0x00 }}, - // num ack blocks ranges. - {"Unable to read num of ack blocks.", - { 0x01 }}, - // first ack block length. - {"Unable to read first ack block length.", - { 0x00, 0x00 }}, - // gap to next block. - { "First block length is zero.", - { 0x01 }}, - // ack block length. - { "First block length is zero.", - { 0x0e, 0xaf }}, - // Number of timestamps. - { "First block length is zero.", - { 0x00 }}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -3558,9 +3075,7 @@ // clang-format on PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 : packet); + framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet; std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); @@ -3610,34 +3125,6 @@ {0x00}} }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x56, 0x78, 0x9A, 0xBC}}, - // frame type (ack frame) - // (one ack block, 4 byte largest observed, 2 byte block length) - {"", - {0x49}}, - // largest acked - {"Unable to read largest acked.", - {0x12, 0x34, 0x56, 0x78}}, - // Zero delta time. - {"Unable to read ack delay time.", - {0x00, 0x00}}, - // first ack block length. - {"Unable to read first ack block length.", - {0x12, 0x34}}, - // num timestamps. - {"Unable to read num received packets.", - {0x00}} - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -3697,10 +3184,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -3793,74 +3277,6 @@ { 0x32, 0x10 }}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - { 0x32 }}, - // connection_id - {"", - { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10 }}, - // packet number - {"", - { 0x12, 0x34, 0x56, 0x78 }}, - - // frame type (ack frame) - // (more than one ack block, 2 byte largest observed, 2 byte block length) - {"", - { 0x65 }}, - // largest acked - {"Unable to read largest acked.", - { 0x12, 0x34 }}, - // Zero delta time. - {"Unable to read ack delay time.", - { 0x00, 0x00 }}, - // num ack blocks ranges. - {"Unable to read num of ack blocks.", - { 0x04 }}, - // first ack block length. - {"Unable to read first ack block length.", - { 0x00, 0x01 }}, - // gap to next block. - { "Unable to read gap to next ack block.", - { 0x01 }}, - // ack block length. - { "Unable to ack block length.", - { 0x0e, 0xaf }}, - // gap to next block. - { "Unable to read gap to next ack block.", - { 0xff }}, - // ack block length. - { "Unable to ack block length.", - { 0x00, 0x00 }}, - // gap to next block. - { "Unable to read gap to next ack block.", - { 0x91 }}, - // ack block length. - { "Unable to ack block length.", - { 0x01, 0xea }}, - // gap to next block. - { "Unable to read gap to next ack block.", - { 0x05 }}, - // ack block length. - { "Unable to ack block length.", - { 0x00, 0x04 }}, - // Number of timestamps. - { "Unable to read num received packets.", - { 0x02 }}, - // Delta from largest observed. - { "Unable to read sequence delta in received packets.", - { 0x01 }}, - // Delta time. - { "Unable to read time delta in received packets.", - { 0x76, 0x54, 0x32, 0x10 }}, - // Delta from largest observed. - { "Unable to read sequence delta in received packets.", - { 0x02 }}, - // Delta time. - { "Unable to read incremental time delta in received packets.", - { 0x32, 0x10 }}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -3989,10 +3405,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); @@ -4048,31 +3461,6 @@ 0x10, 0x32, 0x54, 0x76, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - // (no ack blocks, 1 byte largest observed, 1 byte block length) - 0x40, - // largest acked - 0x01, - // Zero delta time. - 0x00, 0x00, - // first ack block length. - 0x01, - // num timestamps. - 0x01, - // Delta from largest observed. - 0x01, - // Delta time. - 0x10, 0x32, 0x54, 0x76, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -4102,10 +3490,8 @@ return; } QuicEncryptedPacket encrypted( - AsChars(framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)), + AsChars(framer_.transport_version() > QUIC_VERSION_43 ? packet46 + : packet), QUIC_ARRAYSIZE(packet), false); EXPECT_FALSE(framer_.ProcessPacket(encrypted)); EXPECT_TRUE(QuicTextUtils::StartsWith( @@ -4144,35 +3530,6 @@ 0x10, 0x32, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - // (no ack blocks, 1 byte largest observed, 1 byte block length) - 0x40, - // largest acked - 0x03, - // Zero delta time. - 0x00, 0x00, - // first ack block length. - 0x03, - // num timestamps. - 0x02, - // Delta from largest observed. - 0x01, - // Delta time. - 0x10, 0x32, 0x54, 0x76, - // Delta from largest observed. - 0x03, - // Delta time. - 0x10, 0x32, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -4206,10 +3563,8 @@ return; } QuicEncryptedPacket encrypted( - AsChars(framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)), + AsChars(framer_.transport_version() > QUIC_VERSION_43 ? packet46 + : packet), QUIC_ARRAYSIZE(packet), false); EXPECT_FALSE(framer_.ProcessPacket(encrypted)); EXPECT_TRUE(QuicTextUtils::StartsWith( @@ -4240,24 +3595,6 @@ {0x00, 0x00, 0x00, 0x08}} }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (stop waiting frame) - {"", - {0x06}}, - // least packet number awaiting an ack, delta from packet number. - {"Unable to read least unacked delta.", - {0x00, 0x00, 0x00, 0x08}} - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -4278,14 +3615,12 @@ // clang-format on PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 : packet); + framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet; std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); if (GetQuicReloadableFlag(quic_do_not_accept_stop_waiting) && - version_.transport_version >= QUIC_VERSION_44) { + version_.transport_version > QUIC_VERSION_43) { EXPECT_FALSE(framer_.ProcessPacket(*encrypted)); EXPECT_EQ(QUIC_INVALID_STOP_WAITING_DATA, framer_.error()); EXPECT_EQ("STOP WAITING not supported in version 44+.", @@ -4312,7 +3647,7 @@ TEST_P(QuicFramerTest, InvalidNewStopWaitingFrame) { if (version_.transport_version == QUIC_VERSION_99 || (GetQuicReloadableFlag(quic_do_not_accept_stop_waiting) && - version_.transport_version >= QUIC_VERSION_44)) { + version_.transport_version > QUIC_VERSION_43)) { return; } SetDecrypterLevel(ENCRYPTION_FORWARD_SECURE); @@ -4331,19 +3666,6 @@ 0x9A, 0xA8, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - // frame type (stop waiting frame) - 0x06, - // least packet number awaiting an ack, delta from packet number. - 0x57, 0x78, 0x9A, 0xA8, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -4359,11 +3681,9 @@ // clang-format on QuicEncryptedPacket encrypted( - AsChars(framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + AsChars(framer_.transport_version() > QUIC_VERSION_43 ? packet46 + : packet), + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet), false); EXPECT_FALSE(framer_.ProcessPacket(encrypted)); @@ -4399,31 +3719,6 @@ {0x00, 0x00, 0x00, 0x01}} }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (rst stream frame) - {"", - {0x01}}, - // stream id - {"Unable to read stream_id.", - {0x01, 0x02, 0x03, 0x04}}, - // sent byte offset - {"Unable to read rst stream sent byte offset.", - {0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54}}, - // error code - {"Unable to read rst stream error code.", - {0x00, 0x00, 0x00, 0x01}} - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -4477,10 +3772,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -4528,34 +3820,6 @@ } }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (connection close frame) - {"", - {0x02}}, - // error code - {"Unable to read connection close error code.", - {0x00, 0x00, 0x00, 0x11}}, - {"Unable to read connection close error details.", - { - // error details length - 0x0, 0x0d, - // error details - 'b', 'e', 'c', 'a', - 'u', 's', 'e', ' ', - 'I', ' ', 'c', 'a', - 'n'} - } - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -4618,10 +3882,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -4746,38 +4007,6 @@ } }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (go away frame) - {"", - {0x03}}, - // error code - {"Unable to read go away error code.", - {0x00, 0x00, 0x00, 0x09}}, - // stream id - {"Unable to read last good stream id.", - {0x01, 0x02, 0x03, 0x04}}, - // stream id - {"Unable to read goaway reason.", - { - // error details length - 0x0, 0x0d, - // error details - 'b', 'e', 'c', 'a', - 'u', 's', 'e', ' ', - 'I', ' ', 'c', 'a', - 'n'} - } - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -4812,9 +4041,7 @@ // clang-format on PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 : packet); + framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet; std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -4862,28 +4089,6 @@ 0x32, 0x10, 0x76, 0x54}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (window update frame) - {"", - {0x04}}, - // stream id - {"Unable to read stream_id.", - {0x01, 0x02, 0x03, 0x04}}, - // byte offset - {"Unable to read window byte_offset.", - {0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -4909,9 +4114,7 @@ // clang-format on PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 : packet); + framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet; std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -5039,24 +4242,6 @@ {0x01, 0x02, 0x03, 0x04}}, }; - PacketFragments packet44 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // frame type (blocked frame) - {"", - {0x05}}, - // stream id - {"Unable to read stream_id.", - {0x01, 0x02, 0x03, 0x04}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -5100,10 +4285,7 @@ PacketFragments& fragments = framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : (framer_.transport_version() > QUIC_VERSION_43 ? packet44 - : packet)); + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet); std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -5143,18 +4325,6 @@ 0x07, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type - 0x07, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -5183,18 +4353,13 @@ QuicEncryptedPacket encrypted( AsChars(framer_.transport_version() == QUIC_VERSION_99 ? packet99 - : (framer_.transport_version() > QUIC_VERSION_44 - ? packet46 - : framer_.transport_version() > QUIC_VERSION_43 - ? packet44 - : packet)), + : (framer_.transport_version() > QUIC_VERSION_43 ? packet46 + : packet)), framer_.transport_version() == QUIC_VERSION_99 ? QUIC_ARRAYSIZE(packet99) - : (framer_.transport_version() > QUIC_VERSION_44 + : (framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) - : framer_.transport_version() > QUIC_VERSION_43 - ? QUIC_ARRAYSIZE(packet44) - : QUIC_ARRAYSIZE(packet)), + : QUIC_ARRAYSIZE(packet)), false); EXPECT_TRUE(framer_.ProcessPacket(encrypted)); @@ -5210,38 +4375,11 @@ } TEST_P(QuicFramerTest, MessageFrame) { - if (framer_.transport_version() <= QUIC_VERSION_44) { + if (framer_.transport_version() <= QUIC_VERSION_43) { return; } SetDecrypterLevel(ENCRYPTION_FORWARD_SECURE); // clang-format off - PacketFragments packet45 = { - // type (short header, 4 byte packet number) - {"", - {0x32}}, - // connection_id - {"", - {0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10}}, - // packet number - {"", - {0x12, 0x34, 0x56, 0x78}}, - // message frame type. - {"", - { 0x21 }}, - // message length - {"Unable to read message length", - {0x07}}, - // message data - {"Unable to read message data", - {'m', 'e', 's', 's', 'a', 'g', 'e'}}, - // message frame no length. - {"", - { 0x20 }}, - // message data - {{}, - {'m', 'e', 's', 's', 'a', 'g', 'e', '2'}}, - }; - PacketFragments packet46 = { // type (short header, 4 byte packet number) {"", @@ -5270,8 +4408,8 @@ }; // clang-format on - std::unique_ptr<QuicEncryptedPacket> encrypted(AssemblePacketFromFragments( - framer_.transport_version() > QUIC_VERSION_44 ? packet46 : packet45)); + std::unique_ptr<QuicEncryptedPacket> encrypted( + AssemblePacketFromFragments(packet46)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); EXPECT_EQ(QUIC_NO_ERROR, framer_.error()); @@ -5284,9 +4422,7 @@ EXPECT_EQ(7u, visitor_.message_frames_[0]->message_length); EXPECT_EQ(8u, visitor_.message_frames_[1]->message_length); - CheckFramingBoundaries( - framer_.transport_version() > QUIC_VERSION_44 ? packet46 : packet45, - QUIC_INVALID_MESSAGE_DATA); + CheckFramingBoundaries(packet46, QUIC_INVALID_MESSAGE_DATA); } TEST_P(QuicFramerTest, PublicResetPacketV33) { @@ -5587,7 +4723,7 @@ 'Q', '2', '.', '0'}}, }; - PacketFragments packet44 = { + PacketFragments ietf_packet = { // type (long header) {"", {0x8F}}, @@ -5609,7 +4745,7 @@ QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT); PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_43 ? packet44 : packet; + framer_.transport_version() > QUIC_VERSION_43 ? ietf_packet : packet; std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); EXPECT_TRUE(framer_.ProcessPacket(*encrypted)); @@ -5631,7 +4767,7 @@ if (!GetQuicRestartFlag(quic_server_drop_version_negotiation)) { return; } - if (framer_.transport_version() < QUIC_VERSION_44) { + if (framer_.transport_version() <= QUIC_VERSION_43) { return; } @@ -5795,19 +4931,6 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[kMaxOutgoingPacketSize] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (padding frame) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - unsigned char packet46[kMaxOutgoingPacketSize] = { // type (short header, 4 byte packet number) 0x43, @@ -5838,10 +4961,8 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } uint64_t header_size = GetPacketHeaderSize( @@ -5856,7 +4977,7 @@ test::CompareCharArraysWithHexError( "constructed packet", data->data(), data->length(), AsChars(p), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet)); } @@ -5901,33 +5022,6 @@ 0x00, 0x00, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // paddings - 0x00, 0x00, - // frame type (stream frame with fin) - 0xFF, - // stream id - 0x01, 0x02, 0x03, 0x04, - // offset - 0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54, - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!', - // paddings - 0x00, 0x00, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -5991,12 +5085,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -6029,19 +5120,6 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[kMaxOutgoingPacketSize] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (padding frame) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - unsigned char packet46[kMaxOutgoingPacketSize] = { // type (short header, 4 byte packet number) 0x43, @@ -6072,10 +5150,8 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } uint64_t header_size = GetPacketHeaderSize( @@ -6090,7 +5166,7 @@ test::CompareCharArraysWithHexError( "constructed packet", data->data(), data->length(), AsChars(p), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet)); } @@ -6119,19 +5195,6 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[kMaxOutgoingPacketSize] = { - // type (short header, 2 byte packet number) - 0x31, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x56, 0x78, - - // frame type (padding frame) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - unsigned char packet46[kMaxOutgoingPacketSize] = { // type (short header, 2 byte packet number) 0x41, @@ -6162,10 +5225,8 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } uint64_t header_size = GetPacketHeaderSize( @@ -6180,7 +5241,7 @@ test::CompareCharArraysWithHexError( "constructed packet", data->data(), data->length(), AsChars(p), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet)); } @@ -6209,19 +5270,6 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[kMaxOutgoingPacketSize] = { - // type (short header, 1 byte packet number) - 0x30, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x78, - - // frame type (padding frame) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - unsigned char packet46[kMaxOutgoingPacketSize] = { // type (short header, 1 byte packet number) 0x40, @@ -6252,10 +5300,8 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } uint64_t header_size = GetPacketHeaderSize( @@ -6270,7 +5316,7 @@ test::CompareCharArraysWithHexError( "constructed packet", data->data(), data->length(), AsChars(p), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet)); } @@ -6312,27 +5358,6 @@ 'r', 'l', 'd', '!', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (stream frame with fin and no length) - 0xDF, - // stream id - 0x01, 0x02, 0x03, 0x04, - // offset - 0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -6384,12 +5409,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } test::CompareCharArraysWithHexError("constructed packet", data->data(), data->length(), AsChars(p), p_size); @@ -6433,28 +5455,6 @@ 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', }; - unsigned char packet44[] = { - // type (long header with packet type ZERO_RTT_PROTECTED) - 0xFC, - // version tag - QUIC_VERSION_BYTES, - // connection_id length - 0x50, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (stream frame with fin and no length) - 0xDF, - // stream id - 0x01, 0x02, 0x03, 0x04, - // offset - 0x3A, 0x98, 0xFE, 0xDC, 0x32, 0x10, 0x76, 0x54, - // data - 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', - }; - unsigned char packet46[] = { // type (long header with packet type ZERO_RTT_PROTECTED) 0xD3, @@ -6511,12 +5511,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } test::CompareCharArraysWithHexError("constructed packet", data->data(), data->length(), AsChars(p), p_size); @@ -6645,7 +5642,7 @@ if (GetQuicReloadableFlag(quic_send_version_negotiation_fixed_bit)) { type44 = 0xC0; } - unsigned char packet44[] = { + unsigned char ietf_packet[] = { // type (long header) type44, // version tag @@ -6661,8 +5658,8 @@ unsigned char* p = packet; size_t p_size = QUIC_ARRAYSIZE(packet); if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); + p = ietf_packet; + p_size = QUIC_ARRAYSIZE(ietf_packet); } QuicConnectionId connection_id = FramerTestConnectionId(); @@ -6752,27 +5749,6 @@ 0x00, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - // (no ack blocks, 2 byte largest observed, 2 byte block length) - 0x45, - // largest acked - 0x12, 0x34, - // Zero delta time. - 0x00, 0x00, - // first ack block length. - 0x12, 0x34, - // num timestamps. - 0x00, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -6819,12 +5795,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -6868,27 +5841,6 @@ 0x00, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - // (no ack blocks, 4 byte largest observed, 4 byte block length) - 0x4A, - // largest acked - 0x12, 0x34, 0x56, 0x78, - // Zero delta time. - 0x00, 0x00, - // first ack block length. - 0x12, 0x34, 0x56, 0x78, - // num timestamps. - 0x00, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -6936,12 +5888,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -7008,45 +5957,6 @@ 0x00, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - // (has ack blocks, 2 byte largest observed, 2 byte block length) - 0x65, - // largest acked - 0x12, 0x34, - // Zero delta time. - 0x00, 0x00, - // num ack blocks ranges. - 0x04, - // first ack block length. - 0x00, 0x01, - // gap to next block. - 0x01, - // ack block length. - 0x0e, 0xaf, - // gap to next block. - 0xff, - // ack block length. - 0x00, 0x00, - // gap to next block. - 0x91, - // ack block length. - 0x01, 0xea, - // gap to next block. - 0x05, - // ack block length. - 0x00, 0x04, - // num timestamps. - 0x00, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -7126,12 +6036,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -7255,99 +6162,6 @@ 0x00, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - // frame type (ack frame) - // (has ack blocks, 2 byte largest observed, 2 byte block length) - 0x65, - // largest acked - 0x12, 0x34, - // Zero delta time. - 0x00, 0x00, - // num ack blocks ranges. - 0xff, - // first ack block length. - 0x0f, 0xdd, - // 255 = 4 * 63 + 3 - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, - // num timestamps. - 0x00, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -7531,12 +6345,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -7624,25 +6435,6 @@ 0x05, 0x06, 0x07, 0x08, }; - unsigned char packet44[] = { - // type (short packet, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (rst stream frame) - 0x01, - // stream id - 0x01, 0x02, 0x03, 0x04, - // sent byte offset - 0x08, 0x07, 0x06, 0x05, - 0x04, 0x03, 0x02, 0x01, - // error code - 0x05, 0x06, 0x07, 0x08, - }; - unsigned char packet46[] = { // type (short packet, 4 byte packet number) 0x43, @@ -7691,12 +6483,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -7747,27 +6536,6 @@ 'n', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (connection close frame) - 0x02, - // error code - 0x05, 0x06, 0x07, 0x08, - // error details length - 0x00, 0x0d, - // error details - 'b', 'e', 'c', 'a', - 'u', 's', 'e', ' ', - 'I', ' ', 'c', 'a', - 'n', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -7818,12 +6586,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -7902,55 +6667,6 @@ 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (connection close frame) - 0x02, - // error code - 0x05, 0x06, 0x07, 0x08, - // error details length - 0x01, 0x00, - // error details (truncated to 256 bytes) - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -8057,12 +6773,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -8244,29 +6957,6 @@ 'n', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (go away frame) - 0x03, - // error code - 0x05, 0x06, 0x07, 0x08, - // stream id - 0x01, 0x02, 0x03, 0x04, - // error details length - 0x00, 0x0d, - // error details - 'b', 'e', 'c', 'a', - 'u', 's', 'e', ' ', - 'I', ' ', 'c', 'a', - 'n', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -8294,12 +6984,9 @@ unsigned char* p = packet; size_t p_size = QUIC_ARRAYSIZE(packet); - if (framer_.transport_version() > QUIC_VERSION_44) { + if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -8380,57 +7067,6 @@ 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (go away frame) - 0x03, - // error code - 0x05, 0x06, 0x07, 0x08, - // stream id - 0x01, 0x02, 0x03, 0x04, - // error details length - 0x01, 0x00, - // error details (truncated to 256 bytes) - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -8485,12 +7121,9 @@ unsigned char* p = packet; size_t p_size = QUIC_ARRAYSIZE(packet); - if (framer_.transport_version() > QUIC_VERSION_44) { + if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -8532,23 +7165,6 @@ 0x55, 0x66, 0x77, 0x88, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (window update frame) - 0x04, - // stream id - 0x01, 0x02, 0x03, 0x04, - // byte offset - 0x11, 0x22, 0x33, 0x44, - 0x55, 0x66, 0x77, 0x88, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -8592,12 +7208,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } test::CompareCharArraysWithHexError("constructed packet", data->data(), @@ -8730,20 +7343,6 @@ 0x01, 0x02, 0x03, 0x04, }; - unsigned char packet44[] = { - // type (short packet, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (blocked frame) - 0x05, - // stream id - 0x01, 0x02, 0x03, 0x04, - }; - unsigned char packet46[] = { // type (short packet, 4 byte packet number) 0x43, @@ -8781,12 +7380,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } test::CompareCharArraysWithHexError("constructed packet", data->data(), @@ -8816,18 +7412,6 @@ 0x07, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type - 0x07, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -8856,10 +7440,8 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -8867,12 +7449,12 @@ test::CompareCharArraysWithHexError( "constructed packet", data->data(), data->length(), AsChars(p), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet)); } TEST_P(QuicFramerTest, BuildMessagePacket) { - if (framer_.transport_version() <= QUIC_VERSION_44) { + if (framer_.transport_version() <= QUIC_VERSION_43) { return; } QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT); @@ -8888,26 +7470,6 @@ QuicFrames frames = {QuicFrame(&frame), QuicFrame(&frame2)}; // clang-format off - unsigned char packet45[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (message frame) - 0x21, - // Length - 0x07, - // Message Data - 'm', 'e', 's', 's', 'a', 'g', 'e', - // frame type (message frame no length) - 0x20, - // Message Data - 'm', 'e', 's', 's', 'a', 'g', 'e', '2' - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -8949,11 +7511,9 @@ }; // clang-format on - unsigned char* p = packet45; + unsigned char* p = packet46; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames)); @@ -8961,7 +7521,7 @@ test::CompareCharArraysWithHexError("constructed packet", data->data(), data->length(), AsChars(p), - QUIC_ARRAYSIZE(packet45)); + QUIC_ARRAYSIZE(packet46)); } // Test that the connectivity probing packet is serialized correctly as a @@ -8990,21 +7550,6 @@ 0x00, 0x00, 0x00, 0x00 }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type - 0x07, - // frame type (padding frame) - 0x00, - 0x00, 0x00, 0x00, 0x00 - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -9041,12 +7586,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; packet_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; packet_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - packet_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<char[]> buffer(new char[kMaxOutgoingPacketSize]); @@ -9337,18 +7879,6 @@ 0x07, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type - 0x07, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -9380,15 +7910,13 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } test::CompareCharArraysWithHexError( "constructed packet", data->data(), data->length(), AsChars(p), - framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet44) + framer_.transport_version() > QUIC_VERSION_43 ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet)); } @@ -9559,7 +8087,7 @@ TEST_P(QuicFramerTest, BuildIetfStatelessResetPacket) { // clang-format off - unsigned char packet44[] = { + unsigned char packet[] = { // type (short header, 1 byte packet number) 0x70, // random packet number @@ -9576,7 +8104,7 @@ ASSERT_TRUE(data != nullptr); // Skip packet number byte which is random in stateless reset packet. test::CompareCharArraysWithHexError("constructed packet", data->data(), 1, - AsChars(packet44), 1); + AsChars(packet), 1); const size_t random_bytes_length = data->length() - kPacketHeaderTypeSize - sizeof(kTestStatelessResetToken); EXPECT_EQ(kMinRandomBytesLengthInStatelessReset, random_bytes_length); @@ -9585,7 +8113,7 @@ "constructed packet", data->data() + data->length() - sizeof(kTestStatelessResetToken), sizeof(kTestStatelessResetToken), - AsChars(packet44) + QUIC_ARRAYSIZE(packet44) - + AsChars(packet) + QUIC_ARRAYSIZE(packet) - sizeof(kTestStatelessResetToken), sizeof(kTestStatelessResetToken)); } @@ -9608,21 +8136,6 @@ 'm', 'n', 'o', 'p', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // redundancy - 'a', 'b', 'c', 'd', - 'e', 'f', 'g', 'h', - 'i', 'j', 'k', 'l', - 'm', 'n', 'o', 'p', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -9660,10 +8173,8 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } std::unique_ptr<QuicPacket> raw(new QuicPacket( @@ -9700,25 +8211,6 @@ 'm', 'n', 'o', 'p', }; - unsigned char packet44[] = { - // type (long header with packet type ZERO_RTT_PROTECTED) - 0xFC, - // version tag - 'Q', '.', '1', '0', - // connection_id length - 0x50, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // redundancy - 'a', 'b', 'c', 'd', - 'e', 'f', 'g', 'h', - 'i', 'j', 'k', 'l', - 'm', 'n', 'o', 'p', - }; - unsigned char packet46[] = { // type (long header with packet type ZERO_RTT_PROTECTED) 0xD3, @@ -9764,12 +8256,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } std::unique_ptr<QuicPacket> raw(new QuicPacket( @@ -9952,43 +8441,6 @@ 0x9A, 0xBE, }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (stream frame with fin) - 0xFF, - // stream id - 0x01, 0x02, 0x03, 0x04, - // offset - 0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54, - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!', - - // frame type (ack frame) - 0x40, - // least packet number awaiting an ack - 0x12, 0x34, 0x56, 0x78, - 0x9A, 0xA0, - // largest observed packet number - 0x12, 0x34, 0x56, 0x78, - 0x9A, 0xBF, - // num missing packets - 0x01, - // missing packet - 0x12, 0x34, 0x56, 0x78, - 0x9A, 0xBE, - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -10080,12 +8532,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); EXPECT_TRUE(framer_.ProcessPacket(encrypted)); @@ -10248,27 +8697,6 @@ 'r', 'l', 'd', '!', }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (stream frame with fin, length, and offset bits set) - 0x10 | 0x01 | 0x02 | 0x04, - // stream id - 0x01, 0x02, 0x03, 0x04, - // offset - 0x3A, 0x98, 0xFE, 0xDC, - 0x32, 0x10, 0x76, 0x54, - // data length - 0x00, 0x0c, - // data - 'h', 'e', 'l', 'l', - 'o', ' ', 'w', 'o', - 'r', 'l', 'd', '!', - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -10315,14 +8743,12 @@ unsigned char* p = packet; if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; + p = packet46; } QuicFramerFuzzFunc(p, framer_.transport_version() > QUIC_VERSION_43 - ? QUIC_ARRAYSIZE(packet44) + ? QUIC_ARRAYSIZE(packet46) : QUIC_ARRAYSIZE(packet), framer_.version()); } @@ -12660,26 +11086,6 @@ 0x00 }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - 0x45, - // largest observed - 0x00, 0x00, - // Zero delta time. - 0x00, 0x00, - // first ack block length. - 0x00, 0x00, - // num timestamps. - 0x00 - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -12726,11 +11132,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { - p = packet46; } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); + p = packet46; + p_size = QUIC_ARRAYSIZE(packet46); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -12761,26 +11165,6 @@ 0x00 }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - 0x45, - // largest observed - 0x00, 0x02, - // Zero delta time. - 0x00, 0x00, - // first ack block length. - 0x00, 0x03, - // num timestamps. - 0x00 - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -12827,12 +11211,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -12874,36 +11255,6 @@ 0x00 }; - unsigned char packet44[] = { - // type (short header, 4 byte packet number) - 0x32, - // connection_id - 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, - // packet number - 0x12, 0x34, 0x56, 0x78, - - // frame type (ack frame) - 0x60, - // largest observed - 0x0A, - // Zero delta time. - 0x00, 0x00, - // Num of ack blocks - 0x02, - // first ack block length. - 0x02, - // gap to next block - 0x01, - // ack block length - 0x01, - // gap to next block - 0x01, - // ack block length - 0x06, - // num timestamps. - 0x00 - }; - unsigned char packet46[] = { // type (short header, 4 byte packet number) 0x43, @@ -12968,12 +11319,9 @@ if (framer_.transport_version() == QUIC_VERSION_99) { p = packet99; p_size = QUIC_ARRAYSIZE(packet99); - } else if (framer_.transport_version() > QUIC_VERSION_44) { + } else if (framer_.transport_version() > QUIC_VERSION_43) { p = packet46; p_size = QUIC_ARRAYSIZE(packet46); - } else if (framer_.transport_version() > QUIC_VERSION_43) { - p = packet44; - p_size = QUIC_ARRAYSIZE(packet44); } QuicEncryptedPacket encrypted(AsChars(p), p_size, false); @@ -13281,7 +11629,7 @@ } TEST_P(QuicFramerTest, ClientReceivesInvalidVersion) { - if (framer_.transport_version() < QUIC_VERSION_44) { + if (framer_.transport_version() <= QUIC_VERSION_43) { return; } QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT); @@ -13612,7 +11960,7 @@ // clang-format on // clang-format off - PacketFragments packet45 = { + PacketFragments packet46 = { // public flags (IETF Retry packet, 0-length original destination CID) {"Unable to read type.", {0xf0}}, @@ -13626,7 +11974,7 @@ // clang-format on PacketFragments& fragments = - framer_.transport_version() > QUIC_VERSION_44 ? packet45 : packet; + framer_.transport_version() > QUIC_VERSION_43 ? packet46 : packet; std::unique_ptr<QuicEncryptedPacket> encrypted( AssemblePacketFromFragments(fragments)); @@ -13850,13 +12198,11 @@ return; } QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT); - const unsigned char type_byte = - framer_.transport_version() == QUIC_VERSION_44 ? 0xFC : 0xD3; // clang-format off unsigned char packet[] = { // public flags (long header with packet type ZERO_RTT_PROTECTED and // 4-byte packet number) - type_byte, + 0xD3, // version QUIC_VERSION_BYTES, // destination connection ID length
diff --git a/quic/core/quic_packets.cc b/quic/core/quic_packets.cc index 4cf727b..35212b5 100644 --- a/quic/core/quic_packets.cc +++ b/quic/core/quic_packets.cc
@@ -126,9 +126,7 @@ // Long header. return kPacketHeaderTypeSize + kConnectionIdLengthSize + destination_connection_id_length + source_connection_id_length + - (version > QUIC_VERSION_44 ? packet_number_length - : PACKET_4BYTE_PACKET_NUMBER) + - kQuicVersionSize + + packet_number_length + kQuicVersionSize + (include_diversification_nonce ? kDiversificationNonceSize : 0) + retry_token_length_length + retry_token_length + length_length; }
diff --git a/quic/core/quic_types.h b/quic/core/quic_types.h index 66a90c1..0b0fbca 100644 --- a/quic/core/quic_types.h +++ b/quic/core/quic_types.h
@@ -297,7 +297,7 @@ enum QuicPacketNumberLength : uint8_t { PACKET_1BYTE_PACKET_NUMBER = 1, PACKET_2BYTE_PACKET_NUMBER = 2, - PACKET_3BYTE_PACKET_NUMBER = 3, // Used in version > QUIC_VERSION_44. + PACKET_3BYTE_PACKET_NUMBER = 3, // Used in version >= QUIC_VERSION_46. PACKET_4BYTE_PACKET_NUMBER = 4, IETF_MAX_PACKET_NUMBER_LENGTH = 4, // TODO(rch): Remove this when we remove QUIC_VERSION_39.
diff --git a/quic/core/quic_version_manager.cc b/quic/core/quic_version_manager.cc index a184314..cde3664 100644 --- a/quic/core/quic_version_manager.cc +++ b/quic/core/quic_version_manager.cc
@@ -17,7 +17,6 @@ : enable_version_99_(GetQuicReloadableFlag(quic_enable_version_99)), enable_version_47_(GetQuicReloadableFlag(quic_enable_version_47)), enable_version_46_(GetQuicReloadableFlag(quic_enable_version_46)), - enable_version_44_(GetQuicReloadableFlag(quic_enable_version_44)), disable_version_39_(GetQuicReloadableFlag(quic_disable_version_39)), enable_tls_(GetQuicFlag(FLAGS_quic_supports_tls_handshake)), allowed_supported_versions_(std::move(supported_versions)) { @@ -41,13 +40,11 @@ if (enable_version_99_ != GetQuicReloadableFlag(quic_enable_version_99) || enable_version_47_ != GetQuicReloadableFlag(quic_enable_version_47) || enable_version_46_ != GetQuicReloadableFlag(quic_enable_version_46) || - enable_version_44_ != GetQuicReloadableFlag(quic_enable_version_44) || disable_version_39_ != GetQuicReloadableFlag(quic_disable_version_39) || enable_tls_ != GetQuicFlag(FLAGS_quic_supports_tls_handshake)) { enable_version_99_ = GetQuicReloadableFlag(quic_enable_version_99); enable_version_47_ = GetQuicReloadableFlag(quic_enable_version_47); enable_version_46_ = GetQuicReloadableFlag(quic_enable_version_46); - enable_version_44_ = GetQuicReloadableFlag(quic_enable_version_44); disable_version_39_ = GetQuicReloadableFlag(quic_disable_version_39); enable_tls_ = GetQuicFlag(FLAGS_quic_supports_tls_handshake); RefilterSupportedVersions();
diff --git a/quic/core/quic_version_manager.h b/quic/core/quic_version_manager.h index f45b6da..a865be6 100644 --- a/quic/core/quic_version_manager.h +++ b/quic/core/quic_version_manager.h
@@ -44,8 +44,6 @@ bool enable_version_47_; // quic_enable_version_46 flag bool enable_version_46_; - // quic_enable_version_44 flag - bool enable_version_44_; // quic_disable_version_39 flag bool disable_version_39_; // quic_supports_tls_handshake flag
diff --git a/quic/core/quic_version_manager_test.cc b/quic/core/quic_version_manager_test.cc index 9a7b2a3..de5af3b 100644 --- a/quic/core/quic_version_manager_test.cc +++ b/quic/core/quic_version_manager_test.cc
@@ -16,12 +16,11 @@ class QuicVersionManagerTest : public QuicTest {}; TEST_F(QuicVersionManagerTest, QuicVersionManager) { - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 6u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 5u, "Supported versions out of sync"); SetQuicReloadableFlag(quic_enable_version_99, false); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_46, false); - SetQuicReloadableFlag(quic_enable_version_44, false); SetQuicReloadableFlag(quic_disable_version_39, true); QuicVersionManager manager(AllSupportedVersions()); @@ -35,26 +34,20 @@ EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_43, QUIC_VERSION_39}), manager.GetSupportedTransportVersions()); - SetQuicReloadableFlag(quic_enable_version_44, true); - EXPECT_EQ(QuicTransportVersionVector( - {QUIC_VERSION_44, QUIC_VERSION_43, QUIC_VERSION_39}), - manager.GetSupportedTransportVersions()); - SetQuicReloadableFlag(quic_enable_version_46, true); - EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_46, QUIC_VERSION_44, - QUIC_VERSION_43, QUIC_VERSION_39}), + 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_44, QUIC_VERSION_43, - QUIC_VERSION_39}), + QUIC_VERSION_43, QUIC_VERSION_39}), manager.GetSupportedTransportVersions()); SetQuicReloadableFlag(quic_enable_version_99, true); EXPECT_EQ(QuicTransportVersionVector({QUIC_VERSION_99, QUIC_VERSION_47, - QUIC_VERSION_46, QUIC_VERSION_44, - QUIC_VERSION_43, QUIC_VERSION_39}), + QUIC_VERSION_46, QUIC_VERSION_43, + QUIC_VERSION_39}), manager.GetSupportedTransportVersions()); // Ensure that all versions are now supported.
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc index 9100f32..0d2d2db 100644 --- a/quic/core/quic_versions.cc +++ b/quic/core/quic_versions.cc
@@ -80,8 +80,6 @@ return MakeVersionLabel(proto, '0', '3', '9'); case QUIC_VERSION_43: return MakeVersionLabel(proto, '0', '4', '3'); - case QUIC_VERSION_44: - return MakeVersionLabel(proto, '0', '4', '4'); case QUIC_VERSION_46: return MakeVersionLabel(proto, '0', '4', '6'); case QUIC_VERSION_47: @@ -228,23 +226,16 @@ if (version.transport_version == QUIC_VERSION_99) { if (GetQuicReloadableFlag(quic_enable_version_99) && GetQuicReloadableFlag(quic_enable_version_47) && - GetQuicReloadableFlag(quic_enable_version_46) && - GetQuicReloadableFlag(quic_enable_version_44)) { + GetQuicReloadableFlag(quic_enable_version_46)) { filtered_versions.push_back(version); } } else if (version.transport_version == QUIC_VERSION_47) { if (GetQuicReloadableFlag(quic_enable_version_47) && - GetQuicReloadableFlag(quic_enable_version_46) && - GetQuicReloadableFlag(quic_enable_version_44)) { + GetQuicReloadableFlag(quic_enable_version_46)) { filtered_versions.push_back(version); } } else if (version.transport_version == QUIC_VERSION_46) { - if (GetQuicReloadableFlag(quic_enable_version_46) && - GetQuicReloadableFlag(quic_enable_version_44)) { - filtered_versions.push_back(version); - } - } else if (version.transport_version == QUIC_VERSION_44) { - if (GetQuicReloadableFlag(quic_enable_version_44)) { + if (GetQuicReloadableFlag(quic_enable_version_46)) { filtered_versions.push_back(version); } } else if (version.transport_version == QUIC_VERSION_39) { @@ -341,7 +332,6 @@ switch (transport_version) { RETURN_STRING_LITERAL(QUIC_VERSION_39); RETURN_STRING_LITERAL(QUIC_VERSION_43); - RETURN_STRING_LITERAL(QUIC_VERSION_44); RETURN_STRING_LITERAL(QUIC_VERSION_46); RETURN_STRING_LITERAL(QUIC_VERSION_47); RETURN_STRING_LITERAL(QUIC_VERSION_99); @@ -441,7 +431,7 @@ if (parsed_version.handshake_protocol == PROTOCOL_TLS1_3) { SetQuicFlag(FLAGS_quic_supports_tls_handshake, true); } - static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 6u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 5u, "Supported versions out of sync"); if (parsed_version.transport_version >= QUIC_VERSION_99) { SetQuicReloadableFlag(quic_enable_version_99, true); @@ -452,9 +442,6 @@ if (parsed_version.transport_version >= QUIC_VERSION_46) { SetQuicReloadableFlag(quic_enable_version_46, true); } - if (parsed_version.transport_version >= QUIC_VERSION_44) { - SetQuicReloadableFlag(quic_enable_version_44, true); - } } #undef RETURN_STRING_LITERAL // undef for jumbo builds
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h index b33e084..eff08d0 100644 --- a/quic/core/quic_versions.h +++ b/quic/core/quic_versions.h
@@ -97,7 +97,7 @@ QUIC_VERSION_43 = 43, // PRIORITY frames are sent by client and accepted by // server. - QUIC_VERSION_44 = 44, // Use IETF header format. + // Version 44 added IETF header format. // Version 45 added MESSAGE frame. @@ -189,7 +189,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_47, QUIC_VERSION_46, - QUIC_VERSION_44, QUIC_VERSION_43, QUIC_VERSION_39, + QUIC_VERSION_43, QUIC_VERSION_39, }; // This vector contains all crypto handshake protocols that are supported. @@ -345,7 +345,7 @@ // Returns true if |transport_version| supports MESSAGE frames. QUIC_EXPORT_PRIVATE inline bool VersionSupportsMessageFrames( QuicTransportVersion transport_version) { - return transport_version > QUIC_VERSION_44; + return transport_version > QUIC_VERSION_43; } // Returns true if QuicSpdyStream encodes body using HTTP/3 specification and
diff --git a/quic/core/quic_versions_test.cc b/quic/core/quic_versions_test.cc index d609a60..fbd7a03 100644 --- a/quic/core/quic_versions_test.cc +++ b/quic/core/quic_versions_test.cc
@@ -125,8 +125,6 @@ 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_44), - ParseQuicVersionLabel(MakeVersionLabel('Q', '0', '4', '4'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46), ParseQuicVersionLabel(MakeVersionLabel('Q', '0', '4', '6'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_47), @@ -137,8 +135,6 @@ 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_44), - ParseQuicVersionLabel(MakeVersionLabel('T', '0', '4', '4'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46), ParseQuicVersionLabel(MakeVersionLabel('T', '0', '4', '6'))); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_47), @@ -150,8 +146,6 @@ ParseQuicVersionString("Q039")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43), ParseQuicVersionString("Q043")); - EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_44), - ParseQuicVersionString("Q044")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46), ParseQuicVersionString("Q046")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_47), @@ -167,8 +161,6 @@ ParseQuicVersionString("T039")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43), ParseQuicVersionString("T043")); - EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_44), - ParseQuicVersionString("T044")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46), ParseQuicVersionString("T046")); EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_47), @@ -182,9 +174,6 @@ EXPECT_EQ(MakeVersionLabel('Q', '0', '4', '3'), CreateQuicVersionLabel( ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43))); - EXPECT_EQ(MakeVersionLabel('Q', '0', '4', '4'), - CreateQuicVersionLabel( - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_44))); EXPECT_EQ(MakeVersionLabel('Q', '0', '4', '6'), CreateQuicVersionLabel( ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46))); @@ -199,9 +188,6 @@ EXPECT_EQ(MakeVersionLabel('T', '0', '4', '3'), CreateQuicVersionLabel( ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43))); - EXPECT_EQ(MakeVersionLabel('T', '0', '4', '4'), - CreateQuicVersionLabel( - ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_44))); EXPECT_EQ(MakeVersionLabel('T', '0', '4', '6'), CreateQuicVersionLabel( ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46))); @@ -291,7 +277,6 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsAllVersions) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, true); SetQuicReloadableFlag(quic_enable_version_46, true); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_99, true); @@ -300,8 +285,8 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_99, QUIC_VERSION_47, QUIC_VERSION_46, - QUIC_VERSION_44, QUIC_VERSION_43, QUIC_VERSION_39}; + QUIC_VERSION_99, QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, + QUIC_VERSION_39}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -315,7 +300,6 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo99) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, true); SetQuicReloadableFlag(quic_enable_version_46, true); SetQuicReloadableFlag(quic_enable_version_47, true); SetQuicReloadableFlag(quic_enable_version_99, false); @@ -324,8 +308,7 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_44, QUIC_VERSION_43, - QUIC_VERSION_39}; + QUIC_VERSION_47, QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -339,7 +322,6 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo47) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, true); SetQuicReloadableFlag(quic_enable_version_46, true); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_99, false); @@ -348,7 +330,7 @@ parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); } QuicTransportVersionVector expected_versions = { - QUIC_VERSION_46, QUIC_VERSION_44, QUIC_VERSION_43, QUIC_VERSION_39}; + QUIC_VERSION_46, QUIC_VERSION_43, QUIC_VERSION_39}; ParsedQuicVersionVector expected_parsed_versions; for (QuicTransportVersion version : expected_versions) { expected_parsed_versions.push_back( @@ -362,30 +344,6 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo46) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, true); - SetQuicReloadableFlag(quic_enable_version_46, false); - SetQuicReloadableFlag(quic_enable_version_47, false); - SetQuicReloadableFlag(quic_enable_version_99, false); - ParsedQuicVersionVector parsed_versions; - for (QuicTransportVersion version : all_versions) { - parsed_versions.push_back(ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); - } - QuicTransportVersionVector expected_versions = { - QUIC_VERSION_44, QUIC_VERSION_43, QUIC_VERSION_39}; - ParsedQuicVersionVector expected_parsed_versions; - for (QuicTransportVersion version : expected_versions) { - expected_parsed_versions.push_back( - ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, version)); - } - - ASSERT_EQ(expected_versions, FilterSupportedTransportVersions(all_versions)); - ASSERT_EQ(expected_parsed_versions, FilterSupportedVersions(parsed_versions)); -} - -TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo44) { - QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); - SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, false); SetQuicReloadableFlag(quic_enable_version_46, false); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_99, false); @@ -408,7 +366,6 @@ TEST_F(QuicVersionsTest, FilterSupportedTransportVersionsNo39) { QuicTransportVersionVector all_versions = AllSupportedTransportVersions(); SetQuicReloadableFlag(quic_disable_version_39, true); - SetQuicReloadableFlag(quic_enable_version_44, false); SetQuicReloadableFlag(quic_enable_version_46, false); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_99, false); @@ -466,11 +423,10 @@ // 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) == 6u, + static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 5u, "Supported versions out of sync"); EXPECT_EQ(QUIC_VERSION_39, 39); EXPECT_EQ(QUIC_VERSION_43, 43); - EXPECT_EQ(QUIC_VERSION_44, 44); EXPECT_EQ(QUIC_VERSION_46, 46); EXPECT_EQ(QUIC_VERSION_47, 47); EXPECT_EQ(QUIC_VERSION_99, 99); @@ -524,7 +480,6 @@ ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_99); SetQuicFlag(FLAGS_quic_supports_tls_handshake, false); SetQuicReloadableFlag(quic_disable_version_39, false); - SetQuicReloadableFlag(quic_enable_version_44, true); SetQuicReloadableFlag(quic_enable_version_46, true); SetQuicReloadableFlag(quic_enable_version_47, false); SetQuicReloadableFlag(quic_enable_version_99, false);