Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Unified Diff: net/quic/core/quic_framer_test.cc

Issue 2515613002: deprecate FLAGS_quic_disable_pre_34 (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/core/quic_framer.cc ('k') | net/quic/core/quic_multipath_sent_packet_manager_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/core/quic_framer_test.cc
diff --git a/net/quic/core/quic_framer_test.cc b/net/quic/core/quic_framer_test.cc
index b3d5d8dab7dd213c2f2484c818eed14905bbf5ac..c2864da8cfba1b860ab14519c350cc66c89e41de 100644
--- a/net/quic/core/quic_framer_test.cc
+++ b/net/quic/core/quic_framer_test.cc
@@ -45,9 +45,7 @@ const QuicPacketNumber kMask = kEpoch - 1;
const QuicConnectionId kConnectionId = UINT64_C(0xFEDCBA9876543210);
const QuicPathId kPathId = 0x42;
const QuicPacketNumber kPacketNumber = UINT64_C(0x123456789ABC);
-const QuicPacketNumber kLargestObserved = UINT64_C(0x0123456789ABF);
const QuicPacketNumber kSmallLargestObserved = UINT16_C(0x1234);
-const QuicPacketNumber kMissingPacket = UINT64_C(0x0123456789ABE);
const QuicPacketNumber kSmallMissingPacket = UINT16_C(0x1233);
const QuicPacketNumber kLeastUnacked = UINT64_C(0x0123456789AA0);
const QuicStreamId kStreamId = UINT64_C(0x01020304);
@@ -348,7 +346,6 @@ class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> {
framer_.SetDecrypter(ENCRYPTION_NONE, decrypter_);
framer_.SetEncrypter(ENCRYPTION_NONE, encrypter_);
framer_.set_visitor(&visitor_);
- framer_.set_received_entropy_calculator(&entropy_calculator_);
}
// Helper function to get unsigned char representation of digit in the
@@ -495,7 +492,6 @@ class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> {
QuicTime start_;
QuicFramer framer_;
test::TestQuicVisitor visitor_;
- test::TestEntropyCalculator entropy_calculator_;
};
// Run all framer tests with all supported versions of QUIC.
@@ -651,24 +647,10 @@ TEST_P(QuicFramerTest, PacketHeader) {
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -676,8 +658,6 @@ TEST_P(QuicFramerTest, PacketHeader) {
EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
EXPECT_FALSE(visitor_.header_->public_header.version_flag);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
// Now test framing boundaries.
@@ -693,19 +673,9 @@ TEST_P(QuicFramerTest, PacketHeader) {
} else if (i < GetPacketNumberOffset(!kIncludeVersion, !kIncludePathId)) {
expected_error = "Unable to read ConnectionId.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(!kIncludeVersion, !kIncludePathId)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -720,24 +690,10 @@ TEST_P(QuicFramerTest, PacketHeaderWith0ByteConnectionId) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (0 byte connection_id)
- 0x30,
- // connection_id
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -745,8 +701,6 @@ TEST_P(QuicFramerTest, PacketHeaderWith0ByteConnectionId) {
EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
EXPECT_FALSE(visitor_.header_->public_header.version_flag);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
// Now test framing boundaries.
@@ -763,20 +717,9 @@ TEST_P(QuicFramerTest, PacketHeaderWith0ByteConnectionId) {
!kIncludeVersion, !kIncludePathId)) {
expected_error = "Unable to read ConnectionId.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(PACKET_0BYTE_CONNECTION_ID,
- !kIncludeVersion, !kIncludePathId)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -791,26 +734,10 @@ TEST_P(QuicFramerTest, PacketHeaderWithVersionFlag) {
'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (version)
- 0x39,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -819,8 +746,6 @@ TEST_P(QuicFramerTest, PacketHeaderWithVersionFlag) {
EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
EXPECT_TRUE(visitor_.header_->public_header.version_flag);
EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
// Now test framing boundaries.
@@ -838,19 +763,9 @@ TEST_P(QuicFramerTest, PacketHeaderWithVersionFlag) {
} else if (i < GetPacketNumberOffset(kIncludeVersion, !kIncludePathId)) {
expected_error = "Unable to read protocol version.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(kIncludeVersion, !kIncludePathId)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -865,26 +780,10 @@ TEST_P(QuicFramerTest, PacketHeaderWithMultipathFlag) {
0x42,
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (version)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -894,8 +793,6 @@ TEST_P(QuicFramerTest, PacketHeaderWithMultipathFlag) {
EXPECT_TRUE(visitor_.header_->public_header.multipath_flag);
EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
EXPECT_FALSE(visitor_.header_->public_header.version_flag);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPathId, visitor_.header_->path_id);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
@@ -915,19 +812,9 @@ TEST_P(QuicFramerTest, PacketHeaderWithMultipathFlag) {
} else if (i < GetPacketNumberOffset(!kIncludeVersion, kIncludePathId)) {
expected_error = "Unable to read path id.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(!kIncludeVersion, kIncludePathId)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -944,28 +831,10 @@ TEST_P(QuicFramerTest, PacketHeaderWithBothVersionFlagAndMultipathFlag) {
0x42,
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (version)
- 0x79,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -976,8 +845,6 @@ TEST_P(QuicFramerTest, PacketHeaderWithBothVersionFlagAndMultipathFlag) {
EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
EXPECT_TRUE(visitor_.header_->public_header.version_flag);
EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPathId, visitor_.header_->path_id);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
@@ -999,19 +866,9 @@ TEST_P(QuicFramerTest, PacketHeaderWithBothVersionFlagAndMultipathFlag) {
} else if (i < GetPacketNumberOffset(kIncludeVersion, kIncludePathId)) {
expected_error = "Unable to read path id.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(kIncludeVersion, kIncludePathId)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -1027,28 +884,12 @@ TEST_P(QuicFramerTest, PacketHeaderWithPathChange) {
0x42,
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet1_34[] = {
- // public flags (version)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
EXPECT_EQ(0u, QuicFramerPeer::GetLastPacketNumber(&framer_));
EXPECT_EQ(kInvalidPathId, QuicFramerPeer::GetLastPathId(&framer_));
- QuicEncryptedPacket encrypted1(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet1 : packet1_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet1)
- : arraysize(packet1_34),
- false);
+ QuicEncryptedPacket encrypted1(AsChars(packet1), arraysize(packet1), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted1));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1069,26 +910,10 @@ TEST_P(QuicFramerTest, PacketHeaderWithPathChange) {
0x00,
// packet number
0xCC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet2_34[] = {
- // public flags (version)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x00,
- // packet number
- 0xCC, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted2(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet2 : packet2_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet2)
- : arraysize(packet2_34),
- false);
+ QuicEncryptedPacket encrypted2(AsChars(packet2), arraysize(packet2), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted2));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1109,26 +934,10 @@ TEST_P(QuicFramerTest, PacketHeaderWithPathChange) {
0x42,
// packet number
0xBD, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
- unsigned char packet3_34[] = {
- // public flags (version)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBD, 0x9A, 0x78, 0x56, 0x34, 0x12,
};
// clang-format on
- QuicEncryptedPacket encrypted3(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet3 : packet3_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet3)
- : arraysize(packet3_34),
- false);
+ QuicEncryptedPacket encrypted3(AsChars(packet3), arraysize(packet3), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted3));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1154,26 +963,10 @@ TEST_P(QuicFramerTest, ReceivedPacketOnClosedPath) {
// private flags
0x00,
};
- unsigned char packet_34[] = {
- // public flags (version)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
- };
// clang-format on
framer_.OnPathClosed(kPathId);
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
EXPECT_EQ(0u, QuicFramerPeer::GetLastPacketNumber(&framer_));
@@ -1191,24 +984,10 @@ TEST_P(QuicFramerTest, PacketHeaderWith4BytePacketNumber) {
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
// packet number
0xBC, 0x9A, 0x78, 0x56,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id and 4 byte packet number)
- 0x28,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1216,8 +995,6 @@ TEST_P(QuicFramerTest, PacketHeaderWith4BytePacketNumber) {
EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
EXPECT_FALSE(visitor_.header_->public_header.version_flag);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
// Now test framing boundaries.
@@ -1233,20 +1010,9 @@ TEST_P(QuicFramerTest, PacketHeaderWith4BytePacketNumber) {
} else if (i < GetPacketNumberOffset(!kIncludeVersion, !kIncludePathId)) {
expected_error = "Unable to read ConnectionId.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(!kIncludeVersion, !kIncludePathId,
- PACKET_4BYTE_PACKET_NUMBER)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -1261,24 +1027,10 @@ TEST_P(QuicFramerTest, PacketHeaderWith2BytePacketNumber) {
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
// packet number
0xBC, 0x9A,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id and 2 byte packet number)
- 0x18,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1288,8 +1040,6 @@ TEST_P(QuicFramerTest, PacketHeaderWith2BytePacketNumber) {
EXPECT_FALSE(visitor_.header_->public_header.version_flag);
EXPECT_EQ(PACKET_2BYTE_PACKET_NUMBER,
visitor_.header_->public_header.packet_number_length);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
// Now test framing boundaries.
@@ -1305,20 +1055,9 @@ TEST_P(QuicFramerTest, PacketHeaderWith2BytePacketNumber) {
} else if (i < GetPacketNumberOffset(!kIncludeVersion, !kIncludePathId)) {
expected_error = "Unable to read ConnectionId.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(!kIncludeVersion, !kIncludePathId,
- PACKET_2BYTE_PACKET_NUMBER)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -1333,24 +1072,10 @@ TEST_P(QuicFramerTest, PacketHeaderWith1BytePacketNumber) {
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
// packet number
0xBC,
- // private flags
- 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id and 1 byte packet number)
- 0x08,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_FALSE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1360,8 +1085,6 @@ TEST_P(QuicFramerTest, PacketHeaderWith1BytePacketNumber) {
EXPECT_FALSE(visitor_.header_->public_header.version_flag);
EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER,
visitor_.header_->public_header.packet_number_length);
- EXPECT_FALSE(visitor_.header_->entropy_flag);
- EXPECT_EQ(0, visitor_.header_->entropy_hash);
EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
// Now test framing boundaries.
@@ -1377,20 +1100,9 @@ TEST_P(QuicFramerTest, PacketHeaderWith1BytePacketNumber) {
} else if (i < GetPacketNumberOffset(!kIncludeVersion, !kIncludePathId)) {
expected_error = "Unable to read ConnectionId.";
} else {
- if (framer_.version() <= QUIC_VERSION_33) {
- if (i < GetPrivateFlagsOffset(!kIncludeVersion, !kIncludePathId,
- PACKET_1BYTE_PACKET_NUMBER)) {
- expected_error = "Unable to read packet number.";
- } else {
- expected_error = "Unable to read private flags.";
- }
- } else {
- expected_error = "Unable to read packet number.";
- }
+ expected_error = "Unable to read packet number.";
}
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, i,
- expected_error, QUIC_INVALID_PACKET_HEADER);
+ CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER);
}
}
@@ -1401,7 +1113,6 @@ TEST_P(QuicFramerTest, PacketNumberDecreasesThenIncreases) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.packet_number = kPacketNumber - 2;
QuicPaddingFrame padding_frame;
@@ -1455,36 +1166,6 @@ TEST_P(QuicFramerTest, PacketNumberDecreasesThenIncreases) {
EXPECT_EQ(kPacketNumber - 1, visitor_.header_->packet_number);
}
-TEST_P(QuicFramerTest, InvalidPublicFlag) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
- // clang-format off
- unsigned char packet[] = {
- // public flags: all flags set but the public reset flag and version flag.
- 0xF8,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (padding)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- // clang-format on
-
- CheckProcessingFails(packet, arraysize(packet), "Illegal public flags value.",
- QUIC_INVALID_PACKET_HEADER);
-
- // Now turn off validation.
- framer_.set_validate_flags(false);
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-};
-
TEST_P(QuicFramerTest, PacketWithDiversificationNonce) {
// clang-format off
unsigned char packet[] = {
@@ -1499,25 +1180,6 @@ TEST_P(QuicFramerTest, PacketWithDiversificationNonce) {
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (padding)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- unsigned char packet_34[] = {
- // public flags: includes nonce flag
- 0x7C,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // 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,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
// frame type (padding)
0x00,
@@ -1525,55 +1187,13 @@ TEST_P(QuicFramerTest, PacketWithDiversificationNonce) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT);
- if (framer_.version() > QUIC_VERSION_32) {
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
- ASSERT_TRUE(visitor_.public_header_->nonce != nullptr);
- for (char i = 0; i < 32; ++i) {
- EXPECT_EQ(i, (*visitor_.public_header_->nonce)[static_cast<int>(i)]);
- }
- } else if (framer_.version() < QUIC_VERSION_32) {
- // Packet is successfully parsed by accident.
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
- ASSERT_TRUE(visitor_.public_header_ != nullptr);
- } else {
- EXPECT_FALSE(framer_.ProcessPacket(encrypted));
- EXPECT_EQ(QUIC_INVALID_PACKET_HEADER, framer_.error());
- EXPECT_EQ("Illegal private flags value.", framer_.detailed_error());
- }
-};
-
-TEST_P(QuicFramerTest, InvalidPublicFlagWithMatchingVersions) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
+ EXPECT_TRUE(framer_.ProcessPacket(encrypted));
+ ASSERT_TRUE(visitor_.public_header_->nonce != nullptr);
+ for (char i = 0; i < 32; ++i) {
+ EXPECT_EQ(i, (*visitor_.public_header_->nonce)[static_cast<int>(i)]);
}
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id and version flag and an unknown flag)
- 0x8D,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (padding)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- // clang-format on
- CheckProcessingFails(packet, arraysize(packet), "Illegal public flags value.",
- QUIC_INVALID_PACKET_HEADER);
};
TEST_P(QuicFramerTest, LargePublicFlagWithMismatchedVersions) {
@@ -1589,35 +1209,13 @@ TEST_P(QuicFramerTest, LargePublicFlagWithMismatchedVersions) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (padding frame)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id, version flag and an unknown flag)
- 0x79,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', '0', '0',
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (padding frame)
0x00,
0x00, 0x00, 0x00, 0x00
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1625,10 +1223,7 @@ TEST_P(QuicFramerTest, LargePublicFlagWithMismatchedVersions) {
EXPECT_EQ(1, visitor_.version_mismatch_);
};
-TEST_P(QuicFramerTest, InvalidPrivateFlag) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
+TEST_P(QuicFramerTest, PaddingFrame) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
@@ -1639,61 +1234,8 @@ TEST_P(QuicFramerTest, InvalidPrivateFlag) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x10,
- // frame type (padding)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- // clang-format on
- CheckProcessingFails(packet, arraysize(packet),
- "Illegal private flags value.",
- QUIC_INVALID_PACKET_HEADER);
-};
-
-TEST_P(QuicFramerTest, PaddingFrame) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (padding frame)
- 0x00,
- // Ignored data (which in this case is a stream frame)
- // frame type (stream frame with fin)
- 0xFF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
-
- // frame type (padding frame)
+ // frame type (padding frame)
0x00,
// Ignored data (which in this case is a stream frame)
// frame type (stream frame with fin)
@@ -1712,11 +1254,7 @@ TEST_P(QuicFramerTest, PaddingFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
ASSERT_TRUE(visitor_.header_.get());
@@ -1737,32 +1275,6 @@ TEST_P(QuicFramerTest, PaddingFrame) {
TEST_P(QuicFramerTest, StreamFrame) {
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
// public flags (8 byte connection_id)
0x38,
// connection_id
@@ -1788,11 +1300,7 @@ TEST_P(QuicFramerTest, StreamFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -1808,9 +1316,7 @@ TEST_P(QuicFramerTest, StreamFrame) {
CheckStreamFrameData("hello world!", visitor_.stream_frames_[0].get());
// Now test framing boundaries.
- CheckStreamFrameBoundaries(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
- kQuicMaxStreamIdSize, !kIncludeVersion);
+ CheckStreamFrameBoundaries(packet, kQuicMaxStreamIdSize, !kIncludeVersion);
}
TEST_P(QuicFramerTest, MissingDiversificationNonce) {
@@ -1821,32 +1327,6 @@ TEST_P(QuicFramerTest, MissingDiversificationNonce) {
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
// public flags (8 byte connection_id)
0x38,
// connection_id
@@ -1872,23 +1352,9 @@ TEST_P(QuicFramerTest, MissingDiversificationNonce) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
- if (framer_.version() > QUIC_VERSION_32) {
- EXPECT_FALSE(framer_.ProcessPacket(encrypted));
- EXPECT_EQ(QUIC_DECRYPTION_FAILURE, framer_.error());
-
- } else {
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce));
- }
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
+ EXPECT_FALSE(framer_.ProcessPacket(encrypted));
+ EXPECT_EQ(QUIC_DECRYPTION_FAILURE, framer_.error());
}
TEST_P(QuicFramerTest, StreamFrame3ByteStreamId) {
@@ -1902,32 +1368,6 @@ TEST_P(QuicFramerTest, StreamFrame3ByteStreamId) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFE,
- // stream id
- 0x04, 0x03, 0x02,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (stream frame with fin)
0xFE,
@@ -1945,11 +1385,7 @@ TEST_P(QuicFramerTest, StreamFrame3ByteStreamId) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -1967,9 +1403,7 @@ TEST_P(QuicFramerTest, StreamFrame3ByteStreamId) {
// Now test framing boundaries.
const size_t stream_id_size = 3;
- CheckStreamFrameBoundaries(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, stream_id_size,
- !kIncludeVersion);
+ CheckStreamFrameBoundaries(packet, stream_id_size, !kIncludeVersion);
}
TEST_P(QuicFramerTest, StreamFrame2ByteStreamId) {
@@ -1983,32 +1417,6 @@ TEST_P(QuicFramerTest, StreamFrame2ByteStreamId) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFD,
- // stream id
- 0x04, 0x03,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (stream frame with fin)
0xFD,
@@ -2026,11 +1434,7 @@ TEST_P(QuicFramerTest, StreamFrame2ByteStreamId) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -2048,9 +1452,7 @@ TEST_P(QuicFramerTest, StreamFrame2ByteStreamId) {
// Now test framing boundaries.
const size_t stream_id_size = 2;
- CheckStreamFrameBoundaries(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, stream_id_size,
- !kIncludeVersion);
+ CheckStreamFrameBoundaries(packet, stream_id_size, !kIncludeVersion);
}
TEST_P(QuicFramerTest, StreamFrame1ByteStreamId) {
@@ -2064,32 +1466,6 @@ TEST_P(QuicFramerTest, StreamFrame1ByteStreamId) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFC,
- // stream id
- 0x04,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (stream frame with fin)
0xFC,
@@ -2107,11 +1483,7 @@ TEST_P(QuicFramerTest, StreamFrame1ByteStreamId) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -2129,9 +1501,7 @@ TEST_P(QuicFramerTest, StreamFrame1ByteStreamId) {
// Now test framing boundaries.
const size_t stream_id_size = 1;
- CheckStreamFrameBoundaries(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34, stream_id_size,
- !kIncludeVersion);
+ CheckStreamFrameBoundaries(packet, stream_id_size, !kIncludeVersion);
}
TEST_P(QuicFramerTest, StreamFrameWithVersion) {
@@ -2147,34 +1517,6 @@ TEST_P(QuicFramerTest, StreamFrameWithVersion) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (version, 8 byte connection_id)
- 0x39,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (stream frame with fin)
0xFF,
@@ -2192,11 +1534,7 @@ TEST_P(QuicFramerTest, StreamFrameWithVersion) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -2214,9 +1552,7 @@ TEST_P(QuicFramerTest, StreamFrameWithVersion) {
CheckStreamFrameData("hello world!", visitor_.stream_frames_[0].get());
// Now test framing boundaries.
- CheckStreamFrameBoundaries(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
- kQuicMaxStreamIdSize, kIncludeVersion);
+ CheckStreamFrameBoundaries(packet, kQuicMaxStreamIdSize, kIncludeVersion);
}
TEST_P(QuicFramerTest, RejectPacket) {
@@ -2224,32 +1560,6 @@ TEST_P(QuicFramerTest, RejectPacket) {
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (stream frame with fin)
- 0xFF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
// public flags (8 byte connection_id)
0x38,
// connection_id
@@ -2275,11 +1585,7 @@ TEST_P(QuicFramerTest, RejectPacket) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -2312,233 +1618,15 @@ TEST_P(QuicFramerTest, RejectPublicHeader) {
ASSERT_FALSE(visitor_.header_.get());
}
-TEST_P(QuicFramerTest, AckFrameTwoTimestampVersion32) {
+TEST_P(QuicFramerTest, NewAckFrameOneAckBlock) {
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x3C,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xA8, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (ack frame)
- // (has nacks, not truncated, 6 byte largest observed, 1 byte delta)
- 0x6C,
- // entropy hash of all received packets.
- 0xBA,
- // largest observed packet number
- 0xBF, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // Zero delta time.
- 0x00, 0x00,
- // Number of timestamps.
- 0x02,
- // Delta from largest observed.
- 0x01,
- // Delta time.
- 0x10, 0x32, 0x54, 0x76,
- // Delta from largest observed.
- 0x02,
- // Delta time.
- 0x10, 0x32,
- // num missing packets
- 0x01,
- // missing packet delta
- 0x01,
- // 0 more missing packets in range.
- 0x00,
- };
- // clang-format on
-
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
-
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce));
-
- EXPECT_EQ(0u, visitor_.stream_frames_.size());
- ASSERT_EQ(1u, visitor_.ack_frames_.size());
- const QuicAckFrame& frame = *visitor_.ack_frames_[0].get();
- EXPECT_EQ(0xBA, frame.entropy_hash);
- EXPECT_EQ(kLargestObserved, frame.largest_observed);
- ASSERT_EQ(1u, frame.packets.NumPacketsSlow());
- ASSERT_EQ(2u, frame.received_packet_times.size());
- EXPECT_EQ(kMissingPacket, frame.packets.Min());
-
- const size_t kReceivedEntropyOffset = kQuicFrameTypeSize;
- const size_t kLargestObservedOffset =
- kReceivedEntropyOffset + kQuicEntropyHashSize;
- const size_t kMissingDeltaTimeOffset =
- kLargestObservedOffset + PACKET_6BYTE_PACKET_NUMBER;
- const size_t kNumTimestampsOffset =
- kMissingDeltaTimeOffset + kQuicDeltaTimeLargestObservedSize;
- const size_t kTimestampDeltaLargestObserved1 =
- kNumTimestampsOffset + kQuicNumTimestampsSize;
- const size_t kTimestampTimeDeltaLargestObserved1 =
- kTimestampDeltaLargestObserved1 + 1;
- const size_t kTimestampDeltaLargestObserved2 =
- kTimestampTimeDeltaLargestObserved1 + 4;
- const size_t kTimestampTimeDeltaLargestObserved2 =
- kTimestampDeltaLargestObserved2 + 1;
- const size_t kNumMissingPacketOffset =
- kTimestampTimeDeltaLargestObserved2 + 2;
- const size_t kMissingPacketsOffset =
- kNumMissingPacketOffset + kNumberOfNackRangesSize;
- // Now test framing boundaries.
- const size_t ack_frame_size = PACKET_1BYTE_PACKET_NUMBER;
- for (size_t i = kQuicFrameTypeSize; i < ack_frame_size; ++i) {
- string expected_error;
- if (i < kLargestObservedOffset) {
- expected_error = "Unable to read entropy hash for received packets.";
- } else if (i < kMissingDeltaTimeOffset) {
- expected_error = "Unable to read largest observed.";
- } else if (i < kNumTimestampsOffset) {
- expected_error = "Unable to read ack delay time.";
- } else if (i < kTimestampDeltaLargestObserved1) {
- expected_error = "Unable to read num received packets.";
- } else if (i < kTimestampTimeDeltaLargestObserved1) {
- expected_error = "Unable to read sequence delta in received packets.";
- } else if (i < kTimestampDeltaLargestObserved2) {
- expected_error = "Unable to read time delta in received packets.";
- } else if (i < kTimestampTimeDeltaLargestObserved2) {
- expected_error = "Unable to read sequence delta in received packets.";
- } else if (i < kNumMissingPacketOffset) {
- expected_error =
- "Unable to read incremental time delta in received packets.";
- } else if (i < kMissingPacketsOffset) {
- expected_error = "Unable to read num missing packet ranges.";
- } else {
- expected_error = "Unable to read missing packet number delta.";
- }
- CheckProcessingFails(
- packet,
- i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
- !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce,
- PACKET_6BYTE_PACKET_NUMBER),
- expected_error, QUIC_INVALID_ACK_DATA);
- }
-}
-
-TEST_P(QuicFramerTest, AckFrameOneTimestampVersion32) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x3C,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xA8, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (ack frame)
- // (has nacks, not truncated, 6 byte largest observed, 1 byte delta)
- 0x6C,
- // entropy hash of all received packets.
- 0xBA,
- // largest observed packet number
- 0xBF, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // Zero delta time.
- 0x00, 0x00,
- // Number of timestamps.
- 0x01,
- // Delta from largest observed.
- 0x01,
- // Delta time.
- 0x10, 0x32, 0x54, 0x76,
- // num missing packets
- 0x01,
- // missing packet delta
- 0x01,
- // 0 more missing packets in range.
- 0x00,
- };
- // clang-format on
-
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
-
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce));
-
- EXPECT_EQ(0u, visitor_.stream_frames_.size());
- ASSERT_EQ(1u, visitor_.ack_frames_.size());
- const QuicAckFrame& frame = *visitor_.ack_frames_[0].get();
- EXPECT_EQ(0xBA, frame.entropy_hash);
- EXPECT_EQ(kLargestObserved, frame.largest_observed);
- ASSERT_EQ(1u, frame.packets.NumPacketsSlow());
- ASSERT_EQ(1u, frame.received_packet_times.size());
- EXPECT_EQ(kMissingPacket, frame.packets.Min());
-
- const size_t kReceivedEntropyOffset = kQuicFrameTypeSize;
- const size_t kLargestObservedOffset =
- kReceivedEntropyOffset + kQuicEntropyHashSize;
- const size_t kMissingDeltaTimeOffset =
- kLargestObservedOffset + PACKET_6BYTE_PACKET_NUMBER;
- const size_t kNumTimestampsOffset =
- kMissingDeltaTimeOffset + kQuicDeltaTimeLargestObservedSize;
- const size_t kTimestampDeltaLargestObserved =
- kNumTimestampsOffset + kQuicNumTimestampsSize;
- const size_t kTimestampTimeDeltaLargestObserved =
- kTimestampDeltaLargestObserved + 1;
- const size_t kNumMissingPacketOffset = kTimestampTimeDeltaLargestObserved + 4;
- const size_t kMissingPacketsOffset =
- kNumMissingPacketOffset + kNumberOfNackRangesSize;
- // Now test framing boundaries.
- const size_t ack_frame_size = PACKET_1BYTE_PACKET_NUMBER;
- for (size_t i = kQuicFrameTypeSize; i < ack_frame_size; ++i) {
- string expected_error;
- if (i < kLargestObservedOffset) {
- expected_error = "Unable to read entropy hash for received packets.";
- } else if (i < kMissingDeltaTimeOffset) {
- expected_error = "Unable to read largest observed.";
- } else if (i < kNumTimestampsOffset) {
- expected_error = "Unable to read ack delay time.";
- } else if (i < kTimestampDeltaLargestObserved) {
- expected_error = "Unable to read num received packets.";
- } else if (i < kTimestampTimeDeltaLargestObserved) {
- expected_error = "Unable to read sequence delta in received packets.";
- } else if (i < kNumMissingPacketOffset) {
- expected_error = "Unable to read time delta in received packets.";
- } else if (i < kMissingPacketsOffset) {
- expected_error = "Unable to read num missing packet ranges.";
- } else {
- expected_error = "Unable to read missing packet number delta.";
- }
- CheckProcessingFails(
- packet,
- i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
- !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce,
- PACKET_6BYTE_PACKET_NUMBER),
- expected_error, QUIC_INVALID_ACK_DATA);
- }
-}
-
-TEST_P(QuicFramerTest, NewAckFrameOneAckBlock) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x3C,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
+ // public flags (8 byte connection_id)
+ 0x3C,
+ // connection_id
+ 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
+ // packet number
+ 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
// frame type (ack frame)
// (one ack block, 2 byte largest observed, 2 byte block length)
@@ -2554,10 +1642,6 @@ TEST_P(QuicFramerTest, NewAckFrameOneAckBlock) {
};
// clang-format on
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
-
QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
@@ -2570,7 +1654,6 @@ TEST_P(QuicFramerTest, NewAckFrameOneAckBlock) {
ASSERT_EQ(1u, visitor_.ack_frames_.size());
const QuicAckFrame& frame = *visitor_.ack_frames_[0].get();
EXPECT_EQ(kSmallLargestObserved, frame.largest_observed);
- EXPECT_FALSE(frame.missing);
ASSERT_EQ(4660u, frame.packets.NumPacketsSlow());
const size_t kLargestAckedOffset = kQuicFrameTypeSize;
@@ -2654,10 +1737,6 @@ TEST_P(QuicFramerTest, NewAckFrameTwoTimeStampsMultipleAckBlocks) {
};
// clang-format on
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
-
QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
@@ -2670,7 +1749,6 @@ TEST_P(QuicFramerTest, NewAckFrameTwoTimeStampsMultipleAckBlocks) {
ASSERT_EQ(1u, visitor_.ack_frames_.size());
const QuicAckFrame& frame = *visitor_.ack_frames_[0].get();
EXPECT_EQ(kSmallLargestObserved, frame.largest_observed);
- EXPECT_FALSE(frame.missing);
ASSERT_EQ(4254u, frame.packets.NumPacketsSlow());
const size_t kLargestAckedOffset = kQuicFrameTypeSize;
@@ -2755,42 +1833,25 @@ TEST_P(QuicFramerTest, NewAckFrameTwoTimeStampsMultipleAckBlocks) {
}
}
-TEST_P(QuicFramerTest, AckFrameVersion32) {
+TEST_P(QuicFramerTest, NewStopWaitingFrame) {
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xA8, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (ack frame)
- // (has nacks, not truncated, 6 byte largest observed, 1 byte delta)
- 0x6C,
- // entropy hash of all received packets.
- 0xBA,
- // largest observed packet number
- 0xBF, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // Zero delta time.
- 0x00, 0x00,
- // Number of timestamps.
- 0x00,
- // num missing packets
- 0x01,
- // missing packet delta
- 0x01,
- // 0 more missing packets in range.
- 0x00,
+ // public flags (8 byte connection_id)
+ 0x3C,
+ // connection_id
+ 0x10, 0x32, 0x54, 0x76,
+ 0x98, 0xBA, 0xDC, 0xFE,
+ // packet number
+ 0xA8, 0x9A, 0x78, 0x56,
+ 0x34, 0x12,
+ // frame type (stop waiting frame)
+ 0x06,
+ // least packet number awaiting an ack, delta from packet number.
+ 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
};
// clang-format on
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
-
QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
@@ -2800,126 +1861,25 @@ TEST_P(QuicFramerTest, AckFrameVersion32) {
!kIncludeDiversificationNonce));
EXPECT_EQ(0u, visitor_.stream_frames_.size());
- ASSERT_EQ(1u, visitor_.ack_frames_.size());
- const QuicAckFrame& frame = *visitor_.ack_frames_[0].get();
- EXPECT_EQ(0xBA, frame.entropy_hash);
- EXPECT_EQ(kLargestObserved, frame.largest_observed);
- ASSERT_EQ(1u, frame.packets.NumPacketsSlow());
- EXPECT_EQ(kMissingPacket, frame.packets.Min());
-
- const size_t kReceivedEntropyOffset = kQuicFrameTypeSize;
- const size_t kLargestObservedOffset =
- kReceivedEntropyOffset + kQuicEntropyHashSize;
- const size_t kMissingDeltaTimeOffset =
- kLargestObservedOffset + PACKET_6BYTE_PACKET_NUMBER;
- const size_t kNumTimestampsOffset =
- kMissingDeltaTimeOffset + kQuicDeltaTimeLargestObservedSize;
- const size_t kNumMissingPacketOffset =
- kNumTimestampsOffset + kQuicNumTimestampsSize;
- const size_t kMissingPacketsOffset =
- kNumMissingPacketOffset + kNumberOfNackRangesSize;
- // Now test framing boundaries.
- const size_t ack_frame_size = PACKET_1BYTE_PACKET_NUMBER;
- for (size_t i = kQuicFrameTypeSize; i < ack_frame_size; ++i) {
+ ASSERT_EQ(1u, visitor_.stop_waiting_frames_.size());
+ const QuicStopWaitingFrame& frame = *visitor_.stop_waiting_frames_[0].get();
+ EXPECT_EQ(kLeastUnacked, frame.least_unacked);
+
+ const size_t frame_size = 7;
+ for (size_t i = kQuicFrameTypeSize; i < frame_size; ++i) {
string expected_error;
- if (i < kLargestObservedOffset) {
- expected_error = "Unable to read entropy hash for received packets.";
- } else if (i < kMissingDeltaTimeOffset) {
- expected_error = "Unable to read largest observed.";
- } else if (i < kNumTimestampsOffset) {
- expected_error = "Unable to read ack delay time.";
- } else if (i < kNumMissingPacketOffset) {
- expected_error = "Unable to read num received packets.";
- } else if (i < kMissingPacketsOffset) {
- expected_error = "Unable to read num missing packet ranges.";
- } else {
- expected_error = "Unable to read missing packet number delta.";
- }
+ expected_error = "Unable to read least unacked delta.";
CheckProcessingFails(
packet,
i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
!kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce,
PACKET_6BYTE_PACKET_NUMBER),
- expected_error, QUIC_INVALID_ACK_DATA);
- }
-}
-
-TEST_P(QuicFramerTest, AckFrame500NacksVersion32) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xA8, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (ack frame)
- // (has nacks, not truncated, 6 byte largest observed, 1 byte delta)
- 0x6C,
- // entropy hash of all received packets.
- 0xBA,
- // largest observed packet number
- 0xBF, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // Zero delta time.
- 0x00, 0x00,
- // No received packets.
- 0x00,
- // num missing packet ranges
- 0x02,
- // missing packet delta
- 0x01,
- // 243 more missing packets in range.
- // The ranges are listed in this order so the re-constructed packet
- // matches.
- 0xF3,
- // No gap between ranges
- 0x00,
- // 255 more missing packets in range.
- 0xFF,
- };
- // clang-format on
-
- if (framer_.version() > QUIC_VERSION_33) {
- return;
+ expected_error, QUIC_INVALID_STOP_WAITING_DATA);
}
-
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce));
-
- EXPECT_EQ(0u, visitor_.stream_frames_.size());
- ASSERT_EQ(1u, visitor_.ack_frames_.size());
- QuicAckFrame* frame = visitor_.ack_frames_[0].get();
- EXPECT_EQ(0xBA, frame->entropy_hash);
- EXPECT_EQ(kLargestObserved, frame->largest_observed);
- ASSERT_EQ(500u, frame->packets.NumPacketsSlow());
- EXPECT_EQ(kMissingPacket - 499, frame->packets.Min());
- EXPECT_EQ(kMissingPacket, frame->packets.Max());
-
- // Verify that the packet re-serializes identically.
- QuicFrames frames;
- frames.push_back(QuicFrame(frame));
- std::unique_ptr<QuicPacket> data(BuildDataPacket(*visitor_.header_, frames));
- ASSERT_TRUE(data != nullptr);
-
- test::CompareCharArraysWithHexError("constructed packet", data->data(),
- data->length(), AsChars(packet),
- arraysize(packet));
}
-TEST_P(QuicFramerTest, StopWaitingFrame) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
+TEST_P(QuicFramerTest, RstStreamFrameQuic) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
@@ -2928,19 +1888,20 @@ TEST_P(QuicFramerTest, StopWaitingFrame) {
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
// packet number
- 0xA8, 0x9A, 0x78, 0x56,
+ 0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags (entropy)
+
+ // frame type (rst stream frame)
0x01,
+ // stream id
+ 0x04, 0x03, 0x02, 0x01,
- // frame type (ack frame)
- // (has nacks, not truncated, 6 byte largest observed, 1 byte delta)
- 0x06,
- // entropy hash of sent packets till least awaiting - 1.
- 0xAB,
- // least packet number awaiting an ack, delta from packet number.
- 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00,
+ // sent byte offset
+ 0x54, 0x76, 0x10, 0x32,
+ 0xDC, 0xFE, 0x98, 0xBA,
+
+ // error code
+ 0x01, 0x00, 0x00, 0x00,
};
// clang-format on
@@ -2952,21 +1913,22 @@ TEST_P(QuicFramerTest, StopWaitingFrame) {
EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce));
- EXPECT_EQ(0u, visitor_.stream_frames_.size());
- ASSERT_EQ(1u, visitor_.stop_waiting_frames_.size());
- const QuicStopWaitingFrame& frame = *visitor_.stop_waiting_frames_[0].get();
- EXPECT_EQ(0xAB, frame.entropy_hash);
- EXPECT_EQ(kLeastUnacked, frame.least_unacked);
+ EXPECT_EQ(kStreamId, visitor_.rst_stream_frame_.stream_id);
+ EXPECT_EQ(0x01, visitor_.rst_stream_frame_.error_code);
+ EXPECT_EQ(kStreamOffset, visitor_.rst_stream_frame_.byte_offset);
- const size_t kSentEntropyOffset = kQuicFrameTypeSize;
- const size_t kLeastUnackedOffset = kSentEntropyOffset + kQuicEntropyHashSize;
- const size_t frame_size = 7;
- for (size_t i = kQuicFrameTypeSize; i < frame_size; ++i) {
+ // Now test framing boundaries.
+ for (size_t i = kQuicFrameTypeSize; i < QuicFramer::GetRstStreamFrameSize();
+ ++i) {
string expected_error;
- if (i < kLeastUnackedOffset) {
- expected_error = "Unable to read entropy hash for sent packets.";
- } else {
- expected_error = "Unable to read least unacked delta.";
+ if (i < kQuicFrameTypeSize + kQuicMaxStreamIdSize) {
+ expected_error = "Unable to read stream_id.";
+ } else if (i < kQuicFrameTypeSize + kQuicMaxStreamIdSize +
+ kQuicMaxStreamOffsetSize) {
+ expected_error = "Unable to read rst stream sent byte offset.";
+ } else if (i < kQuicFrameTypeSize + kQuicMaxStreamIdSize +
+ kQuicMaxStreamOffsetSize + kQuicErrorCodeSize) {
+ expected_error = "Unable to read rst stream error code.";
}
CheckProcessingFails(
packet,
@@ -2974,178 +1936,15 @@ TEST_P(QuicFramerTest, StopWaitingFrame) {
!kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce,
PACKET_6BYTE_PACKET_NUMBER),
- expected_error, QUIC_INVALID_STOP_WAITING_DATA);
+ expected_error, QUIC_INVALID_RST_STREAM_DATA);
}
}
-TEST_P(QuicFramerTest, NewStopWaitingFrame) {
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
+TEST_P(QuicFramerTest, ConnectionCloseFrame) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- 0x3C,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xA8, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // frame type (stop waiting frame)
- 0x06,
- // least packet number awaiting an ack, delta from packet number.
- 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00,
- };
- // clang-format on
-
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce));
-
- EXPECT_EQ(0u, visitor_.stream_frames_.size());
- ASSERT_EQ(1u, visitor_.stop_waiting_frames_.size());
- const QuicStopWaitingFrame& frame = *visitor_.stop_waiting_frames_[0].get();
- EXPECT_EQ(kLeastUnacked, frame.least_unacked);
-
- const size_t frame_size = 7;
- for (size_t i = kQuicFrameTypeSize; i < frame_size; ++i) {
- string expected_error;
- expected_error = "Unable to read least unacked delta.";
- CheckProcessingFails(
- packet,
- i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
- !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce,
- PACKET_6BYTE_PACKET_NUMBER),
- expected_error, QUIC_INVALID_STOP_WAITING_DATA);
- }
-}
-
-TEST_P(QuicFramerTest, RstStreamFrameQuic) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (rst stream frame)
- 0x01,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
-
- // sent byte offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
-
- // error code
- 0x01, 0x00, 0x00, 0x00,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
-
- // frame type (rst stream frame)
- 0x01,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
-
- // sent byte offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
-
- // error code
- 0x01, 0x00, 0x00, 0x00,
- };
- // clang-format on
-
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
-
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(CheckDecryption(encrypted, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce));
-
- EXPECT_EQ(kStreamId, visitor_.rst_stream_frame_.stream_id);
- EXPECT_EQ(0x01, visitor_.rst_stream_frame_.error_code);
- EXPECT_EQ(kStreamOffset, visitor_.rst_stream_frame_.byte_offset);
-
- // Now test framing boundaries.
- for (size_t i = kQuicFrameTypeSize; i < QuicFramer::GetRstStreamFrameSize();
- ++i) {
- string expected_error;
- if (i < kQuicFrameTypeSize + kQuicMaxStreamIdSize) {
- expected_error = "Unable to read stream_id.";
- } else if (i < kQuicFrameTypeSize + kQuicMaxStreamIdSize +
- kQuicMaxStreamOffsetSize) {
- expected_error = "Unable to read rst stream sent byte offset.";
- } else if (i < kQuicFrameTypeSize + kQuicMaxStreamIdSize +
- kQuicMaxStreamOffsetSize + kQuicErrorCodeSize) {
- expected_error = "Unable to read rst stream error code.";
- }
- CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
- i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
- !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce,
- PACKET_6BYTE_PACKET_NUMBER),
- expected_error, QUIC_INVALID_RST_STREAM_DATA);
- }
-}
-
-TEST_P(QuicFramerTest, ConnectionCloseFrame) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (connection close frame)
- 0x02,
- // error code
- 0x11, 0x00, 0x00, 0x00,
-
- // error details length
- 0x0d, 0x00,
- // error details
- 'b', 'e', 'c', 'a',
- 'u', 's', 'e', ' ',
- 'I', ' ', 'c', 'a',
- 'n',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
+ 0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
@@ -3168,11 +1967,7 @@ TEST_P(QuicFramerTest, ConnectionCloseFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -3197,7 +1992,7 @@ TEST_P(QuicFramerTest, ConnectionCloseFrame) {
expected_error = "Unable to read connection close error details.";
}
CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
+ packet,
i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
!kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce,
@@ -3217,32 +2012,6 @@ TEST_P(QuicFramerTest, GoAwayFrame) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (go away frame)
- 0x03,
- // error code
- 0x09, 0x00, 0x00, 0x00,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // error details length
- 0x0d, 0x00,
- // error details
- 'b', 'e', 'c', 'a',
- 'u', 's', 'e', ' ',
- 'I', ' ', 'c', 'a',
- 'n',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (go away frame)
0x03,
@@ -3260,11 +2029,7 @@ TEST_P(QuicFramerTest, GoAwayFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -3290,7 +2055,7 @@ TEST_P(QuicFramerTest, GoAwayFrame) {
expected_error = "Unable to read goaway reason.";
}
CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
+ packet,
i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
!kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce,
@@ -3310,26 +2075,6 @@ TEST_P(QuicFramerTest, WindowUpdateFrame) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (window update frame)
- 0x04,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // byte offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (window update frame)
0x04,
@@ -3341,12 +2086,7 @@ TEST_P(QuicFramerTest, WindowUpdateFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
-
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -3367,7 +2107,7 @@ TEST_P(QuicFramerTest, WindowUpdateFrame) {
expected_error = "Unable to read window byte_offset.";
}
CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
+ packet,
i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
!kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce,
@@ -3387,23 +2127,6 @@ TEST_P(QuicFramerTest, BlockedFrame) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (blocked frame)
- 0x05,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (blocked frame)
0x05,
@@ -3412,12 +2135,7 @@ TEST_P(QuicFramerTest, BlockedFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
-
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -3432,7 +2150,7 @@ TEST_P(QuicFramerTest, BlockedFrame) {
++i) {
string expected_error = "Unable to read stream_id.";
CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
+ packet,
i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
!kIncludeVersion, !kIncludePathId,
!kIncludeDiversificationNonce,
@@ -3452,32 +2170,13 @@ TEST_P(QuicFramerTest, PingFrame) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (ping frame)
- 0x07,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- 0x38,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// frame type (ping frame)
0x07,
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -3501,23 +2200,6 @@ TEST_P(QuicFramerTest, PathCloseFrame) {
0x00,
// packet number
0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (path_close_frame)
- 0x08,
- // path id
- 0x42,
- };
- unsigned char packet_34[] = {
- // public flags (version)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x00,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
// frame type (path_close_frame)
0x08,
@@ -3526,11 +2208,7 @@ TEST_P(QuicFramerTest, PathCloseFrame) {
};
// clang-format on
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
@@ -3546,7 +2224,7 @@ TEST_P(QuicFramerTest, PathCloseFrame) {
expected_error = "Unable to read path_id.";
}
CheckProcessingFails(
- framer_.version() <= QUIC_VERSION_33 ? packet : packet_34,
+ packet,
i + GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
!kIncludeVersion, kIncludePathId,
!kIncludeDiversificationNonce,
@@ -3869,7 +2547,6 @@ TEST_P(QuicFramerTest, BuildPaddingFramePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.packet_number = kPacketNumber;
QuicPaddingFrame padding_frame;
@@ -3880,23 +2557,6 @@ TEST_P(QuicFramerTest, BuildPaddingFramePacket) {
// clang-format off
unsigned char packet[kMaxPacketSize] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (padding frame)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- unsigned char packet_34[kMaxPacketSize] = {
- // public flags (8 byte connection_id)
0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -3915,18 +2575,14 @@ TEST_P(QuicFramerTest, BuildPaddingFramePacket) {
framer_.version(), PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
!kIncludePathId, !kIncludeDiversificationNonce,
PACKET_6BYTE_PACKET_NUMBER);
- memset((framer_.version() <= QUIC_VERSION_33 ? packet : packet_34) +
- header_size + 1,
- 0x00, kMaxPacketSize - header_size - 1);
+ memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) {
@@ -3934,7 +2590,6 @@ TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.public_header.packet_number_length = PACKET_4BYTE_PACKET_NUMBER;
header.packet_number = kPacketNumber;
@@ -3946,22 +2601,6 @@ TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) {
// clang-format off
unsigned char packet[kMaxPacketSize] = {
// public flags (8 byte connection_id and 4 byte packet number)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x28 : 0x2C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- // private flags
- 0x00,
-
- // frame type (padding frame)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- unsigned char packet_34[kMaxPacketSize] = {
- // public flags (8 byte connection_id and 4 byte packet number)
0x28,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -3979,18 +2618,14 @@ TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) {
framer_.version(), PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
!kIncludePathId, !kIncludeDiversificationNonce,
PACKET_4BYTE_PACKET_NUMBER);
- memset((framer_.version() <= QUIC_VERSION_33 ? packet : packet_34) +
- header_size + 1,
- 0x00, kMaxPacketSize - header_size - 1);
+ memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) {
@@ -3998,7 +2633,6 @@ TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.public_header.packet_number_length = PACKET_2BYTE_PACKET_NUMBER;
header.packet_number = kPacketNumber;
@@ -4010,22 +2644,6 @@ TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) {
// clang-format off
unsigned char packet[kMaxPacketSize] = {
// public flags (8 byte connection_id and 2 byte packet number)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x18 : 0x1C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A,
- // private flags
- 0x00,
-
- // frame type (padding frame)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- unsigned char packet_34[kMaxPacketSize] = {
- // public flags (8 byte connection_id and 2 byte packet number)
0x18,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -4043,18 +2661,14 @@ TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) {
framer_.version(), PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
!kIncludePathId, !kIncludeDiversificationNonce,
PACKET_2BYTE_PACKET_NUMBER);
- memset((framer_.version() <= QUIC_VERSION_33 ? packet : packet_34) +
- header_size + 1,
- 0x00, kMaxPacketSize - header_size - 1);
+ memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) {
@@ -4062,7 +2676,6 @@ TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER;
header.packet_number = kPacketNumber;
@@ -4074,22 +2687,6 @@ TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) {
// clang-format off
unsigned char packet[kMaxPacketSize] = {
// public flags (8 byte connection_id and 1 byte packet number)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x08 : 0x0C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC,
- // private flags
- 0x00,
-
- // frame type (padding frame)
- 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- unsigned char packet_34[kMaxPacketSize] = {
- // public flags (8 byte connection_id and 1 byte packet number)
0x08,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -4107,18 +2704,14 @@ TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) {
framer_.version(), PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
!kIncludePathId, !kIncludeDiversificationNonce,
PACKET_1BYTE_PACKET_NUMBER);
- memset((framer_.version() <= QUIC_VERSION_33 ? packet : packet_34) +
- header_size + 1,
- 0x00, kMaxPacketSize - header_size - 1);
+ memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildStreamFramePacket) {
@@ -4126,7 +2719,6 @@ TEST_P(QuicFramerTest, BuildStreamFramePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
@@ -4138,31 +2730,6 @@ TEST_P(QuicFramerTest, BuildStreamFramePacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -4188,11 +2755,9 @@ TEST_P(QuicFramerTest, BuildStreamFramePacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildStreamFramePacketWithVersionFlag) {
@@ -4200,7 +2765,6 @@ TEST_P(QuicFramerTest, BuildStreamFramePacketWithVersionFlag) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = true;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
@@ -4213,29 +2777,6 @@ TEST_P(QuicFramerTest, BuildStreamFramePacketWithVersionFlag) {
unsigned char packet[] = {
// public flags (version, 8 byte connection_id)
static_cast<unsigned char>(
- (FLAGS_quic_remove_v33_hacks2 &&
- framer_.version() > QUIC_VERSION_32) ? 0x39 : 0x3D),
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32, 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (version, 8 byte connection_id)
- static_cast<unsigned char>(
FLAGS_quic_remove_v33_hacks2 ? 0x39 : 0x3D),
// connection_id
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
@@ -4259,11 +2800,9 @@ TEST_P(QuicFramerTest, BuildStreamFramePacketWithVersionFlag) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildStreamFramePacketWithMultipathFlag) {
@@ -4272,7 +2811,6 @@ TEST_P(QuicFramerTest, BuildStreamFramePacketWithMultipathFlag) {
header.public_header.multipath_flag = true;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.path_id = kPathId;
header.packet_number = kPacketNumber;
@@ -4285,225 +2823,27 @@ TEST_P(QuicFramerTest, BuildStreamFramePacketWithMultipathFlag) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x78 : 0x7C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
0x78,
// connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- // clang-format on
-
- std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
- ASSERT_TRUE(data != nullptr);
-
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
-}
-
-TEST_P(QuicFramerTest, BuildStreamFramePacketWithBothVersionAndMultipathFlag) {
- QuicPacketHeader header;
- header.public_header.connection_id = kConnectionId;
- header.public_header.multipath_flag = true;
- header.public_header.reset_flag = false;
- header.public_header.version_flag = true;
- header.entropy_flag = true;
- header.path_id = kPathId;
- header.packet_number = kPacketNumber;
-
- QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
- StringPiece("hello world!"));
-
- QuicFrames frames;
- frames.push_back(QuicFrame(&stream_frame));
-
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- (FLAGS_quic_remove_v33_hacks2 &&
- framer_.version() > QUIC_VERSION_32) ? 0x79 : 0x7D),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- FLAGS_quic_remove_v33_hacks2 ? 0x79 : 0x7D),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- // clang-format on
-
- QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT);
- std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
- ASSERT_TRUE(data != nullptr);
-
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
-}
-
-TEST_P(QuicFramerTest, BuildVersionNegotiationPacket) {
- // clang-format off
- unsigned char packet[] = {
- // public flags (version, 8 byte connection_id)
- 0x0D,
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
- };
- // clang-format on
-
- QuicConnectionId connection_id = kConnectionId;
- std::unique_ptr<QuicEncryptedPacket> data(
- framer_.BuildVersionNegotiationPacket(connection_id,
- SupportedVersions(GetParam())));
- test::CompareCharArraysWithHexError("constructed packet", data->data(),
- data->length(), AsChars(packet),
- arraysize(packet));
-}
-
-TEST_P(QuicFramerTest, BuildAckFramePacket) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
-
- QuicPacketHeader header;
- header.public_header.connection_id = kConnectionId;
- header.public_header.reset_flag = false;
- header.public_header.version_flag = false;
- header.entropy_flag = true;
- header.packet_number = kPacketNumber;
-
- QuicAckFrame ack_frame;
- ack_frame.entropy_hash = 0x43;
- ack_frame.largest_observed = kLargestObserved;
- ack_frame.ack_delay_time = QuicTime::Delta::Zero();
- ack_frame.packets.Add(kMissingPacket);
-
- QuicFrames frames;
- frames.push_back(QuicFrame(&ack_frame));
-
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
+ 0x10, 0x32, 0x54, 0x76,
+ 0x98, 0xBA, 0xDC, 0xFE,
+ // path_id
+ 0x42,
+ // packet number
+ 0xBC, 0x9A, 0x78, 0x56,
+ 0x34, 0x12,
- // frame type (ack frame)
- // (has nacks, not truncated, 6 byte largest observed, 1 byte delta)
- 0x6C,
- // entropy hash of all received packets.
- 0x43,
- // largest observed packet number
- 0xBF, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // Zero delta time.
- 0x00, 0x00,
- // num received packets.
- 0x00,
- // num missing packet ranges
- 0x01,
- // missing packet delta
- 0x01,
- // 0 more missing packets in range.
- 0x00,
+ // frame type (stream frame with fin and no length)
+ 0xDF,
+ // stream id
+ 0x04, 0x03, 0x02, 0x01,
+ // offset
+ 0x54, 0x76, 0x10, 0x32,
+ 0xDC, 0xFE, 0x98, 0xBA,
+ // data
+ 'h', 'e', 'l', 'l',
+ 'o', ' ', 'w', 'o',
+ 'r', 'l', 'd', '!',
};
// clang-format on
@@ -4515,112 +2855,52 @@ TEST_P(QuicFramerTest, BuildAckFramePacket) {
arraysize(packet));
}
-// TODO(jri): Add test for tuncated packets in which the original ack frame had
-// revived packets. (In both the large and small packet cases below).
-
-TEST_P(QuicFramerTest, BuildTruncatedAckFrameLargePacket) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
-
+TEST_P(QuicFramerTest, BuildStreamFramePacketWithBothVersionAndMultipathFlag) {
QuicPacketHeader header;
header.public_header.connection_id = kConnectionId;
+ header.public_header.multipath_flag = true;
header.public_header.reset_flag = false;
- header.public_header.version_flag = false;
- header.entropy_flag = true;
+ header.public_header.version_flag = true;
+ header.path_id = kPathId;
header.packet_number = kPacketNumber;
- QuicAckFrame ack_frame;
- // This entropy hash is different from what shows up in the packet below,
- // since entropy is recomputed by the framer on ack truncation (by
- // TestEntropyCalculator for this test.)
- ack_frame.entropy_hash = 0x43;
- ack_frame.largest_observed = 2 * 300;
- ack_frame.ack_delay_time = QuicTime::Delta::Zero();
- for (size_t i = 1; i < 2 * 300; i += 2) {
- ack_frame.packets.Add(i);
- }
+ QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
+ StringPiece("hello world!"));
QuicFrames frames;
- frames.push_back(QuicFrame(&ack_frame));
+ frames.push_back(QuicFrame(&stream_frame));
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
+ // public flags (8 byte connection_id)
+ static_cast<unsigned char>(
+ FLAGS_quic_remove_v33_hacks2 ? 0x79 : 0x7D),
+ // connection_id
+ 0x10, 0x32, 0x54, 0x76,
+ 0x98, 0xBA, 0xDC, 0xFE,
+ // version tag
+ 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
+ // path_id
+ 0x42,
+ // packet number
+ 0xBC, 0x9A, 0x78, 0x56,
+ 0x34, 0x12,
- // frame type (ack frame)
- // (has nacks, is truncated, 2 byte largest observed, 1 byte delta)
- 0x74,
- // entropy hash of all received packets, set to 1 by TestEntropyCalculator
- // since ack is truncated.
- 0x01,
- // 2-byte largest observed packet number.
- // Expected to be 510 (0x1FE), since only 255 nack ranges can fit.
- 0xFE, 0x01,
- // Zero delta time.
- 0x00, 0x00,
- // num missing packet ranges (limited to 255 by size of this field).
- 0xFF,
- // {missing packet delta, further missing packets in range}
- // 6 nack ranges x 42 + 3 nack ranges
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
-
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
-
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
-
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
-
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
+ // frame type (stream frame with fin and no length)
+ 0xDF,
+ // stream id
+ 0x04, 0x03, 0x02, 0x01,
+ // offset
+ 0x54, 0x76, 0x10, 0x32,
+ 0xDC, 0xFE, 0x98, 0xBA,
+ // data
+ 'h', 'e', 'l', 'l',
+ 'o', ' ', 'w', 'o',
+ 'r', 'l', 'd', '!',
};
// clang-format on
+ QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT);
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
@@ -4629,77 +2909,28 @@ TEST_P(QuicFramerTest, BuildTruncatedAckFrameLargePacket) {
arraysize(packet));
}
-TEST_P(QuicFramerTest, BuildTruncatedAckFrameSmallPacket) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
-
- QuicPacketHeader header;
- header.public_header.connection_id = kConnectionId;
- header.public_header.reset_flag = false;
- header.public_header.version_flag = false;
- header.entropy_flag = true;
- header.packet_number = kPacketNumber;
-
- QuicAckFrame ack_frame;
- // This entropy hash is different from what shows up in the packet below,
- // since entropy is recomputed by the framer on ack truncation (by
- // TestEntropyCalculator for this test.)
- ack_frame.entropy_hash = 0x43;
- ack_frame.largest_observed = 2 * 300;
- ack_frame.ack_delay_time = QuicTime::Delta::Zero();
- for (size_t i = 1; i < 2 * 300; i += 2) {
- ack_frame.packets.Add(i);
- }
-
- QuicFrames frames;
- frames.push_back(QuicFrame(&ack_frame));
-
+TEST_P(QuicFramerTest, BuildVersionNegotiationPacket) {
// clang-format off
unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
+ // public flags (version, 8 byte connection_id)
+ 0x0D,
// connection_id
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (ack frame)
- // (has nacks, is truncated, 2 byte largest observed, 1 byte delta)
- 0x74,
- // entropy hash of all received packets, set to 1 by TestEntropyCalculator
- // since ack is truncated.
- 0x01,
- // 2-byte largest observed packet number.
- // Expected to be 12 (0x0C), since only 6 nack ranges can fit.
- 0x0C, 0x00,
- // Zero delta time.
- 0x00, 0x00,
- // num missing packet ranges (limited to 6 by packet size of 37).
- 0x06,
- // {missing packet delta, further missing packets in range}
- // 6 nack ranges
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
+ // version tag
+ 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(),
};
// clang-format on
- std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames, 36u));
- ASSERT_TRUE(data != nullptr);
- // Expect 1 byte unused since at least 2 bytes are needed to fit more nacks.
- EXPECT_EQ(35u, data->length());
+ QuicConnectionId connection_id = kConnectionId;
+ std::unique_ptr<QuicEncryptedPacket> data(
+ framer_.BuildVersionNegotiationPacket(connection_id,
+ SupportedVersions(GetParam())));
test::CompareCharArraysWithHexError("constructed packet", data->data(),
data->length(), AsChars(packet),
arraysize(packet));
}
TEST_P(QuicFramerTest, BuildNewAckFramePacketOneAckBlock) {
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
-
QuicPacketHeader header;
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
@@ -4710,7 +2941,6 @@ TEST_P(QuicFramerTest, BuildNewAckFramePacketOneAckBlock) {
QuicAckFrame ack_frame;
ack_frame.largest_observed = kSmallLargestObserved;
ack_frame.ack_delay_time = QuicTime::Delta::Zero();
- ack_frame.missing = false;
ack_frame.packets.Add(1, kSmallLargestObserved + 1);
QuicFrames frames;
@@ -4748,10 +2978,6 @@ TEST_P(QuicFramerTest, BuildNewAckFramePacketOneAckBlock) {
}
TEST_P(QuicFramerTest, BuildNewAckFramePacketMultipleAckBlocks) {
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
-
QuicPacketHeader header;
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
@@ -4762,7 +2988,6 @@ TEST_P(QuicFramerTest, BuildNewAckFramePacketMultipleAckBlocks) {
QuicAckFrame ack_frame;
ack_frame.largest_observed = kSmallLargestObserved;
ack_frame.ack_delay_time = QuicTime::Delta::Zero();
- ack_frame.missing = false;
ack_frame.packets.Add(1, 5);
ack_frame.packets.Add(10, 500);
ack_frame.packets.Add(900, kSmallMissingPacket);
@@ -4821,10 +3046,6 @@ TEST_P(QuicFramerTest, BuildNewAckFramePacketMultipleAckBlocks) {
}
TEST_P(QuicFramerTest, BuildNewAckFramePacketMaxAckBlocks) {
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
-
QuicPacketHeader header;
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
@@ -4835,7 +3056,6 @@ TEST_P(QuicFramerTest, BuildNewAckFramePacketMaxAckBlocks) {
QuicAckFrame ack_frame;
ack_frame.largest_observed = kSmallLargestObserved;
ack_frame.ack_delay_time = QuicTime::Delta::Zero();
- ack_frame.missing = false;
// 300 ack blocks.
for (size_t i = 2; i < 2 * 300; i += 2) {
ack_frame.packets.Add(i);
@@ -4947,64 +3167,11 @@ TEST_P(QuicFramerTest, BuildNewAckFramePacketMaxAckBlocks) {
arraysize(packet));
}
-TEST_P(QuicFramerTest, BuildStopWaitingPacket) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
- QuicPacketHeader header;
- header.public_header.connection_id = kConnectionId;
- header.public_header.reset_flag = false;
- header.public_header.version_flag = false;
- header.entropy_flag = true;
- header.packet_number = kPacketNumber;
-
- QuicStopWaitingFrame stop_waiting_frame;
- stop_waiting_frame.entropy_hash = 0x14;
- stop_waiting_frame.least_unacked = kLeastUnacked;
-
- QuicFrames frames;
- frames.push_back(QuicFrame(&stop_waiting_frame));
-
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (stop waiting frame)
- 0x06,
- // entropy hash of sent packets till least awaiting - 1.
- 0x14,
- // least packet number awaiting an ack, delta from packet number.
- 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0x00,
- };
- // clang-format on
-
- std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
- ASSERT_TRUE(data != nullptr);
-
- test::CompareCharArraysWithHexError("constructed packet", data->data(),
- data->length(), AsChars(packet),
- arraysize(packet));
-}
-
TEST_P(QuicFramerTest, BuildNewStopWaitingPacket) {
- if (framer_.version() <= QUIC_VERSION_33) {
- return;
- }
QuicPacketHeader header;
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.packet_number = kPacketNumber;
QuicStopWaitingFrame stop_waiting_frame;
@@ -5044,7 +3211,6 @@ TEST_P(QuicFramerTest, BuildRstFramePacketQuic) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.packet_number = kPacketNumber;
QuicRstStreamFrame rst_frame;
@@ -5055,29 +3221,6 @@ TEST_P(QuicFramerTest, BuildRstFramePacketQuic) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // frame type (rst stream frame)
- 0x01,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // sent byte offset
- 0x01, 0x02, 0x03, 0x04,
- 0x05, 0x06, 0x07, 0x08,
- // error code
- 0x08, 0x07, 0x06, 0x05,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -5104,11 +3247,9 @@ TEST_P(QuicFramerTest, BuildRstFramePacketQuic) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildCloseFramePacket) {
@@ -5116,7 +3257,6 @@ TEST_P(QuicFramerTest, BuildCloseFramePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicConnectionCloseFrame close_frame;
@@ -5129,33 +3269,7 @@ TEST_P(QuicFramerTest, BuildCloseFramePacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (connection close frame)
- 0x02,
- // error code
- 0x08, 0x07, 0x06, 0x05,
- // error details length
- 0x0d, 0x00,
- // error details
- 'b', 'e', 'c', 'a',
- 'u', 's', 'e', ' ',
- 'I', ' ', 'c', 'a',
- 'n',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
+ 0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
@@ -5180,11 +3294,9 @@ TEST_P(QuicFramerTest, BuildCloseFramePacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildGoAwayPacket) {
@@ -5192,7 +3304,6 @@ TEST_P(QuicFramerTest, BuildGoAwayPacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicGoAwayFrame goaway_frame;
@@ -5206,33 +3317,6 @@ TEST_P(QuicFramerTest, BuildGoAwayPacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags(entropy)
- 0x01,
-
- // frame type (go away frame)
- 0x03,
- // error code
- 0x08, 0x07, 0x06, 0x05,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // error details length
- 0x0d, 0x00,
- // error details
- 'b', 'e', 'c', 'a',
- 'u', 's', 'e', ' ',
- 'I', ' ', 'c', 'a',
- 'n',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -5260,11 +3344,9 @@ TEST_P(QuicFramerTest, BuildGoAwayPacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildWindowUpdatePacket) {
@@ -5272,39 +3354,17 @@ TEST_P(QuicFramerTest, BuildWindowUpdatePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicWindowUpdateFrame window_update_frame;
- window_update_frame.stream_id = kStreamId;
- window_update_frame.byte_offset = 0x1122334455667788;
-
- QuicFrames frames;
- frames.push_back(QuicFrame(&window_update_frame));
-
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags(entropy)
- 0x01,
+ window_update_frame.stream_id = kStreamId;
+ window_update_frame.byte_offset = 0x1122334455667788;
- // frame type (window update frame)
- 0x04,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // byte offset
- 0x88, 0x77, 0x66, 0x55,
- 0x44, 0x33, 0x22, 0x11,
- };
- unsigned char packet_34[] = {
+ QuicFrames frames;
+ frames.push_back(QuicFrame(&window_update_frame));
+
+ // clang-format off
+ unsigned char packet[] = {
// public flags (8 byte connection_id)
0x38,
// connection_id
@@ -5327,11 +3387,9 @@ TEST_P(QuicFramerTest, BuildWindowUpdatePacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildBlockedPacket) {
@@ -5339,7 +3397,6 @@ TEST_P(QuicFramerTest, BuildBlockedPacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicBlockedFrame blocked_frame;
@@ -5351,24 +3408,6 @@ TEST_P(QuicFramerTest, BuildBlockedPacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags(entropy)
- 0x01,
-
- // frame type (blocked frame)
- 0x05,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
@@ -5387,11 +3426,9 @@ TEST_P(QuicFramerTest, BuildBlockedPacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildPingPacket) {
@@ -5399,7 +3436,6 @@ TEST_P(QuicFramerTest, BuildPingPacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicPingFrame ping_frame;
@@ -5410,24 +3446,7 @@ TEST_P(QuicFramerTest, BuildPingPacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags(entropy)
- 0x01,
-
- // frame type (ping frame)
- 0x07,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
+ 0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
@@ -5443,11 +3462,9 @@ TEST_P(QuicFramerTest, BuildPingPacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildPathClosePacket) {
@@ -5456,7 +3473,6 @@ TEST_P(QuicFramerTest, BuildPathClosePacket) {
header.public_header.multipath_flag = true;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.path_id = kDefaultPathId;
header.packet_number = kPacketNumber;
@@ -5468,26 +3484,7 @@ TEST_P(QuicFramerTest, BuildPathClosePacket) {
// clang-format off
unsigned char packet[] = {
// public flags (version)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x78 : 0X7C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x00,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
- // private flags (entropy)
- 0x01,
-
- // frame type (path_close_frame)
- 0x08,
- // path id
- 0x42,
- };
- unsigned char packet_34[] = {
- // public flags (version)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x78 : 0X7C),
+ 0x78,
// connection_id
0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
// path_id
@@ -5505,11 +3502,9 @@ TEST_P(QuicFramerTest, BuildPathClosePacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
// Test that the MTU discovery packet is serialized correctly as a PING packet.
@@ -5518,7 +3513,6 @@ TEST_P(QuicFramerTest, BuildMtuDiscoveryPacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicMtuDiscoveryFrame mtu_discovery_frame;
@@ -5529,24 +3523,7 @@ TEST_P(QuicFramerTest, BuildMtuDiscoveryPacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags(entropy)
- 0x01,
-
- // frame type (ping frame)
- 0x07,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
+ 0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
@@ -5562,11 +3539,9 @@ TEST_P(QuicFramerTest, BuildMtuDiscoveryPacket) {
std::unique_ptr<QuicPacket> data(BuildDataPacket(header, frames));
ASSERT_TRUE(data != nullptr);
- test::CompareCharArraysWithHexError(
- "constructed packet", data->data(), data->length(),
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34));
+ test::CompareCharArraysWithHexError("constructed packet", data->data(),
+ data->length(), AsChars(packet),
+ arraysize(packet));
}
TEST_P(QuicFramerTest, BuildPublicResetPacketOld) {
@@ -5803,27 +3778,7 @@ TEST_P(QuicFramerTest, EncryptPacket) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags
- 0x00,
-
- // redundancy
- 'a', 'b', 'c', 'd',
- 'e', 'f', 'g', 'h',
- 'i', 'j', 'k', 'l',
- 'm', 'n', 'o', 'p',
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
+ 0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
@@ -5840,11 +3795,9 @@ TEST_P(QuicFramerTest, EncryptPacket) {
// clang-format on
std::unique_ptr<QuicPacket> raw(new QuicPacket(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false, PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce, PACKET_6BYTE_PACKET_NUMBER));
+ AsChars(packet), arraysize(packet), false, PACKET_8BYTE_CONNECTION_ID,
+ !kIncludeVersion, !kIncludePathId, !kIncludeDiversificationNonce,
+ PACKET_6BYTE_PACKET_NUMBER));
char buffer[kMaxPacketSize];
size_t encrypted_length =
framer_.EncryptPayload(ENCRYPTION_NONE, kDefaultPathId, packet_number,
@@ -5868,26 +3821,6 @@ TEST_P(QuicFramerTest, EncryptPacketWithVersionFlag) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // redundancy
- 'a', 'b', 'c', 'd',
- 'e', 'f', 'g', 'h',
- 'i', 'j', 'k', 'l',
- 'm', 'n', 'o', 'p',
- };
- unsigned char packet_34[] = {
- // public flags (version, 8 byte connection_id)
- 0x39,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '.', '1', '0',
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// redundancy
'a', 'b', 'c', 'd',
@@ -5898,11 +3831,9 @@ TEST_P(QuicFramerTest, EncryptPacketWithVersionFlag) {
// clang-format on
std::unique_ptr<QuicPacket> raw(new QuicPacket(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false, PACKET_8BYTE_CONNECTION_ID, kIncludeVersion, !kIncludePathId,
- !kIncludeDiversificationNonce, PACKET_6BYTE_PACKET_NUMBER));
+ AsChars(packet), arraysize(packet), false, PACKET_8BYTE_CONNECTION_ID,
+ kIncludeVersion, !kIncludePathId, !kIncludeDiversificationNonce,
+ PACKET_6BYTE_PACKET_NUMBER));
char buffer[kMaxPacketSize];
size_t encrypted_length =
framer_.EncryptPayload(ENCRYPTION_NONE, kDefaultPathId, packet_number,
@@ -5926,26 +3857,6 @@ TEST_P(QuicFramerTest, EncryptPacketWithMultipathFlag) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // redundancy
- 'a', 'b', 'c', 'd',
- 'e', 'f', 'g', 'h',
- 'i', 'j', 'k', 'l',
- 'm', 'n', 'o', 'p',
- };
- unsigned char packet_34[] = {
- // public flags (version, 8 byte connection_id)
- 0x78,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// redundancy
'a', 'b', 'c', 'd',
@@ -5956,11 +3867,9 @@ TEST_P(QuicFramerTest, EncryptPacketWithMultipathFlag) {
// clang-format on
std::unique_ptr<QuicPacket> raw(new QuicPacket(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false, PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, kIncludePathId,
- !kIncludeDiversificationNonce, PACKET_6BYTE_PACKET_NUMBER));
+ AsChars(packet), arraysize(packet), false, PACKET_8BYTE_CONNECTION_ID,
+ !kIncludeVersion, kIncludePathId, !kIncludeDiversificationNonce,
+ PACKET_6BYTE_PACKET_NUMBER));
char buffer[kMaxPacketSize];
size_t encrypted_length = framer_.EncryptPayload(
ENCRYPTION_NONE, kPathId, packet_number, *raw, buffer, kMaxPacketSize);
@@ -5985,28 +3894,6 @@ TEST_P(QuicFramerTest, EncryptPacketWithBothVersionFlagAndMultipathFlag) {
// packet number
0xBC, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // private flags
- 0x00,
-
- // redundancy
- 'a', 'b', 'c', 'd',
- 'e', 'f', 'g', 'h',
- 'i', 'j', 'k', 'l',
- 'm', 'n', 'o', 'p',
- };
- unsigned char packet_34[] = {
- // public flags (version, 8 byte connection_id)
- 0x79,
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // version tag
- 'Q', '.', '1', '0',
- // path_id
- 0x42,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
// redundancy
'a', 'b', 'c', 'd',
@@ -6017,11 +3904,9 @@ TEST_P(QuicFramerTest, EncryptPacketWithBothVersionFlagAndMultipathFlag) {
// clang-format on
std::unique_ptr<QuicPacket> raw(new QuicPacket(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false, PACKET_8BYTE_CONNECTION_ID, kIncludeVersion, kIncludePathId,
- !kIncludeDiversificationNonce, PACKET_6BYTE_PACKET_NUMBER));
+ AsChars(packet), arraysize(packet), false, PACKET_8BYTE_CONNECTION_ID,
+ kIncludeVersion, kIncludePathId, !kIncludeDiversificationNonce,
+ PACKET_6BYTE_PACKET_NUMBER));
char buffer[kMaxPacketSize];
size_t encrypted_length = framer_.EncryptPayload(
ENCRYPTION_NONE, kPathId, packet_number, *raw, buffer, kMaxPacketSize);
@@ -6035,16 +3920,11 @@ TEST_P(QuicFramerTest, AckTruncationLargePacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.packet_number = kPacketNumber;
QuicAckFrame ack_frame;
// Create a packet with just the ack.
- if (framer_.version() <= QUIC_VERSION_33) {
- ack_frame = MakeAckFrameWithNackRanges(300, 0u);
- } else {
- ack_frame = MakeAckFrameWithAckBlocks(300, 0u);
- }
+ ack_frame = MakeAckFrameWithAckBlocks(300, 0u);
QuicFrame frame;
frame.type = ACK_FRAME;
frame.ack_frame = &ack_frame;
@@ -6064,21 +3944,10 @@ TEST_P(QuicFramerTest, AckTruncationLargePacket) {
QuicEncryptedPacket(buffer, encrypted_length, false)));
ASSERT_EQ(1u, visitor_.ack_frames_.size());
QuicAckFrame& processed_ack_frame = *visitor_.ack_frames_[0].get();
- if (framer_.version() <= QUIC_VERSION_33) {
- EXPECT_TRUE(processed_ack_frame.is_truncated);
- EXPECT_EQ(510u, processed_ack_frame.largest_observed);
- EXPECT_TRUE(processed_ack_frame.missing);
- ASSERT_EQ(255u, processed_ack_frame.packets.NumPacketsSlow());
- EXPECT_EQ(1u, processed_ack_frame.packets.Min());
- EXPECT_EQ(509u, processed_ack_frame.packets.Max());
- } else {
- EXPECT_FALSE(processed_ack_frame.is_truncated);
- EXPECT_FALSE(processed_ack_frame.missing);
- EXPECT_EQ(600u, processed_ack_frame.largest_observed);
- ASSERT_EQ(256u, processed_ack_frame.packets.NumPacketsSlow());
- EXPECT_EQ(90u, processed_ack_frame.packets.Min());
- EXPECT_EQ(600u, processed_ack_frame.packets.Max());
- }
+ EXPECT_EQ(600u, processed_ack_frame.largest_observed);
+ ASSERT_EQ(256u, processed_ack_frame.packets.NumPacketsSlow());
+ EXPECT_EQ(90u, processed_ack_frame.packets.Min());
+ EXPECT_EQ(600u, processed_ack_frame.packets.Max());
}
TEST_P(QuicFramerTest, AckTruncationSmallPacket) {
@@ -6086,16 +3955,11 @@ TEST_P(QuicFramerTest, AckTruncationSmallPacket) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = false;
header.packet_number = kPacketNumber;
// Create a packet with just the ack.
QuicAckFrame ack_frame;
- if (framer_.version() <= QUIC_VERSION_33) {
- ack_frame = MakeAckFrameWithNackRanges(300, 0u);
- } else {
- ack_frame = MakeAckFrameWithAckBlocks(300, 0u);
- }
+ ack_frame = MakeAckFrameWithAckBlocks(300, 0u);
QuicFrame frame;
frame.type = ACK_FRAME;
frame.ack_frame = &ack_frame;
@@ -6116,21 +3980,10 @@ TEST_P(QuicFramerTest, AckTruncationSmallPacket) {
QuicEncryptedPacket(buffer, encrypted_length, false)));
ASSERT_EQ(1u, visitor_.ack_frames_.size());
QuicAckFrame& processed_ack_frame = *visitor_.ack_frames_[0].get();
- if (framer_.version() <= QUIC_VERSION_33) {
- EXPECT_TRUE(processed_ack_frame.is_truncated);
- EXPECT_EQ(476u, processed_ack_frame.largest_observed);
- EXPECT_TRUE(processed_ack_frame.missing);
- ASSERT_EQ(238u, processed_ack_frame.packets.NumPacketsSlow());
- EXPECT_EQ(1u, processed_ack_frame.packets.Min());
- EXPECT_EQ(475u, processed_ack_frame.packets.Max());
- } else {
- EXPECT_FALSE(processed_ack_frame.is_truncated);
- EXPECT_EQ(600u, processed_ack_frame.largest_observed);
- EXPECT_FALSE(processed_ack_frame.missing);
- ASSERT_EQ(239u, processed_ack_frame.packets.NumPacketsSlow());
- EXPECT_EQ(124u, processed_ack_frame.packets.Min());
- EXPECT_EQ(600u, processed_ack_frame.packets.Max());
- }
+ EXPECT_EQ(600u, processed_ack_frame.largest_observed);
+ ASSERT_EQ(239u, processed_ack_frame.packets.NumPacketsSlow());
+ EXPECT_EQ(124u, processed_ack_frame.packets.Min());
+ EXPECT_EQ(600u, processed_ack_frame.packets.Max());
}
TEST_P(QuicFramerTest, CleanTruncation) {
@@ -6138,7 +3991,6 @@ TEST_P(QuicFramerTest, CleanTruncation) {
header.public_header.connection_id = kConnectionId;
header.public_header.reset_flag = false;
header.public_header.version_flag = false;
- header.entropy_flag = true;
header.packet_number = kPacketNumber;
QuicAckFrame ack_frame;
@@ -6179,97 +4031,11 @@ TEST_P(QuicFramerTest, CleanTruncation) {
ASSERT_TRUE(raw_ack_packet != nullptr);
}
-TEST_P(QuicFramerTest, EntropyFlagTest) {
- if (framer_.version() > QUIC_VERSION_33) {
- return;
- }
- // clang-format off
- unsigned char packet[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // private flags (Entropy)
- 0x01,
-
- // frame type (stream frame with fin and no length)
- 0xDF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
- };
- // clang-format on
-
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
- EXPECT_TRUE(framer_.ProcessPacket(encrypted));
- EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
- ASSERT_TRUE(visitor_.header_.get());
- EXPECT_TRUE(visitor_.header_->entropy_flag);
- EXPECT_EQ(1 << 4, visitor_.header_->entropy_hash);
-};
-
TEST_P(QuicFramerTest, StopPacketProcessing) {
// clang-format off
unsigned char packet[] = {
// public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
- // connection_id
- 0x10, 0x32, 0x54, 0x76,
- 0x98, 0xBA, 0xDC, 0xFE,
- // packet number
- 0xBC, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // Entropy
- 0x01,
-
- // frame type (stream frame with fin)
- 0xFF,
- // stream id
- 0x04, 0x03, 0x02, 0x01,
- // offset
- 0x54, 0x76, 0x10, 0x32,
- 0xDC, 0xFE, 0x98, 0xBA,
- // data length
- 0x0c, 0x00,
- // data
- 'h', 'e', 'l', 'l',
- 'o', ' ', 'w', 'o',
- 'r', 'l', 'd', '!',
-
- // frame type (ack frame)
- 0x40,
- // entropy hash of sent packets till least awaiting - 1.
- 0x14,
- // least packet number awaiting an ack
- 0xA0, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // entropy hash of all received packets.
- 0x43,
- // largest observed packet number
- 0xBF, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- // num missing packets
- 0x01,
- // missing packet
- 0xBE, 0x9A, 0x78, 0x56,
- 0x34, 0x12,
- };
- unsigned char packet_34[] = {
- // public flags (8 byte connection_id)
- static_cast<unsigned char>(
- framer_.version() > QUIC_VERSION_32 ? 0x38 : 0x3C),
+ 0x38,
// connection_id
0x10, 0x32, 0x54, 0x76,
0x98, 0xBA, 0xDC, 0xFE,
@@ -6293,13 +4059,9 @@ TEST_P(QuicFramerTest, StopPacketProcessing) {
// frame type (ack frame)
0x40,
- // entropy hash of sent packets till least awaiting - 1.
- 0x14,
// least packet number awaiting an ack
0xA0, 0x9A, 0x78, 0x56,
0x34, 0x12,
- // entropy hash of all received packets.
- 0x43,
// largest observed packet number
0xBF, 0x9A, 0x78, 0x56,
0x34, 0x12,
@@ -6322,11 +4084,7 @@ TEST_P(QuicFramerTest, StopPacketProcessing) {
EXPECT_CALL(visitor, OnUnauthenticatedHeader(_)).WillOnce(Return(true));
EXPECT_CALL(visitor, OnDecryptedPacket(_));
- QuicEncryptedPacket encrypted(
- AsChars(framer_.version() <= QUIC_VERSION_33 ? packet : packet_34),
- framer_.version() <= QUIC_VERSION_33 ? arraysize(packet)
- : arraysize(packet_34),
- false);
+ QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
EXPECT_TRUE(framer_.ProcessPacket(encrypted));
EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
}
@@ -6398,11 +4156,7 @@ TEST_P(QuicFramerTest, ConstructMisFramedEncryptedPacket) {
EXPECT_CALL(visitor, OnUnauthenticatedHeader(_))
.Times(1)
.WillOnce(Return(true));
- if (framer_.version() <= QUIC_VERSION_33) {
- EXPECT_CALL(visitor, OnPacketHeader(_)).Times(0);
- } else {
- EXPECT_CALL(visitor, OnPacketHeader(_)).Times(1);
- }
+ EXPECT_CALL(visitor, OnPacketHeader(_)).Times(1);
EXPECT_CALL(visitor, OnDecryptedPacket(_)).Times(1);
EXPECT_CALL(visitor, OnError(_)).Times(1);
EXPECT_CALL(visitor, OnStreamFrame(_)).Times(0);
@@ -6410,11 +4164,7 @@ TEST_P(QuicFramerTest, ConstructMisFramedEncryptedPacket) {
EXPECT_CALL(visitor, OnPacketComplete()).Times(0);
EXPECT_FALSE(framer_.ProcessPacket(*packet));
- if (framer_.version() <= QUIC_VERSION_33) {
- EXPECT_EQ(QUIC_INVALID_PACKET_HEADER, framer_.error());
- } else {
- EXPECT_EQ(QUIC_INVALID_FRAME_DATA, framer_.error());
- }
+ EXPECT_EQ(QUIC_INVALID_FRAME_DATA, framer_.error());
}
// Tests for fuzzing with Dr. Fuzz
« no previous file with comments | « net/quic/core/quic_framer.cc ('k') | net/quic/core/quic_multipath_sent_packet_manager_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698