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

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

Issue 1497863005: Retransmit non-crypto packets with forward secure encryption if the connection has gone forward sec… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@108743696
Patch Set: Created 5 years 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/quic_packet_creator.cc ('k') | no next file » | 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_packet_creator.h" 5 #include "net/quic/quic_packet_creator.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "net/quic/crypto/null_encrypter.h" 10 #include "net/quic/crypto/null_encrypter.h"
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 EXPECT_CALL(framer_visitor_, OnUnauthenticatedHeader(_)); 564 EXPECT_CALL(framer_visitor_, OnUnauthenticatedHeader(_));
565 EXPECT_CALL(framer_visitor_, OnDecryptedPacket(_)); 565 EXPECT_CALL(framer_visitor_, OnDecryptedPacket(_));
566 EXPECT_CALL(framer_visitor_, OnPacketHeader(_)); 566 EXPECT_CALL(framer_visitor_, OnPacketHeader(_));
567 EXPECT_CALL(framer_visitor_, OnStreamFrame(_)); 567 EXPECT_CALL(framer_visitor_, OnStreamFrame(_));
568 EXPECT_CALL(framer_visitor_, OnPacketComplete()); 568 EXPECT_CALL(framer_visitor_, OnPacketComplete());
569 } 569 }
570 ProcessPacket(serialized.packet); 570 ProcessPacket(serialized.packet);
571 delete serialized.packet; 571 delete serialized.packet;
572 } 572 }
573 573
574 TEST_P(QuicPacketCreatorTest, ReserializeCryptoFrameWithForwardSecurity) {
575 QuicStreamFrame* stream_frame =
576 new QuicStreamFrame(kCryptoStreamId, /*fin=*/false, 0u, StringPiece());
577 RetransmittableFrames frames;
578 frames.AddFrame(QuicFrame(stream_frame));
579 creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE);
580 char buffer[kMaxPacketSize];
581 SerializedPacket serialized = creator_.ReserializeAllFrames(
582 frames, ENCRYPTION_NONE,
583 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_), buffer,
584 kMaxPacketSize);
585 EXPECT_EQ(ENCRYPTION_NONE, serialized.encryption_level);
586 delete serialized.packet;
587 }
588
589 TEST_P(QuicPacketCreatorTest, ReserializeFrameWithForwardSecurity) {
590 QuicStreamFrame* stream_frame =
591 new QuicStreamFrame(0u, /*fin=*/false, 0u, StringPiece());
592 RetransmittableFrames frames;
593 frames.AddFrame(QuicFrame(stream_frame));
594 creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE);
595 char buffer[kMaxPacketSize];
596 SerializedPacket serialized = creator_.ReserializeAllFrames(
597 frames, ENCRYPTION_NONE,
598 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_), buffer,
599 kMaxPacketSize);
600 EXPECT_EQ(ENCRYPTION_FORWARD_SECURE, serialized.encryption_level);
601 delete serialized.packet;
602 }
603
574 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithPadding) { 604 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithPadding) {
575 QuicFrame frame; 605 QuicFrame frame;
576 QuicIOVector io_vector(MakeIOVector("fake handshake message data")); 606 QuicIOVector io_vector(MakeIOVector("fake handshake message data"));
577 UniqueStreamBuffer stream_buffer; 607 UniqueStreamBuffer stream_buffer;
578 QuicPacketCreatorPeer::CreateStreamFrame(&creator_, kCryptoStreamId, 608 QuicPacketCreatorPeer::CreateStreamFrame(&creator_, kCryptoStreamId,
579 io_vector, 0u, 0u, false, &frame); 609 io_vector, 0u, 0u, false, &frame);
580 RetransmittableFrames frames; 610 RetransmittableFrames frames;
581 frames.AddFrame(frame); 611 frames.AddFrame(frame);
582 frames.set_needs_padding(true); 612 frames.set_needs_padding(true);
583 char buffer[kMaxPacketSize]; 613 char buffer[kMaxPacketSize];
(...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 creator_.set_fec_send_policy(FEC_ALARM_TRIGGER); 1355 creator_.set_fec_send_policy(FEC_ALARM_TRIGGER);
1326 creator_.set_should_fec_protect_next_packet(true); 1356 creator_.set_should_fec_protect_next_packet(true);
1327 creator_.MaybeSendFecPacketAndCloseGroup(/*force_send_fec=*/true, 1357 creator_.MaybeSendFecPacketAndCloseGroup(/*force_send_fec=*/true,
1328 /*is_fec_timeout=*/false); 1358 /*is_fec_timeout=*/false);
1329 EXPECT_FALSE(creator_.IsFecGroupOpen()); 1359 EXPECT_FALSE(creator_.IsFecGroupOpen());
1330 } 1360 }
1331 1361
1332 } // namespace 1362 } // namespace
1333 } // namespace test 1363 } // namespace test
1334 } // namespace net 1364 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_packet_creator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698