Index: trunk/src/net/quic/quic_framer_test.cc |
=================================================================== |
--- trunk/src/net/quic/quic_framer_test.cc (revision 204061) |
+++ trunk/src/net/quic/quic_framer_test.cc (working copy) |
@@ -57,19 +57,13 @@ |
// Index into the private flags offset in the data packet header. |
size_t GetPrivateFlagsOffset(QuicGuidLength guid_length, bool include_version) { |
return GetSequenceNumberOffset(guid_length, include_version) + |
- PACKET_6BYTE_SEQUENCE_NUMBER; |
+ kSequenceNumberSize; |
} |
size_t GetPrivateFlagsOffset(bool include_version) { |
return GetPrivateFlagsOffset(PACKET_8BYTE_GUID, include_version); |
} |
-size_t GetPrivateFlagsOffset(bool include_version, |
- QuicSequenceNumberLength sequence_number_length) { |
- return GetSequenceNumberOffset(PACKET_8BYTE_GUID, include_version) + |
- sequence_number_length; |
-} |
- |
// Index into the fec group offset in the header. |
size_t GetFecGroupOffset(QuicGuidLength guid_length, bool include_version) { |
return GetPrivateFlagsOffset(guid_length, include_version) + |
@@ -81,12 +75,6 @@ |
kPrivateFlagsSize; |
} |
-size_t GetFecGroupOffset(bool include_version, |
- QuicSequenceNumberLength sequence_number_length) { |
- return GetPrivateFlagsOffset(include_version, sequence_number_length) + |
- kPrivateFlagsSize; |
-} |
- |
// Index into the nonce proof of the public reset packet. |
// Public resets always have full guids. |
const size_t kPublicResetPacketNonceProofOffset = |
@@ -183,7 +171,6 @@ |
public: |
TestQuicVisitor() |
: error_count_(0), |
- version_mismatch_(0), |
packet_count_(0), |
frame_count_(0), |
fec_count_(0), |
@@ -222,8 +209,7 @@ |
} |
virtual bool OnProtocolVersionMismatch(QuicTag version) OVERRIDE { |
- DLOG(INFO) << "QuicFramer Version Mismatch, version: " << version; |
- version_mismatch_++; |
+ DCHECK(false); |
return true; |
} |
@@ -284,7 +270,6 @@ |
// Counters from the visitor_ callbacks. |
int error_count_; |
- int version_mismatch_; |
int packet_count_; |
int frame_count_; |
int fec_count_; |
@@ -351,21 +336,18 @@ |
return false; |
} |
if (QuicFramer::GetAssociatedDataFromEncryptedPacket( |
- encrypted, PACKET_8BYTE_GUID, |
- includes_version, PACKET_6BYTE_SEQUENCE_NUMBER) != |
- decrypter_->associated_data_) { |
+ encrypted, PACKET_8BYTE_GUID, includes_version) != |
+ decrypter_->associated_data_) { |
LOG(ERROR) << "Decrypted incorrect associated data. expected " |
<< QuicFramer::GetAssociatedDataFromEncryptedPacket( |
- encrypted, PACKET_8BYTE_GUID, |
- includes_version, PACKET_6BYTE_SEQUENCE_NUMBER) |
+ encrypted, PACKET_8BYTE_GUID, includes_version) |
<< " actual: " << decrypter_->associated_data_; |
return false; |
} |
StringPiece ciphertext(encrypted.AsStringPiece().substr( |
- GetStartOfEncryptedData(PACKET_8BYTE_GUID, includes_version, |
- PACKET_6BYTE_SEQUENCE_NUMBER))); |
+ GetStartOfEncryptedData(PACKET_8BYTE_GUID, includes_version))); |
if (ciphertext != decrypter_->ciphertext_) { |
- LOG(ERROR) << "Decrypted incorrect ciphertext data. expected " |
+ LOG(ERROR) << "Decrypted incorrect chipertext data. expected " |
<< ciphertext << " actual: " |
<< decrypter_->ciphertext_; |
return false; |
@@ -402,9 +384,9 @@ |
QuicFramerPeer::SetLastSequenceNumber(&framer_, last_sequence_number); |
EXPECT_EQ(expected_sequence_number, |
QuicFramerPeer::CalculatePacketSequenceNumberFromWire( |
- &framer_, PACKET_6BYTE_SEQUENCE_NUMBER, wire_sequence_number)) |
+ &framer_, wire_sequence_number)) |
<< "last_sequence_number: " << last_sequence_number |
- << " wire_sequence_number: " << wire_sequence_number; |
+ << "wire_sequence_number: " << wire_sequence_number; |
} |
test::TestEncrypter* encrypter_; |
@@ -499,11 +481,9 @@ |
// Cases where the last number was close to the end of the range |
for (uint64 i = 0; i < 10; i++) { |
- // Subtract 1, because the expected next sequence number is 1 more than the |
- // last sequence number. |
- QuicPacketSequenceNumber last = max_number - i - 1; |
+ QuicPacketSequenceNumber last = max_number - i; |
- // Small numbers should not wrap, because they have nowhere to go. |
+ // Small numbers should not wrap (because they have nowhere to go. |
for (uint64 j = 0; j < 10; j++) { |
CheckCalculatePacketSequenceNumber(max_epoch + j, last); |
} |
@@ -526,7 +506,7 @@ |
TEST_F(QuicFramerTest, LargePacket) { |
unsigned char packet[kMaxPacketSize + 1] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -538,11 +518,9 @@ |
}; |
memset(packet + GetPacketHeaderSize( |
- PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), 0, |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), 0, |
kMaxPacketSize - GetPacketHeaderSize( |
- PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP) + 1); |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP) + 1); |
QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); |
EXPECT_FALSE(framer_.ProcessPacket(encrypted)); |
@@ -558,7 +536,7 @@ |
TEST_F(QuicFramerTest, PacketHeader) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -587,9 +565,8 @@ |
// Now test framing boundaries |
for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
+ i < GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP); ++i) { |
string expected_error; |
if (i < kGuidOffset) { |
expected_error = "Unable to read public flags."; |
@@ -612,7 +589,7 @@ |
unsigned char packet[] = { |
// public flags (4 byte guid) |
- 0x38, |
+ 0x08, |
// guid |
0x10, 0x32, 0x54, 0x76, |
// packet sequence number |
@@ -640,9 +617,8 @@ |
// Now test framing boundaries |
for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_4BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
+ i < GetPacketHeaderSize( |
+ PACKET_4BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP); ++i) { |
string expected_error; |
if (i < kGuidOffset) { |
expected_error = "Unable to read public flags."; |
@@ -667,7 +643,7 @@ |
unsigned char packet[] = { |
// public flags (1 byte guid) |
- 0x34, |
+ 0x04, |
// guid |
0x10, |
// packet sequence number |
@@ -695,9 +671,8 @@ |
// Now test framing boundaries |
for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_1BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
+ i < GetPacketHeaderSize( |
+ PACKET_1BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP); ++i) { |
string expected_error; |
if (i < kGuidOffset) { |
expected_error = "Unable to read public flags."; |
@@ -721,7 +696,7 @@ |
unsigned char packet[] = { |
// public flags (0 byte guid) |
- 0x30, |
+ 0x00, |
// guid |
// packet sequence number |
0xBC, 0x9A, 0x78, 0x56, |
@@ -748,9 +723,8 @@ |
// Now test framing boundaries |
for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_0BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
+ i < GetPacketHeaderSize( |
+ PACKET_0BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP); ++i) { |
string expected_error; |
if (i < kGuidOffset) { |
expected_error = "Unable to read public flags."; |
@@ -771,12 +745,12 @@ |
TEST_F(QuicFramerTest, PacketHeaderWithVersionFlag) { |
unsigned char packet[] = { |
// public flags (version) |
- 0x3D, |
+ 0x0D, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
// version tag |
- 'Q', '0', '0', '6', |
+ 'Q', '0', '0', '5', |
// packet sequence number |
0xBC, 0x9A, 0x78, 0x56, |
0x34, 0x12, |
@@ -803,9 +777,8 @@ |
// Now test framing boundaries |
for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_8BYTE_GUID, kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
+ i < GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, kIncludeVersion, NOT_IN_FEC_GROUP); ++i) { |
string expected_error; |
if (i < kGuidOffset) { |
expected_error = "Unable to read public flags."; |
@@ -824,175 +797,11 @@ |
} |
} |
-TEST_F(QuicFramerTest, PacketHeaderWith4ByteSequenceNumber) { |
- QuicFramerPeer::SetLastSequenceNumber(&framer_, |
- GG_UINT64_C(0x123456789ABA)); |
- unsigned char packet[] = { |
- // public flags (8 byte guid and 4 byte sequence number) |
- 0x2C, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // packet sequence number |
- 0xBC, 0x9A, 0x78, 0x56, |
- // private flags |
- 0x00, |
- }; |
- |
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); |
- EXPECT_FALSE(framer_.ProcessPacket(encrypted)); |
- EXPECT_EQ(QUIC_INVALID_FRAME_DATA, framer_.error()); |
- ASSERT_TRUE(visitor_.header_.get()); |
- EXPECT_EQ(GG_UINT64_C(0xFEDCBA9876543210), |
- visitor_.header_->public_header.guid); |
- EXPECT_FALSE(visitor_.header_->public_header.reset_flag); |
- EXPECT_FALSE(visitor_.header_->public_header.version_flag); |
- EXPECT_FALSE(visitor_.header_->fec_flag); |
- EXPECT_FALSE(visitor_.header_->entropy_flag); |
- EXPECT_EQ(0, visitor_.header_->entropy_hash); |
- EXPECT_EQ(GG_UINT64_C(0x123456789ABC), |
- visitor_.header_->packet_sequence_number); |
- EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group); |
- EXPECT_EQ(0x00u, visitor_.header_->fec_group); |
- |
- // Now test framing boundaries |
- for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_4BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
- string expected_error; |
- if (i < kGuidOffset) { |
- expected_error = "Unable to read public flags."; |
- } else if (i < GetSequenceNumberOffset(!kIncludeVersion)) { |
- expected_error = "Unable to read GUID."; |
- } else if (i < GetPrivateFlagsOffset(!kIncludeVersion, |
- PACKET_4BYTE_SEQUENCE_NUMBER)) { |
- expected_error = "Unable to read sequence number."; |
- } else if (i < GetFecGroupOffset(!kIncludeVersion, |
- PACKET_4BYTE_SEQUENCE_NUMBER)) { |
- expected_error = "Unable to read private flags."; |
- } else { |
- expected_error = "Unable to read first fec protected packet offset."; |
- } |
- CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER); |
- } |
-} |
- |
-TEST_F(QuicFramerTest, PacketHeaderWith2ByteSequenceNumber) { |
- QuicFramerPeer::SetLastSequenceNumber(&framer_, |
- GG_UINT64_C(0x123456789ABA)); |
- |
- unsigned char packet[] = { |
- // public flags (8 byte guid and 2 byte sequence number) |
- 0x1C, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // packet sequence number |
- 0xBC, 0x9A, |
- // private flags |
- 0x00, |
- }; |
- |
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); |
- EXPECT_FALSE(framer_.ProcessPacket(encrypted)); |
- EXPECT_EQ(QUIC_INVALID_FRAME_DATA, framer_.error()); |
- ASSERT_TRUE(visitor_.header_.get()); |
- EXPECT_EQ(GG_UINT64_C(0xFEDCBA9876543210), |
- visitor_.header_->public_header.guid); |
- EXPECT_FALSE(visitor_.header_->public_header.reset_flag); |
- EXPECT_FALSE(visitor_.header_->public_header.version_flag); |
- EXPECT_FALSE(visitor_.header_->fec_flag); |
- EXPECT_FALSE(visitor_.header_->entropy_flag); |
- EXPECT_EQ(0, visitor_.header_->entropy_hash); |
- EXPECT_EQ(GG_UINT64_C(0x123456789ABC), |
- visitor_.header_->packet_sequence_number); |
- EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group); |
- EXPECT_EQ(0x00u, visitor_.header_->fec_group); |
- |
- // Now test framing boundaries |
- for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_2BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
- string expected_error; |
- if (i < kGuidOffset) { |
- expected_error = "Unable to read public flags."; |
- } else if (i < GetSequenceNumberOffset(!kIncludeVersion)) { |
- expected_error = "Unable to read GUID."; |
- } else if (i < GetPrivateFlagsOffset(!kIncludeVersion, |
- PACKET_2BYTE_SEQUENCE_NUMBER)) { |
- expected_error = "Unable to read sequence number."; |
- } else if (i < GetFecGroupOffset(!kIncludeVersion, |
- PACKET_2BYTE_SEQUENCE_NUMBER)) { |
- expected_error = "Unable to read private flags."; |
- } else { |
- expected_error = "Unable to read first fec protected packet offset."; |
- } |
- CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER); |
- } |
-} |
- |
-TEST_F(QuicFramerTest, PacketHeaderWith1ByteSequenceNumber) { |
- QuicFramerPeer::SetLastSequenceNumber(&framer_, |
- GG_UINT64_C(0x123456789ABA)); |
- |
- unsigned char packet[] = { |
- // public flags (8 byte guid and 1 byte sequence number) |
- 0x0C, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // packet sequence number |
- 0xBC, |
- // private flags |
- 0x00, |
- }; |
- |
- QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); |
- EXPECT_FALSE(framer_.ProcessPacket(encrypted)); |
- EXPECT_EQ(QUIC_INVALID_FRAME_DATA, framer_.error()); |
- ASSERT_TRUE(visitor_.header_.get()); |
- EXPECT_EQ(GG_UINT64_C(0xFEDCBA9876543210), |
- visitor_.header_->public_header.guid); |
- EXPECT_FALSE(visitor_.header_->public_header.reset_flag); |
- EXPECT_FALSE(visitor_.header_->public_header.version_flag); |
- EXPECT_FALSE(visitor_.header_->fec_flag); |
- EXPECT_FALSE(visitor_.header_->entropy_flag); |
- EXPECT_EQ(0, visitor_.header_->entropy_hash); |
- EXPECT_EQ(GG_UINT64_C(0x123456789ABC), |
- visitor_.header_->packet_sequence_number); |
- EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group); |
- EXPECT_EQ(0x00u, visitor_.header_->fec_group); |
- |
- // Now test framing boundaries |
- for (size_t i = 0; |
- i < GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_1BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- ++i) { |
- string expected_error; |
- if (i < kGuidOffset) { |
- expected_error = "Unable to read public flags."; |
- } else if (i < GetSequenceNumberOffset(!kIncludeVersion)) { |
- expected_error = "Unable to read GUID."; |
- } else if (i < GetPrivateFlagsOffset(!kIncludeVersion, |
- PACKET_1BYTE_SEQUENCE_NUMBER)) { |
- expected_error = "Unable to read sequence number."; |
- } else if (i < GetFecGroupOffset(!kIncludeVersion, |
- PACKET_1BYTE_SEQUENCE_NUMBER)) { |
- expected_error = "Unable to read private flags."; |
- } else { |
- expected_error = "Unable to read first fec protected packet offset."; |
- } |
- CheckProcessingFails(packet, i, expected_error, QUIC_INVALID_PACKET_HEADER); |
- } |
-} |
- |
TEST_F(QuicFramerTest, InvalidPublicFlag) { |
unsigned char packet[] = { |
- // public flags |
- 0x40, |
+ // public flags (8 byte guid) |
+ 0x10, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1026,75 +835,10 @@ |
QUIC_INVALID_PACKET_HEADER); |
}; |
-TEST_F(QuicFramerTest, InvalidPublicFlagWithMatchingVersions) { |
- unsigned char packet[] = { |
- // public flags (8 byte guid and version flag and an unknown flag) |
- 0x4D, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // version tag |
- 'Q', '0', '0', '6', |
- // packet sequence number |
- 0xBC, 0x9A, 0x78, 0x56, |
- 0x34, 0x12, |
- // private flags |
- 0x00, |
- |
- // frame count |
- 0x01, |
- // frame type (stream frame) |
- 0x01, |
- // stream id |
- 0x04, 0x03, 0x02, 0x01, |
- // fin |
- 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', '!', |
- }; |
- CheckProcessingFails(packet, |
- arraysize(packet), |
- "Illegal public flags value.", |
- QUIC_INVALID_PACKET_HEADER); |
-}; |
- |
-TEST_F(QuicFramerTest, LargePublicFlagWithMismatchedVersions) { |
- unsigned char packet[] = { |
- // public flags (8 byte guid, version flag and an unknown flag) |
- 0x7D, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // version tag |
- 'Q', '0', '0', '0', |
- // packet sequence number |
- 0xBC, 0x9A, 0x78, 0x56, |
- 0x34, 0x12, |
- // private flags |
- 0x00, |
- |
- // frame type (padding frame) |
- 0x00, |
- }; |
- 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_EQ(0, visitor_.frame_count_); |
- EXPECT_EQ(1, visitor_.version_mismatch_); |
-}; |
- |
TEST_F(QuicFramerTest, InvalidPrivateFlag) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1131,7 +875,7 @@ |
TEST_F(QuicFramerTest, PaddingFrame) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1166,15 +910,15 @@ |
// A packet with no frames is not acceptable. |
CheckProcessingFails( |
packet, |
- GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
"Unable to read frame type.", QUIC_INVALID_FRAME_DATA); |
} |
TEST_F(QuicFramerTest, StreamFrame) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1235,8 +979,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_FRAME_DATA); |
} |
} |
@@ -1244,12 +988,12 @@ |
TEST_F(QuicFramerTest, StreamFrameWithVersion) { |
unsigned char packet[] = { |
// public flags (version, 8 byte guid) |
- 0x3D, |
+ 0x0D, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
// version tag |
- 'Q', '0', '0', '6', |
+ 'Q', '0', '0', '5', |
// packet sequence number |
0xBC, 0x9A, 0x78, 0x56, |
0x34, 0x12, |
@@ -1308,9 +1052,8 @@ |
expected_error = "Unable to read frame data."; |
} |
CheckProcessingFails( |
- packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ packet, i + GetPacketHeaderSize(PACKET_8BYTE_GUID, kIncludeVersion, |
+ NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_FRAME_DATA); |
} |
} |
@@ -1320,7 +1063,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1419,7 +1162,7 @@ |
TEST_F(QuicFramerTest, StreamFrameInFecGroup) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1457,10 +1200,11 @@ |
EXPECT_EQ(IN_FEC_GROUP, visitor_.header_->is_in_fec_group); |
EXPECT_EQ(GG_UINT64_C(0x341256789ABA), |
visitor_.header_->fec_group); |
- const size_t fec_offset = GetStartOfFecProtectedData( |
- PACKET_8BYTE_GUID, !kIncludeVersion, PACKET_6BYTE_SEQUENCE_NUMBER); |
EXPECT_EQ( |
- string(AsChars(packet) + fec_offset, arraysize(packet) - fec_offset), |
+ string(AsChars(packet) + GetStartOfFecProtectedData(PACKET_8BYTE_GUID, |
+ !kIncludeVersion), |
+ arraysize(packet) - GetStartOfFecProtectedData(PACKET_8BYTE_GUID, |
+ !kIncludeVersion)), |
visitor_.fec_protected_payload_); |
ASSERT_EQ(1u, visitor_.stream_frames_.size()); |
@@ -1475,7 +1219,7 @@ |
TEST_F(QuicFramerTest, AckFrame) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1528,17 +1272,17 @@ |
const size_t kSentEntropyOffset = kQuicFrameTypeSize; |
const size_t kLeastUnackedOffset = kSentEntropyOffset + kQuicEntropyHashSize; |
const size_t kReceivedEntropyOffset = kLeastUnackedOffset + |
- PACKET_6BYTE_SEQUENCE_NUMBER; |
+ kSequenceNumberSize; |
const size_t kLargestObservedOffset = kReceivedEntropyOffset + |
kQuicEntropyHashSize; |
const size_t kMissingDeltaTimeOffset = kLargestObservedOffset + |
- PACKET_6BYTE_SEQUENCE_NUMBER; |
+ kSequenceNumberSize; |
const size_t kNumMissingPacketOffset = kMissingDeltaTimeOffset + |
kQuicDeltaTimeLargestObservedSize; |
const size_t kMissingPacketsOffset = kNumMissingPacketOffset + |
kNumberOfMissingPacketsSize; |
// Now test framing boundaries |
- const size_t missing_packets_size = 1 * PACKET_6BYTE_SEQUENCE_NUMBER; |
+ const size_t missing_packets_size = 1 * kSequenceNumberSize; |
for (size_t i = 0; |
i < QuicFramer::GetMinAckFrameSize() + missing_packets_size; ++i) { |
string expected_error; |
@@ -1561,8 +1305,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_FRAME_DATA); |
} |
} |
@@ -1570,7 +1314,7 @@ |
TEST_F(QuicFramerTest, CongestionFeedbackFrameTCP) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1620,8 +1364,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_FRAME_DATA); |
} |
} |
@@ -1629,7 +1373,7 @@ |
TEST_F(QuicFramerTest, CongestionFeedbackFrameInterArrival) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1718,8 +1462,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_FRAME_DATA); |
} |
} |
@@ -1727,7 +1471,7 @@ |
TEST_F(QuicFramerTest, CongestionFeedbackFrameFixRate) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1772,8 +1516,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_FRAME_DATA); |
} |
} |
@@ -1782,7 +1526,7 @@ |
TEST_F(QuicFramerTest, CongestionFeedbackFrameInvalidFeedback) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1807,7 +1551,7 @@ |
TEST_F(QuicFramerTest, RstStreamFrame) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1857,8 +1601,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_RST_STREAM_DATA); |
} |
} |
@@ -1866,7 +1610,7 @@ |
TEST_F(QuicFramerTest, ConnectionCloseFrame) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -1944,8 +1688,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_CONNECTION_CLOSE_DATA); |
} |
} |
@@ -1953,7 +1697,7 @@ |
TEST_F(QuicFramerTest, GoAwayFrame) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2005,8 +1749,8 @@ |
} |
CheckProcessingFails( |
packet, |
- i + GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP), |
+ i + GetPacketHeaderSize( |
+ PACKET_8BYTE_GUID, !kIncludeVersion, NOT_IN_FEC_GROUP), |
expected_error, QUIC_INVALID_GOAWAY_DATA); |
} |
} |
@@ -2014,7 +1758,7 @@ |
TEST_F(QuicFramerTest, PublicResetPacket) { |
unsigned char packet[] = { |
// public flags (public reset, 8 byte guid) |
- 0x3E, |
+ 0x0E, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2066,12 +1810,12 @@ |
TEST_F(QuicFramerTest, VersionNegotiationPacket) { |
unsigned char packet[] = { |
// public flags (version, 8 byte guid) |
- 0x3D, |
+ 0x0D, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
// version tag |
- 'Q', '0', '0', '6', |
+ 'Q', '0', '0', '5', |
'Q', '2', '.', '0', |
}; |
@@ -2103,7 +1847,7 @@ |
TEST_F(QuicFramerTest, FecPacket) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2154,7 +1898,7 @@ |
unsigned char packet[kMaxPacketSize] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2168,9 +1912,8 @@ |
0x00, |
}; |
- uint64 header_size = |
- GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
+ uint64 header_size = GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
+ NOT_IN_FEC_GROUP); |
memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); |
scoped_ptr<QuicPacket> data( |
@@ -2182,141 +1925,6 @@ |
AsChars(packet), arraysize(packet)); |
} |
-TEST_F(QuicFramerTest, Construct4ByteSequenceNumberPaddingFramePacket) { |
- QuicPacketHeader header; |
- header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); |
- header.public_header.reset_flag = false; |
- header.public_header.version_flag = false; |
- header.fec_flag = false; |
- header.entropy_flag = false; |
- header.public_header.sequence_number_length = PACKET_4BYTE_SEQUENCE_NUMBER; |
- header.packet_sequence_number = GG_UINT64_C(0x123456789ABC); |
- header.fec_group = 0; |
- |
- QuicPaddingFrame padding_frame; |
- |
- QuicFrames frames; |
- frames.push_back(QuicFrame(&padding_frame)); |
- |
- unsigned char packet[kMaxPacketSize] = { |
- // public flags (8 byte guid and 4 byte sequence number) |
- 0x2C, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // packet sequence number |
- 0xBC, 0x9A, 0x78, 0x56, |
- // private flags |
- 0x00, |
- |
- // frame type (padding frame) |
- 0x00, |
- }; |
- |
- uint64 header_size = |
- GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_4BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); |
- |
- scoped_ptr<QuicPacket> data( |
- framer_.ConstructFrameDataPacket(header, frames).packet); |
- ASSERT_TRUE(data != NULL); |
- |
- test::CompareCharArraysWithHexError("constructed packet", |
- data->data(), data->length(), |
- AsChars(packet), arraysize(packet)); |
-} |
- |
-TEST_F(QuicFramerTest, Construct2ByteSequenceNumberPaddingFramePacket) { |
- QuicPacketHeader header; |
- header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); |
- header.public_header.reset_flag = false; |
- header.public_header.version_flag = false; |
- header.fec_flag = false; |
- header.entropy_flag = false; |
- header.public_header.sequence_number_length = PACKET_2BYTE_SEQUENCE_NUMBER; |
- header.packet_sequence_number = GG_UINT64_C(0x123456789ABC); |
- header.fec_group = 0; |
- |
- QuicPaddingFrame padding_frame; |
- |
- QuicFrames frames; |
- frames.push_back(QuicFrame(&padding_frame)); |
- |
- unsigned char packet[kMaxPacketSize] = { |
- // public flags (8 byte guid and 2 byte sequence number) |
- 0x1C, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // packet sequence number |
- 0xBC, 0x9A, |
- // private flags |
- 0x00, |
- |
- // frame type (padding frame) |
- 0x00, |
- }; |
- |
- uint64 header_size = |
- GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_2BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); |
- |
- scoped_ptr<QuicPacket> data( |
- framer_.ConstructFrameDataPacket(header, frames).packet); |
- ASSERT_TRUE(data != NULL); |
- |
- test::CompareCharArraysWithHexError("constructed packet", |
- data->data(), data->length(), |
- AsChars(packet), arraysize(packet)); |
-} |
- |
-TEST_F(QuicFramerTest, Construct1ByteSequenceNumberPaddingFramePacket) { |
- QuicPacketHeader header; |
- header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); |
- header.public_header.reset_flag = false; |
- header.public_header.version_flag = false; |
- header.fec_flag = false; |
- header.entropy_flag = false; |
- header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; |
- header.packet_sequence_number = GG_UINT64_C(0x123456789ABC); |
- header.fec_group = 0; |
- |
- QuicPaddingFrame padding_frame; |
- |
- QuicFrames frames; |
- frames.push_back(QuicFrame(&padding_frame)); |
- |
- unsigned char packet[kMaxPacketSize] = { |
- // public flags (8 byte guid and 1 byte sequence number) |
- 0x0C, |
- // guid |
- 0x10, 0x32, 0x54, 0x76, |
- 0x98, 0xBA, 0xDC, 0xFE, |
- // packet sequence number |
- 0xBC, |
- // private flags |
- 0x00, |
- |
- // frame type (padding frame) |
- 0x00, |
- }; |
- |
- uint64 header_size = |
- GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_1BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); |
- |
- scoped_ptr<QuicPacket> data( |
- framer_.ConstructFrameDataPacket(header, frames).packet); |
- ASSERT_TRUE(data != NULL); |
- |
- test::CompareCharArraysWithHexError("constructed packet", |
- data->data(), data->length(), |
- AsChars(packet), arraysize(packet)); |
-} |
- |
TEST_F(QuicFramerTest, ConstructStreamFramePacket) { |
QuicPacketHeader header; |
header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); |
@@ -2338,7 +1946,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2395,12 +2003,12 @@ |
unsigned char packet[] = { |
// public flags (version, 8 byte guid) |
- 0x3D, |
+ 0x0D, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
// version tag |
- 'Q', '0', '0', '6', |
+ 'Q', '0', '0', '5', |
// packet sequence number |
0xBC, 0x9A, 0x78, 0x56, |
0x34, 0x12, |
@@ -2442,12 +2050,12 @@ |
unsigned char packet[] = { |
// public flags (version, 8 byte guid) |
- 0x3D, |
+ 0x0D, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
// version tag |
- 'Q', '0', '0', '6', |
+ 'Q', '0', '0', '5', |
'Q', '2', '.', '0', |
}; |
@@ -2487,7 +2095,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2547,7 +2155,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2606,7 +2214,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2669,7 +2277,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2735,7 +2343,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2798,7 +2406,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2869,7 +2477,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2913,7 +2521,7 @@ |
unsigned char packet[] = { |
// public flags (public reset, 8 byte GUID) |
- 0x3E, |
+ 0x0E, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2951,7 +2559,7 @@ |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -2983,7 +2591,7 @@ |
QuicPacketSequenceNumber sequence_number = GG_UINT64_C(0x123456789ABC); |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -3004,8 +2612,7 @@ |
scoped_ptr<QuicPacket> raw( |
QuicPacket::NewDataPacket(AsChars(packet), arraysize(packet), false, |
- PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER)); |
+ PACKET_8BYTE_GUID, !kIncludeVersion)); |
scoped_ptr<QuicEncryptedPacket> encrypted( |
framer_.EncryptPacket(ENCRYPTION_NONE, sequence_number, *raw)); |
@@ -3017,7 +2624,7 @@ |
QuicPacketSequenceNumber sequence_number = GG_UINT64_C(0x123456789ABC); |
unsigned char packet[] = { |
// public flags (version, 8 byte guid) |
- 0x3D, |
+ 0x0D, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -3040,8 +2647,7 @@ |
scoped_ptr<QuicPacket> raw( |
QuicPacket::NewDataPacket(AsChars(packet), arraysize(packet), false, |
- PACKET_8BYTE_GUID, kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER)); |
+ PACKET_8BYTE_GUID, kIncludeVersion)); |
scoped_ptr<QuicEncryptedPacket> encrypted( |
framer_.EncryptPacket(ENCRYPTION_NONE, sequence_number, *raw)); |
@@ -3210,7 +2816,7 @@ |
TEST_F(QuicFramerTest, EntropyFlagTest) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -3249,7 +2855,7 @@ |
TEST_F(QuicFramerTest, FecEntropyTest) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -3290,7 +2896,7 @@ |
TEST_F(QuicFramerTest, StopPacketProcessing) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |
@@ -3351,7 +2957,7 @@ |
TEST_F(QuicFramerTest, ConnectionCloseWithInvalidAck) { |
unsigned char packet[] = { |
// public flags (8 byte guid) |
- 0x3C, |
+ 0x0C, |
// guid |
0x10, 0x32, 0x54, 0x76, |
0x98, 0xBA, 0xDC, 0xFE, |