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

Side by Side Diff: net/quic/quic_http_stream_test.cc

Issue 144063012: Fix a QUIC bug where previously undecryptable packets were not decrypted (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added logging for all frames and fixed rch's comments Created 6 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 | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_framer.cc ('k') | net/quic/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/quic_http_stream.h" 5 #include "net/quic/quic_http_stream.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
10 #include "net/base/test_completion_callback.h" 10 #include "net/base/test_completion_callback.h"
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 return maker_.MakeResponseHeadersPacket( 256 return maker_.MakeResponseHeadersPacket(
257 sequence_number, stream_id_, !kIncludeVersion, fin, response_headers_); 257 sequence_number, stream_id_, !kIncludeVersion, fin, response_headers_);
258 } 258 }
259 259
260 scoped_ptr<QuicEncryptedPacket> ConstructRstStreamPacket( 260 scoped_ptr<QuicEncryptedPacket> ConstructRstStreamPacket(
261 QuicPacketSequenceNumber sequence_number) { 261 QuicPacketSequenceNumber sequence_number) {
262 return maker_.MakeRstPacket( 262 return maker_.MakeRstPacket(
263 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED); 263 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED);
264 } 264 }
265 265
266 scoped_ptr<QuicEncryptedPacket> ConstructAckAndRstStreamPacket(
267 QuicPacketSequenceNumber sequence_number) {
268 return maker_.MakeAckAndRstPacket(
269 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED,
270 1, 1, !kIncludeCongestionFeedback);
271 }
272
266 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( 273 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket(
267 QuicPacketSequenceNumber sequence_number, 274 QuicPacketSequenceNumber sequence_number,
268 QuicPacketSequenceNumber largest_received, 275 QuicPacketSequenceNumber largest_received,
269 QuicPacketSequenceNumber least_unacked) { 276 QuicPacketSequenceNumber least_unacked) {
270 return maker_.MakeAckPacket(sequence_number, largest_received, 277 return maker_.MakeAckPacket(sequence_number, largest_received,
271 least_unacked, !kIncludeCongestionFeedback); 278 least_unacked, !kIncludeCongestionFeedback);
272 } 279 }
273 280
274 BoundNetLog net_log_; 281 BoundNetLog net_log_;
275 bool use_closing_stream_; 282 bool use_closing_stream_;
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 EXPECT_TRUE(AtEof()); 611 EXPECT_TRUE(AtEof());
605 } 612 }
606 613
607 TEST_P(QuicHttpStreamTest, DestroyedEarly) { 614 TEST_P(QuicHttpStreamTest, DestroyedEarly) {
608 SetRequest("GET", "/", DEFAULT_PRIORITY); 615 SetRequest("GET", "/", DEFAULT_PRIORITY);
609 if (GetParam() > QUIC_VERSION_12) { 616 if (GetParam() > QUIC_VERSION_12) {
610 AddWrite(ConstructRequestHeadersPacket(1, kFin)); 617 AddWrite(ConstructRequestHeadersPacket(1, kFin));
611 } else { 618 } else {
612 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_)); 619 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_));
613 } 620 }
614 AddWrite(ConstructRstStreamPacket(2)); 621 AddWrite(ConstructAckAndRstStreamPacket(2));
615 use_closing_stream_ = true; 622 use_closing_stream_ = true;
616 Initialize(); 623 Initialize();
617 624
618 request_.method = "GET"; 625 request_.method = "GET";
619 request_.url = GURL("http://www.google.com/"); 626 request_.url = GURL("http://www.google.com/");
620 627
621 EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, 628 EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY,
622 net_log_, callback_.callback())); 629 net_log_, callback_.callback()));
623 EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, 630 EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_,
624 callback_.callback())); 631 callback_.callback()));
(...skipping 16 matching lines...) Expand all
641 EXPECT_TRUE(AtEof()); 648 EXPECT_TRUE(AtEof());
642 } 649 }
643 650
644 TEST_P(QuicHttpStreamTest, Priority) { 651 TEST_P(QuicHttpStreamTest, Priority) {
645 SetRequest("GET", "/", MEDIUM); 652 SetRequest("GET", "/", MEDIUM);
646 if (GetParam() > QUIC_VERSION_12) { 653 if (GetParam() > QUIC_VERSION_12) {
647 AddWrite(ConstructRequestHeadersPacket(1, kFin)); 654 AddWrite(ConstructRequestHeadersPacket(1, kFin));
648 } else { 655 } else {
649 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_)); 656 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_));
650 } 657 }
651 AddWrite(ConstructRstStreamPacket(2)); 658 AddWrite(ConstructAckAndRstStreamPacket(2));
652 use_closing_stream_ = true; 659 use_closing_stream_ = true;
653 Initialize(); 660 Initialize();
654 661
655 request_.method = "GET"; 662 request_.method = "GET";
656 request_.url = GURL("http://www.google.com/"); 663 request_.url = GURL("http://www.google.com/");
657 664
658 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, 665 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM,
659 net_log_, callback_.callback())); 666 net_log_, callback_.callback()));
660 667
661 // Check that priority is highest. 668 // Check that priority is highest.
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 WillRepeatedly(Return(QuicTime::Delta::Zero())); 757 WillRepeatedly(Return(QuicTime::Delta::Zero()));
751 758
752 // Data should flush out now. 759 // Data should flush out now.
753 connection_->OnCanWrite(); 760 connection_->OnCanWrite();
754 EXPECT_FALSE(reliable_stream->HasBufferedData()); 761 EXPECT_FALSE(reliable_stream->HasBufferedData());
755 EXPECT_TRUE(AtEof()); 762 EXPECT_TRUE(AtEof());
756 } 763 }
757 764
758 } // namespace test 765 } // namespace test
759 } // namespace net 766 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_framer.cc ('k') | net/quic/quic_packet_creator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698