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

Side by Side Diff: net/quic/core/quic_framer_test.cc

Issue 2898233002: Deprecate FLAGS_quic_reloadable_flag_quic_remove_multipath_bit. (Closed)
Patch Set: Created 3 years, 7 months 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 unified diff | Download patch
« no previous file with comments | « net/quic/core/quic_framer.cc ('k') | net/quic/core/quic_packet_creator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/quic_framer.h" 5 #include "net/quic/core/quic_framer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cstdint> 8 #include <cstdint>
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 669
670 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39}; 670 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39};
671 size_t index = GetPacketIndex(framer_.version(), framer_.perspective()); 671 size_t index = GetPacketIndex(framer_.version(), framer_.perspective());
672 672
673 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet), 673 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet),
674 false); 674 false);
675 EXPECT_FALSE(framer_.ProcessPacket(encrypted)); 675 EXPECT_FALSE(framer_.ProcessPacket(encrypted));
676 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 676 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
677 ASSERT_TRUE(visitor_.header_.get()); 677 ASSERT_TRUE(visitor_.header_.get());
678 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 678 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
679 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
680 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 679 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
681 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 680 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
682 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 681 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
683 682
684 // Now test framing boundaries. 683 // Now test framing boundaries.
685 for (size_t i = 0; 684 for (size_t i = 0;
686 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 685 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
687 !kIncludeVersion, !kIncludeDiversificationNonce, 686 !kIncludeVersion, !kIncludeDiversificationNonce,
688 PACKET_6BYTE_PACKET_NUMBER); 687 PACKET_6BYTE_PACKET_NUMBER);
689 ++i) { 688 ++i) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 }; 722 };
724 // clang-format on 723 // clang-format on
725 724
726 QuicEncryptedPacket encrypted( 725 QuicEncryptedPacket encrypted(
727 AsChars(framer_.version() > QUIC_VERSION_38 ? packet39 : packet), 726 AsChars(framer_.version() > QUIC_VERSION_38 ? packet39 : packet),
728 arraysize(packet), false); 727 arraysize(packet), false);
729 EXPECT_FALSE(framer_.ProcessPacket(encrypted)); 728 EXPECT_FALSE(framer_.ProcessPacket(encrypted));
730 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 729 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
731 ASSERT_TRUE(visitor_.header_.get()); 730 ASSERT_TRUE(visitor_.header_.get());
732 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 731 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
733 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
734 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 732 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
735 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 733 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
736 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 734 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
737 735
738 // Now test framing boundaries. 736 // Now test framing boundaries.
739 for (size_t i = 0; 737 for (size_t i = 0;
740 i < GetPacketHeaderSize(framer_.version(), PACKET_0BYTE_CONNECTION_ID, 738 i < GetPacketHeaderSize(framer_.version(), PACKET_0BYTE_CONNECTION_ID,
741 !kIncludeVersion, !kIncludeDiversificationNonce, 739 !kIncludeVersion, !kIncludeDiversificationNonce,
742 PACKET_6BYTE_PACKET_NUMBER); 740 PACKET_6BYTE_PACKET_NUMBER);
743 ++i) { 741 ++i) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 803
806 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39}; 804 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39};
807 size_t index = GetPacketIndex(framer_.version(), framer_.perspective()); 805 size_t index = GetPacketIndex(framer_.version(), framer_.perspective());
808 806
809 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet), 807 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet),
810 false); 808 false);
811 EXPECT_FALSE(framer_.ProcessPacket(encrypted)); 809 EXPECT_FALSE(framer_.ProcessPacket(encrypted));
812 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 810 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
813 ASSERT_TRUE(visitor_.header_.get()); 811 ASSERT_TRUE(visitor_.header_.get());
814 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 812 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
815 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
816 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 813 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
817 EXPECT_TRUE(visitor_.header_->public_header.version_flag); 814 EXPECT_TRUE(visitor_.header_->public_header.version_flag);
818 EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]); 815 EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]);
819 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 816 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
820 817
821 // Now test framing boundaries. 818 // Now test framing boundaries.
822 for (size_t i = 0; 819 for (size_t i = 0;
823 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 820 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
824 kIncludeVersion, !kIncludeDiversificationNonce, 821 kIncludeVersion, !kIncludeDiversificationNonce,
825 PACKET_6BYTE_PACKET_NUMBER); 822 PACKET_6BYTE_PACKET_NUMBER);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
882 879
883 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39}; 880 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39};
884 size_t index = GetPacketIndex(framer_.version(), framer_.perspective()); 881 size_t index = GetPacketIndex(framer_.version(), framer_.perspective());
885 882
886 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet), 883 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet),
887 false); 884 false);
888 EXPECT_FALSE(framer_.ProcessPacket(encrypted)); 885 EXPECT_FALSE(framer_.ProcessPacket(encrypted));
889 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 886 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
890 ASSERT_TRUE(visitor_.header_.get()); 887 ASSERT_TRUE(visitor_.header_.get());
891 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 888 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
892 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
893 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 889 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
894 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 890 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
895 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 891 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
896 892
897 // Now test framing boundaries. 893 // Now test framing boundaries.
898 for (size_t i = 0; 894 for (size_t i = 0;
899 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 895 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
900 !kIncludeVersion, !kIncludeDiversificationNonce, 896 !kIncludeVersion, !kIncludeDiversificationNonce,
901 PACKET_4BYTE_PACKET_NUMBER); 897 PACKET_4BYTE_PACKET_NUMBER);
902 ++i) { 898 ++i) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 952
957 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39}; 953 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39};
958 size_t index = GetPacketIndex(framer_.version(), framer_.perspective()); 954 size_t index = GetPacketIndex(framer_.version(), framer_.perspective());
959 955
960 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet), 956 QuicEncryptedPacket encrypted(AsChars(packets[index]), arraysize(packet),
961 false); 957 false);
962 EXPECT_FALSE(framer_.ProcessPacket(encrypted)); 958 EXPECT_FALSE(framer_.ProcessPacket(encrypted));
963 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 959 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
964 ASSERT_TRUE(visitor_.header_.get()); 960 ASSERT_TRUE(visitor_.header_.get());
965 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 961 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
966 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
967 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 962 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
968 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 963 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
969 EXPECT_EQ(PACKET_2BYTE_PACKET_NUMBER, 964 EXPECT_EQ(PACKET_2BYTE_PACKET_NUMBER,
970 visitor_.header_->public_header.packet_number_length); 965 visitor_.header_->public_header.packet_number_length);
971 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 966 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
972 967
973 // Now test framing boundaries. 968 // Now test framing boundaries.
974 for (size_t i = 0; 969 for (size_t i = 0;
975 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 970 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
976 !kIncludeVersion, !kIncludeDiversificationNonce, 971 !kIncludeVersion, !kIncludeDiversificationNonce,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1018 ? packet_cid_be 1013 ? packet_cid_be
1019 : packet), 1014 : packet),
1020 QuicUtils::IsConnectionIdWireFormatBigEndian(framer_.perspective()) 1015 QuicUtils::IsConnectionIdWireFormatBigEndian(framer_.perspective())
1021 ? arraysize(packet_cid_be) 1016 ? arraysize(packet_cid_be)
1022 : arraysize(packet), 1017 : arraysize(packet),
1023 false); 1018 false);
1024 EXPECT_FALSE(framer_.ProcessPacket(encrypted)); 1019 EXPECT_FALSE(framer_.ProcessPacket(encrypted));
1025 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 1020 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
1026 ASSERT_TRUE(visitor_.header_.get()); 1021 ASSERT_TRUE(visitor_.header_.get());
1027 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 1022 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
1028 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
1029 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 1023 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
1030 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 1024 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
1031 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, 1025 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER,
1032 visitor_.header_->public_header.packet_number_length); 1026 visitor_.header_->public_header.packet_number_length);
1033 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 1027 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
1034 1028
1035 // Now test framing boundaries. 1029 // Now test framing boundaries.
1036 for (size_t i = 0; 1030 for (size_t i = 0;
1037 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 1031 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
1038 !kIncludeVersion, !kIncludeDiversificationNonce, 1032 !kIncludeVersion, !kIncludeDiversificationNonce,
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 1103 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
1110 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, 1104 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER,
1111 visitor_.header_->public_header.packet_number_length); 1105 visitor_.header_->public_header.packet_number_length);
1112 EXPECT_EQ(kPacketNumber - 1, visitor_.header_->packet_number); 1106 EXPECT_EQ(kPacketNumber - 1, visitor_.header_->packet_number);
1113 } 1107 }
1114 1108
1115 TEST_P(QuicFramerTest, PacketWithDiversificationNonce) { 1109 TEST_P(QuicFramerTest, PacketWithDiversificationNonce) {
1116 // clang-format off 1110 // clang-format off
1117 unsigned char packet[] = { 1111 unsigned char packet[] = {
1118 // public flags: includes nonce flag 1112 // public flags: includes nonce flag
1119 static_cast<unsigned char>( 1113 0x3C,
1120 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x3C : 0x7C),
1121 // connection_id 1114 // connection_id
1122 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE, 1115 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
1123 // nonce 1116 // nonce
1124 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1117 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1125 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 1118 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1126 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1119 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1127 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 1120 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1128 // packet number 1121 // packet number
1129 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12, 1122 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
1130 1123
1131 // frame type (padding) 1124 // frame type (padding)
1132 0x00, 1125 0x00,
1133 0x00, 0x00, 0x00, 0x00 1126 0x00, 0x00, 0x00, 0x00
1134 }; 1127 };
1135 1128
1136 unsigned char packet_cid_be[] = { 1129 unsigned char packet_cid_be[] = {
1137 // public flags: includes nonce flag 1130 // public flags: includes nonce flag
1138 static_cast<unsigned char>( 1131 0x3C,
1139 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x3C : 0x7C),
1140 // connection_id 1132 // connection_id
1141 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 1133 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10,
1142 // nonce 1134 // nonce
1143 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1135 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1144 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 1136 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1145 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1137 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1146 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 1138 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1147 // packet number 1139 // packet number
1148 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12, 1140 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12,
1149 1141
1150 // frame type (padding) 1142 // frame type (padding)
1151 0x00, 1143 0x00,
1152 0x00, 0x00, 0x00, 0x00 1144 0x00, 0x00, 0x00, 0x00
1153 }; 1145 };
1154 1146
1155 unsigned char packet39[] = { 1147 unsigned char packet39[] = {
1156 // public flags: includes nonce flag 1148 // public flags: includes nonce flag
1157 static_cast<unsigned char>( 1149 0x3C,
1158 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x3C : 0x7C),
1159 // connection_id 1150 // connection_id
1160 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE, 1151 0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,
1161 // nonce 1152 // nonce
1162 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1153 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1163 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 1154 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1164 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1155 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1165 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 1156 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1166 // packet number 1157 // packet number
1167 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 1158 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC,
1168 1159
1169 // frame type (padding) 1160 // frame type (padding)
1170 0x00, 1161 0x00,
1171 0x00, 0x00, 0x00, 0x00 1162 0x00, 0x00, 0x00, 0x00
1172 }; 1163 };
1173 1164
1174 unsigned char packet_cid_be39[] = { 1165 unsigned char packet_cid_be39[] = {
1175 // public flags: includes nonce flag 1166 // public flags: includes nonce flag
1176 static_cast<unsigned char>( 1167 0x3C,
1177 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x3C : 0x7C),
1178 // connection_id 1168 // connection_id
1179 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 1169 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10,
1180 // nonce 1170 // nonce
1181 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1171 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1182 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 1172 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1183 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1173 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1184 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 1174 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1185 // packet number 1175 // packet number
1186 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 1176 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC,
1187 1177
(...skipping 14 matching lines...) Expand all
1202 EXPECT_EQ(i, (*visitor_.public_header_->nonce)[static_cast<size_t>(i)]); 1192 EXPECT_EQ(i, (*visitor_.public_header_->nonce)[static_cast<size_t>(i)]);
1203 } 1193 }
1204 EXPECT_EQ(1u, visitor_.padding_frames_.size()); 1194 EXPECT_EQ(1u, visitor_.padding_frames_.size());
1205 EXPECT_EQ(5, visitor_.padding_frames_[0]->num_padding_bytes); 1195 EXPECT_EQ(5, visitor_.padding_frames_[0]->num_padding_bytes);
1206 }; 1196 };
1207 1197
1208 TEST_P(QuicFramerTest, LargePublicFlagWithMismatchedVersions) { 1198 TEST_P(QuicFramerTest, LargePublicFlagWithMismatchedVersions) {
1209 // clang-format off 1199 // clang-format off
1210 unsigned char packet[] = { 1200 unsigned char packet[] = {
1211 // public flags (8 byte connection_id, version flag and an unknown flag) 1201 // public flags (8 byte connection_id, version flag and an unknown flag)
1212 static_cast<unsigned char>( 1202 0x39,
1213 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x39 : 0x79),
1214 // connection_id 1203 // connection_id
1215 0x10, 0x32, 0x54, 0x76, 1204 0x10, 0x32, 0x54, 0x76,
1216 0x98, 0xBA, 0xDC, 0xFE, 1205 0x98, 0xBA, 0xDC, 0xFE,
1217 // version tag 1206 // version tag
1218 'Q', '0', '0', '0', 1207 'Q', '0', '0', '0',
1219 // packet number 1208 // packet number
1220 0xBC, 0x9A, 0x78, 0x56, 1209 0xBC, 0x9A, 0x78, 0x56,
1221 0x34, 0x12, 1210 0x34, 0x12,
1222 1211
1223 // frame type (padding frame) 1212 // frame type (padding frame)
1224 0x00, 1213 0x00,
1225 0x00, 0x00, 0x00, 0x00 1214 0x00, 0x00, 0x00, 0x00
1226 }; 1215 };
1227 1216
1228 unsigned char packet_cid_be[] = { 1217 unsigned char packet_cid_be[] = {
1229 // public flags (8 byte connection_id, version flag and an unknown flag) 1218 // public flags (8 byte connection_id, version flag and an unknown flag)
1230 static_cast<unsigned char>( 1219 0x39,
1231 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x39 : 0x79),
1232 // connection_id 1220 // connection_id
1233 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 1221 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10,
1234 // version tag 1222 // version tag
1235 'Q', '0', '0', '0', 1223 'Q', '0', '0', '0',
1236 // packet number 1224 // packet number
1237 0xBC, 0x9A, 0x78, 0x56, 1225 0xBC, 0x9A, 0x78, 0x56,
1238 0x34, 0x12, 1226 0x34, 0x12,
1239 1227
1240 // frame type (padding frame) 1228 // frame type (padding frame)
1241 0x00, 1229 0x00,
1242 0x00, 0x00, 0x00, 0x00 1230 0x00, 0x00, 0x00, 0x00
1243 }; 1231 };
1244 1232
1245 unsigned char packet39[] = { 1233 unsigned char packet39[] = {
1246 // public flags (8 byte connection_id, version flag and an unknown flag) 1234 // public flags (8 byte connection_id, version flag and an unknown flag)
1247 static_cast<unsigned char>( 1235 0x39,
1248 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x39 : 0x79),
1249 // connection_id 1236 // connection_id
1250 0x10, 0x32, 0x54, 0x76, 1237 0x10, 0x32, 0x54, 0x76,
1251 0x98, 0xBA, 0xDC, 0xFE, 1238 0x98, 0xBA, 0xDC, 0xFE,
1252 // version tag 1239 // version tag
1253 'Q', '0', '0', '0', 1240 'Q', '0', '0', '0',
1254 // packet number 1241 // packet number
1255 0x12, 0x34, 0x56, 0x78, 1242 0x12, 0x34, 0x56, 0x78,
1256 0x9A, 0xBC, 1243 0x9A, 0xBC,
1257 1244
1258 // frame type (padding frame) 1245 // frame type (padding frame)
1259 0x00, 1246 0x00,
1260 0x00, 0x00, 0x00, 0x00 1247 0x00, 0x00, 0x00, 0x00
1261 }; 1248 };
1262 1249
1263 unsigned char packet_cid_be39[] = { 1250 unsigned char packet_cid_be39[] = {
1264 // public flags (8 byte connection_id, version flag and an unknown flag) 1251 // public flags (8 byte connection_id, version flag and an unknown flag)
1265 static_cast<unsigned char>( 1252 0x39,
1266 FLAGS_quic_reloadable_flag_quic_remove_multipath_bit ? 0x39 : 0x79),
1267 // connection_id 1253 // connection_id
1268 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 1254 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10,
1269 // version tag 1255 // version tag
1270 'Q', '0', '0', '0', 1256 'Q', '0', '0', '0',
1271 // packet number 1257 // packet number
1272 0x12, 0x34, 0x56, 0x78, 1258 0x12, 0x34, 0x56, 0x78,
1273 0x9A, 0xBC, 1259 0x9A, 0xBC,
1274 1260
1275 // frame type (padding frame) 1261 // frame type (padding frame)
1276 0x00, 1262 0x00,
(...skipping 5991 matching lines...) Expand 10 before | Expand all | Expand 10 after
7268 7254
7269 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39}; 7255 unsigned char* packets[] = {packet, packet_cid_be, packet39, packet_cid_be39};
7270 size_t index = GetPacketIndex(framer_.version(), framer_.perspective()); 7256 size_t index = GetPacketIndex(framer_.version(), framer_.perspective());
7271 7257
7272 QuicFramerFuzzFunc(packets[index], arraysize(packet)); 7258 QuicFramerFuzzFunc(packets[index], arraysize(packet));
7273 } 7259 }
7274 7260
7275 } // namespace 7261 } // namespace
7276 } // namespace test 7262 } // namespace test
7277 } // namespace net 7263 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_framer.cc ('k') | net/quic/core/quic_packet_creator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698