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

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

Issue 2679673005: Remove path id from IV in QUIC encrytion algorithms. (Closed)
Patch Set: Created 3 years, 10 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/crypto/quic_encrypter.h ('k') | net/quic/core/quic_framer.h » ('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_connection.h" 5 #include "net/quic/core/quic_connection.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <memory> 8 #include <memory>
9 #include <ostream> 9 #include <ostream>
10 #include <utility> 10 #include <utility>
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 explicit TaggingEncrypter(uint8_t tag) : tag_(tag) {} 83 explicit TaggingEncrypter(uint8_t tag) : tag_(tag) {}
84 84
85 ~TaggingEncrypter() override {} 85 ~TaggingEncrypter() override {}
86 86
87 // QuicEncrypter interface. 87 // QuicEncrypter interface.
88 bool SetKey(StringPiece key) override { return true; } 88 bool SetKey(StringPiece key) override { return true; }
89 89
90 bool SetNoncePrefix(StringPiece nonce_prefix) override { return true; } 90 bool SetNoncePrefix(StringPiece nonce_prefix) override { return true; }
91 91
92 bool EncryptPacket(QuicVersion /*version*/, 92 bool EncryptPacket(QuicVersion /*version*/,
93 QuicPathId path_id,
94 QuicPacketNumber packet_number, 93 QuicPacketNumber packet_number,
95 StringPiece associated_data, 94 StringPiece associated_data,
96 StringPiece plaintext, 95 StringPiece plaintext,
97 char* output, 96 char* output,
98 size_t* output_length, 97 size_t* output_length,
99 size_t max_output_length) override { 98 size_t max_output_length) override {
100 const size_t len = plaintext.size() + kTagSize; 99 const size_t len = plaintext.size() + kTagSize;
101 if (max_output_length < len) { 100 if (max_output_length < len) {
102 return false; 101 return false;
103 } 102 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 bool SetPreliminaryKey(StringPiece key) override { 147 bool SetPreliminaryKey(StringPiece key) override {
149 QUIC_BUG << "should not be called"; 148 QUIC_BUG << "should not be called";
150 return false; 149 return false;
151 } 150 }
152 151
153 bool SetDiversificationNonce(const DiversificationNonce& key) override { 152 bool SetDiversificationNonce(const DiversificationNonce& key) override {
154 return true; 153 return true;
155 } 154 }
156 155
157 bool DecryptPacket(QuicVersion /*version*/, 156 bool DecryptPacket(QuicVersion /*version*/,
158 QuicPathId path_id,
159 QuicPacketNumber packet_number, 157 QuicPacketNumber packet_number,
160 StringPiece associated_data, 158 StringPiece associated_data,
161 StringPiece ciphertext, 159 StringPiece ciphertext,
162 char* output, 160 char* output,
163 size_t* output_length, 161 size_t* output_length,
164 size_t max_output_length) override { 162 size_t max_output_length) override {
165 if (ciphertext.size() < kTagSize) { 163 if (ciphertext.size() < kTagSize) {
166 return false; 164 return false;
167 } 165 }
168 if (!CheckTag(ciphertext, GetTag(ciphertext))) { 166 if (!CheckTag(ciphertext, GetTag(ciphertext))) {
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 void SendPacket(EncryptionLevel level, 490 void SendPacket(EncryptionLevel level,
493 QuicPathId path_id, 491 QuicPathId path_id,
494 QuicPacketNumber packet_number, 492 QuicPacketNumber packet_number,
495 QuicPacket* packet, 493 QuicPacket* packet,
496 HasRetransmittableData retransmittable, 494 HasRetransmittableData retransmittable,
497 bool has_ack, 495 bool has_ack,
498 bool has_pending_frames) { 496 bool has_pending_frames) {
499 char buffer[kMaxPacketSize]; 497 char buffer[kMaxPacketSize];
500 size_t encrypted_length = 498 size_t encrypted_length =
501 QuicConnectionPeer::GetFramer(this)->EncryptPayload( 499 QuicConnectionPeer::GetFramer(this)->EncryptPayload(
502 ENCRYPTION_NONE, path_id, packet_number, *packet, buffer, 500 ENCRYPTION_NONE, packet_number, *packet, buffer, kMaxPacketSize);
503 kMaxPacketSize);
504 delete packet; 501 delete packet;
505 SerializedPacket serialized_packet( 502 SerializedPacket serialized_packet(
506 kDefaultPathId, packet_number, PACKET_6BYTE_PACKET_NUMBER, buffer, 503 kDefaultPathId, packet_number, PACKET_6BYTE_PACKET_NUMBER, buffer,
507 encrypted_length, has_ack, has_pending_frames); 504 encrypted_length, has_ack, has_pending_frames);
508 if (retransmittable == HAS_RETRANSMITTABLE_DATA) { 505 if (retransmittable == HAS_RETRANSMITTABLE_DATA) {
509 serialized_packet.retransmittable_frames.push_back( 506 serialized_packet.retransmittable_frames.push_back(
510 QuicFrame(new QuicStreamFrame())); 507 QuicFrame(new QuicStreamFrame()));
511 } 508 }
512 OnSerializedPacket(&serialized_packet); 509 OnSerializedPacket(&serialized_packet);
513 } 510 }
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 header.public_header.packet_number_length = packet_number_length_; 829 header.public_header.packet_number_length = packet_number_length_;
833 header.public_header.connection_id_length = connection_id_length_; 830 header.public_header.connection_id_length = connection_id_length_;
834 header.public_header.multipath_flag = path_id != kDefaultPathId; 831 header.public_header.multipath_flag = path_id != kDefaultPathId;
835 header.path_id = path_id; 832 header.path_id = path_id;
836 header.packet_number = number; 833 header.packet_number = number;
837 QuicFrames frames; 834 QuicFrames frames;
838 frames.push_back(frame); 835 frames.push_back(frame);
839 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 836 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
840 837
841 char buffer[kMaxPacketSize]; 838 char buffer[kMaxPacketSize];
842 size_t encrypted_length = framer_.EncryptPayload( 839 size_t encrypted_length =
843 level, path_id, number, *packet, buffer, kMaxPacketSize); 840 framer_.EncryptPayload(level, number, *packet, buffer, kMaxPacketSize);
844 connection_.ProcessUdpPacket( 841 connection_.ProcessUdpPacket(
845 kSelfAddress, kPeerAddress, 842 kSelfAddress, kPeerAddress,
846 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 843 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
847 return encrypted_length; 844 return encrypted_length;
848 } 845 }
849 846
850 size_t ProcessDataPacket(QuicPathId path_id, QuicPacketNumber number) { 847 size_t ProcessDataPacket(QuicPathId path_id, QuicPacketNumber number) {
851 return ProcessDataPacketAtLevel(path_id, number, false, ENCRYPTION_NONE); 848 return ProcessDataPacketAtLevel(path_id, number, false, ENCRYPTION_NONE);
852 } 849 }
853 850
854 size_t ProcessDataPacketAtLevel(QuicPathId path_id, 851 size_t ProcessDataPacketAtLevel(QuicPathId path_id,
855 QuicPacketNumber number, 852 QuicPacketNumber number,
856 bool has_stop_waiting, 853 bool has_stop_waiting,
857 EncryptionLevel level) { 854 EncryptionLevel level) {
858 std::unique_ptr<QuicPacket> packet( 855 std::unique_ptr<QuicPacket> packet(
859 ConstructDataPacket(path_id, number, has_stop_waiting)); 856 ConstructDataPacket(path_id, number, has_stop_waiting));
860 char buffer[kMaxPacketSize]; 857 char buffer[kMaxPacketSize];
861 size_t encrypted_length = peer_framer_.EncryptPayload( 858 size_t encrypted_length = peer_framer_.EncryptPayload(
862 level, path_id, number, *packet, buffer, kMaxPacketSize); 859 level, number, *packet, buffer, kMaxPacketSize);
863 connection_.ProcessUdpPacket( 860 connection_.ProcessUdpPacket(
864 kSelfAddress, kPeerAddress, 861 kSelfAddress, kPeerAddress,
865 QuicReceivedPacket(buffer, encrypted_length, clock_.Now(), false)); 862 QuicReceivedPacket(buffer, encrypted_length, clock_.Now(), false));
866 if (connection_.GetSendAlarm()->IsSet()) { 863 if (connection_.GetSendAlarm()->IsSet()) {
867 connection_.GetSendAlarm()->Fire(); 864 connection_.GetSendAlarm()->Fire();
868 } 865 }
869 return encrypted_length; 866 return encrypted_length;
870 } 867 }
871 868
872 void ProcessClosePacket(QuicPathId path_id, QuicPacketNumber number) { 869 void ProcessClosePacket(QuicPathId path_id, QuicPacketNumber number) {
873 std::unique_ptr<QuicPacket> packet(ConstructClosePacket(number)); 870 std::unique_ptr<QuicPacket> packet(ConstructClosePacket(number));
874 char buffer[kMaxPacketSize]; 871 char buffer[kMaxPacketSize];
875 size_t encrypted_length = peer_framer_.EncryptPayload( 872 size_t encrypted_length = peer_framer_.EncryptPayload(
876 ENCRYPTION_NONE, path_id, number, *packet, buffer, kMaxPacketSize); 873 ENCRYPTION_NONE, number, *packet, buffer, kMaxPacketSize);
877 connection_.ProcessUdpPacket( 874 connection_.ProcessUdpPacket(
878 kSelfAddress, kPeerAddress, 875 kSelfAddress, kPeerAddress,
879 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 876 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
880 } 877 }
881 878
882 QuicByteCount SendStreamDataToPeer(QuicStreamId id, 879 QuicByteCount SendStreamDataToPeer(QuicStreamId id,
883 StringPiece data, 880 StringPiece data,
884 QuicStreamOffset offset, 881 QuicStreamOffset offset,
885 bool fin, 882 bool fin,
886 QuicPacketNumber* last_packet) { 883 QuicPacketNumber* last_packet) {
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
1209 header.path_id = kDefaultPathId; 1206 header.path_id = kDefaultPathId;
1210 header.packet_number = 1; 1207 header.packet_number = 1;
1211 1208
1212 QuicFrames frames; 1209 QuicFrames frames;
1213 QuicPaddingFrame padding; 1210 QuicPaddingFrame padding;
1214 frames.push_back(QuicFrame(&frame1_)); 1211 frames.push_back(QuicFrame(&frame1_));
1215 frames.push_back(QuicFrame(padding)); 1212 frames.push_back(QuicFrame(padding));
1216 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 1213 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
1217 char buffer[kMaxPacketSize]; 1214 char buffer[kMaxPacketSize];
1218 size_t encrypted_length = peer_framer_.EncryptPayload( 1215 size_t encrypted_length = peer_framer_.EncryptPayload(
1219 ENCRYPTION_NONE, kDefaultPathId, 12, *packet, buffer, kMaxPacketSize); 1216 ENCRYPTION_NONE, 12, *packet, buffer, kMaxPacketSize);
1220 EXPECT_EQ(kMaxPacketSize, encrypted_length); 1217 EXPECT_EQ(kMaxPacketSize, encrypted_length);
1221 1218
1222 framer_.set_version(version()); 1219 framer_.set_version(version());
1223 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1); 1220 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1);
1224 connection_.ProcessUdpPacket( 1221 connection_.ProcessUdpPacket(
1225 kSelfAddress, kPeerAddress, 1222 kSelfAddress, kPeerAddress,
1226 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 1223 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
1227 1224
1228 EXPECT_EQ(kMaxPacketSize, connection_.max_packet_length()); 1225 EXPECT_EQ(kMaxPacketSize, connection_.max_packet_length());
1229 } 1226 }
(...skipping 13 matching lines...) Expand all
1243 header.path_id = kDefaultPathId; 1240 header.path_id = kDefaultPathId;
1244 header.packet_number = 1; 1241 header.packet_number = 1;
1245 1242
1246 QuicFrames frames; 1243 QuicFrames frames;
1247 QuicPaddingFrame padding; 1244 QuicPaddingFrame padding;
1248 frames.push_back(QuicFrame(&frame1_)); 1245 frames.push_back(QuicFrame(&frame1_));
1249 frames.push_back(QuicFrame(padding)); 1246 frames.push_back(QuicFrame(padding));
1250 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 1247 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
1251 char buffer[kMaxPacketSize]; 1248 char buffer[kMaxPacketSize];
1252 size_t encrypted_length = peer_framer_.EncryptPayload( 1249 size_t encrypted_length = peer_framer_.EncryptPayload(
1253 ENCRYPTION_NONE, kDefaultPathId, 12, *packet, buffer, kMaxPacketSize); 1250 ENCRYPTION_NONE, 12, *packet, buffer, kMaxPacketSize);
1254 EXPECT_EQ(kMaxPacketSize, encrypted_length); 1251 EXPECT_EQ(kMaxPacketSize, encrypted_length);
1255 1252
1256 framer_.set_version(version()); 1253 framer_.set_version(version());
1257 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1); 1254 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1);
1258 connection_.ProcessUdpPacket( 1255 connection_.ProcessUdpPacket(
1259 kSelfAddress, kPeerAddress, 1256 kSelfAddress, kPeerAddress,
1260 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 1257 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
1261 1258
1262 // Here, the limit imposed by the writer is lower than the size of the packet 1259 // Here, the limit imposed by the writer is lower than the size of the packet
1263 // received, so the writer max packet size is used. 1260 // received, so the writer max packet size is used.
(...skipping 3022 matching lines...) Expand 10 before | Expand all | Expand 10 after
4286 QuicPacketHeader header; 4283 QuicPacketHeader header;
4287 header.public_header.connection_id = connection_id_; 4284 header.public_header.connection_id = connection_id_;
4288 header.public_header.version_flag = true; 4285 header.public_header.version_flag = true;
4289 header.path_id = kDefaultPathId; 4286 header.path_id = kDefaultPathId;
4290 header.packet_number = 12; 4287 header.packet_number = 12;
4291 4288
4292 QuicFrames frames; 4289 QuicFrames frames;
4293 frames.push_back(QuicFrame(&frame1_)); 4290 frames.push_back(QuicFrame(&frame1_));
4294 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 4291 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
4295 char buffer[kMaxPacketSize]; 4292 char buffer[kMaxPacketSize];
4296 size_t encrypted_length = framer_.EncryptPayload( 4293 size_t encrypted_length = framer_.EncryptPayload(ENCRYPTION_NONE, 12, *packet,
4297 ENCRYPTION_NONE, kDefaultPathId, 12, *packet, buffer, kMaxPacketSize); 4294 buffer, kMaxPacketSize);
4298 4295
4299 framer_.set_version(version()); 4296 framer_.set_version(version());
4300 connection_.ProcessUdpPacket( 4297 connection_.ProcessUdpPacket(
4301 kSelfAddress, kPeerAddress, 4298 kSelfAddress, kPeerAddress,
4302 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 4299 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
4303 EXPECT_TRUE(writer_->version_negotiation_packet() != nullptr); 4300 EXPECT_TRUE(writer_->version_negotiation_packet() != nullptr);
4304 4301
4305 size_t num_versions = arraysize(kSupportedQuicVersions); 4302 size_t num_versions = arraysize(kSupportedQuicVersions);
4306 ASSERT_EQ(num_versions, 4303 ASSERT_EQ(num_versions,
4307 writer_->version_negotiation_packet()->versions.size()); 4304 writer_->version_negotiation_packet()->versions.size());
(...skipping 13 matching lines...) Expand all
4321 4318
4322 QuicPacketHeader header; 4319 QuicPacketHeader header;
4323 header.public_header.connection_id = connection_id_; 4320 header.public_header.connection_id = connection_id_;
4324 header.public_header.version_flag = true; 4321 header.public_header.version_flag = true;
4325 header.packet_number = 12; 4322 header.packet_number = 12;
4326 4323
4327 QuicFrames frames; 4324 QuicFrames frames;
4328 frames.push_back(QuicFrame(&frame1_)); 4325 frames.push_back(QuicFrame(&frame1_));
4329 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 4326 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
4330 char buffer[kMaxPacketSize]; 4327 char buffer[kMaxPacketSize];
4331 size_t encrypted_length = framer_.EncryptPayload( 4328 size_t encrypted_length = framer_.EncryptPayload(ENCRYPTION_NONE, 12, *packet,
4332 ENCRYPTION_NONE, kDefaultPathId, 12, *packet, buffer, kMaxPacketSize); 4329 buffer, kMaxPacketSize);
4333 4330
4334 framer_.set_version(version()); 4331 framer_.set_version(version());
4335 BlockOnNextWrite(); 4332 BlockOnNextWrite();
4336 connection_.ProcessUdpPacket( 4333 connection_.ProcessUdpPacket(
4337 kSelfAddress, kPeerAddress, 4334 kSelfAddress, kPeerAddress,
4338 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 4335 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
4339 EXPECT_EQ(0u, writer_->last_packet_size()); 4336 EXPECT_EQ(0u, writer_->last_packet_size());
4340 EXPECT_TRUE(connection_.HasQueuedData()); 4337 EXPECT_TRUE(connection_.HasQueuedData());
4341 4338
4342 writer_->SetWritable(); 4339 writer_->SetWritable();
(...skipping 20 matching lines...) Expand all
4363 4360
4364 QuicPacketHeader header; 4361 QuicPacketHeader header;
4365 header.public_header.connection_id = connection_id_; 4362 header.public_header.connection_id = connection_id_;
4366 header.public_header.version_flag = true; 4363 header.public_header.version_flag = true;
4367 header.packet_number = 12; 4364 header.packet_number = 12;
4368 4365
4369 QuicFrames frames; 4366 QuicFrames frames;
4370 frames.push_back(QuicFrame(&frame1_)); 4367 frames.push_back(QuicFrame(&frame1_));
4371 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 4368 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
4372 char buffer[kMaxPacketSize]; 4369 char buffer[kMaxPacketSize];
4373 size_t encryped_length = framer_.EncryptPayload( 4370 size_t encryped_length = framer_.EncryptPayload(ENCRYPTION_NONE, 12, *packet,
4374 ENCRYPTION_NONE, kDefaultPathId, 12, *packet, buffer, kMaxPacketSize); 4371 buffer, kMaxPacketSize);
4375 4372
4376 framer_.set_version(version()); 4373 framer_.set_version(version());
4377 set_perspective(Perspective::IS_SERVER); 4374 set_perspective(Perspective::IS_SERVER);
4378 BlockOnNextWrite(); 4375 BlockOnNextWrite();
4379 writer_->set_is_write_blocked_data_buffered(true); 4376 writer_->set_is_write_blocked_data_buffered(true);
4380 connection_.ProcessUdpPacket( 4377 connection_.ProcessUdpPacket(
4381 kSelfAddress, kPeerAddress, 4378 kSelfAddress, kPeerAddress,
4382 QuicReceivedPacket(buffer, encryped_length, QuicTime::Zero(), false)); 4379 QuicReceivedPacket(buffer, encryped_length, QuicTime::Zero(), false));
4383 EXPECT_EQ(0u, writer_->last_packet_size()); 4380 EXPECT_EQ(0u, writer_->last_packet_size());
4384 EXPECT_FALSE(connection_.HasQueuedData()); 4381 EXPECT_FALSE(connection_.HasQueuedData());
(...skipping 17 matching lines...) Expand all
4402 QuicPacketHeader header; 4399 QuicPacketHeader header;
4403 header.public_header.connection_id = connection_id_; 4400 header.public_header.connection_id = connection_id_;
4404 header.path_id = kDefaultPathId; 4401 header.path_id = kDefaultPathId;
4405 header.packet_number = 12; 4402 header.packet_number = 12;
4406 header.public_header.version_flag = false; 4403 header.public_header.version_flag = false;
4407 QuicFrames frames; 4404 QuicFrames frames;
4408 frames.push_back(QuicFrame(&frame1_)); 4405 frames.push_back(QuicFrame(&frame1_));
4409 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 4406 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
4410 char buffer[kMaxPacketSize]; 4407 char buffer[kMaxPacketSize];
4411 size_t encrypted_length = peer_framer_.EncryptPayload( 4408 size_t encrypted_length = peer_framer_.EncryptPayload(
4412 ENCRYPTION_NONE, kDefaultPathId, 12, *packet, buffer, kMaxPacketSize); 4409 ENCRYPTION_NONE, 12, *packet, buffer, kMaxPacketSize);
4413 ASSERT_NE(0u, encrypted_length); 4410 ASSERT_NE(0u, encrypted_length);
4414 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1); 4411 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1);
4415 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); 4412 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
4416 connection_.ProcessUdpPacket( 4413 connection_.ProcessUdpPacket(
4417 kSelfAddress, kPeerAddress, 4414 kSelfAddress, kPeerAddress,
4418 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 4415 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
4419 4416
4420 ASSERT_FALSE(QuicPacketCreatorPeer::SendVersionInPacket(creator_)); 4417 ASSERT_FALSE(QuicPacketCreatorPeer::SendVersionInPacket(creator_));
4421 } 4418 }
4422 4419
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
4491 QuicConnectionCloseFrame qccf; 4488 QuicConnectionCloseFrame qccf;
4492 qccf.error_code = QUIC_PEER_GOING_AWAY; 4489 qccf.error_code = QUIC_PEER_GOING_AWAY;
4493 4490
4494 QuicFrames frames; 4491 QuicFrames frames;
4495 frames.push_back(QuicFrame(&frame1_)); 4492 frames.push_back(QuicFrame(&frame1_));
4496 frames.push_back(QuicFrame(&qccf)); 4493 frames.push_back(QuicFrame(&qccf));
4497 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames)); 4494 std::unique_ptr<QuicPacket> packet(ConstructPacket(header, frames));
4498 EXPECT_TRUE(nullptr != packet.get()); 4495 EXPECT_TRUE(nullptr != packet.get());
4499 char buffer[kMaxPacketSize]; 4496 char buffer[kMaxPacketSize];
4500 size_t encrypted_length = peer_framer_.EncryptPayload( 4497 size_t encrypted_length = peer_framer_.EncryptPayload(
4501 ENCRYPTION_NONE, kDefaultPathId, 1, *packet, buffer, kMaxPacketSize); 4498 ENCRYPTION_NONE, 1, *packet, buffer, kMaxPacketSize);
4502 4499
4503 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_PEER_GOING_AWAY, _, 4500 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_PEER_GOING_AWAY, _,
4504 ConnectionCloseSource::FROM_PEER)); 4501 ConnectionCloseSource::FROM_PEER));
4505 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1); 4502 EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1);
4506 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); 4503 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
4507 4504
4508 connection_.ProcessUdpPacket( 4505 connection_.ProcessUdpPacket(
4509 kSelfAddress, kPeerAddress, 4506 kSelfAddress, kPeerAddress,
4510 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false)); 4507 QuicReceivedPacket(buffer, encrypted_length, QuicTime::Zero(), false));
4511 } 4508 }
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
5076 error_details, ConnectionCloseSource::FROM_PEER)); 5073 error_details, ConnectionCloseSource::FROM_PEER));
5077 connection_.set_perspective(Perspective::IS_CLIENT); 5074 connection_.set_perspective(Perspective::IS_CLIENT);
5078 connection_.CloseConnection(QUIC_CRYPTO_HANDSHAKE_STATELESS_REJECT, 5075 connection_.CloseConnection(QUIC_CRYPTO_HANDSHAKE_STATELESS_REJECT,
5079 error_details, 5076 error_details,
5080 ConnectionCloseBehavior::SILENT_CLOSE); 5077 ConnectionCloseBehavior::SILENT_CLOSE);
5081 } 5078 }
5082 5079
5083 } // namespace 5080 } // namespace
5084 } // namespace test 5081 } // namespace test
5085 } // namespace net 5082 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/crypto/quic_encrypter.h ('k') | net/quic/core/quic_framer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698