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

Side by Side Diff: net/quic/crypto/crypto_server_test.cc

Issue 1411063004: Remove insecure QUIC support (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <ostream> 5 #include <ostream>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "crypto/secure_hash.h" 10 #include "crypto/secure_hash.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 } 86 }
87 } 87 }
88 } 88 }
89 return params; 89 return params;
90 } 90 }
91 91
92 class CryptoServerTest : public ::testing::TestWithParam<TestParams> { 92 class CryptoServerTest : public ::testing::TestWithParam<TestParams> {
93 public: 93 public:
94 CryptoServerTest() 94 CryptoServerTest()
95 : rand_(QuicRandom::GetInstance()), 95 : rand_(QuicRandom::GetInstance()),
96 client_address_(Loopback4(), 1234), 96 client_address_(IPEndPoint(Loopback4(), 1234)),
97 config_(QuicCryptoServerConfig::TESTING, rand_) { 97 config_(QuicCryptoServerConfig::TESTING, rand_,
98 #if defined(USE_OPENSSL) 98 CryptoTestUtils::ProofSourceForTesting()) {
99 config_.SetProofSource(CryptoTestUtils::ProofSourceForTesting());
100 #else
101 config_.SetProofSource(CryptoTestUtils::FakeProofSourceForTesting());
102 #endif
103 supported_versions_ = QuicSupportedVersions(); 99 supported_versions_ = QuicSupportedVersions();
104 client_version_ = supported_versions_.front(); 100 client_version_ = supported_versions_.front();
105 client_version_string_ = 101 client_version_string_ =
106 QuicUtils::TagToString(QuicVersionToQuicTag(client_version_)); 102 QuicUtils::TagToString(QuicVersionToQuicTag(client_version_));
107 103
108 FLAGS_use_early_return_when_verifying_chlo = 104 FLAGS_use_early_return_when_verifying_chlo =
109 GetParam().use_early_return_when_verifying_chlo; 105 GetParam().use_early_return_when_verifying_chlo;
110 FLAGS_enable_quic_stateless_reject_support = 106 FLAGS_enable_quic_stateless_reject_support =
111 GetParam().enable_stateless_rejects; 107 GetParam().enable_stateless_rejects;
112 use_stateless_rejects_ = GetParam().use_stateless_rejects; 108 use_stateless_rejects_ = GetParam().use_stateless_rejects;
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 } 752 }
757 753
758 TEST(CryptoServerConfigGenerationTest, Determinism) { 754 TEST(CryptoServerConfigGenerationTest, Determinism) {
759 // Test that using a deterministic PRNG causes the server-config to be 755 // Test that using a deterministic PRNG causes the server-config to be
760 // deterministic. 756 // deterministic.
761 757
762 MockRandom rand_a, rand_b; 758 MockRandom rand_a, rand_b;
763 const QuicCryptoServerConfig::ConfigOptions options; 759 const QuicCryptoServerConfig::ConfigOptions options;
764 MockClock clock; 760 MockClock clock;
765 761
766 QuicCryptoServerConfig a(QuicCryptoServerConfig::TESTING, &rand_a); 762 QuicCryptoServerConfig a(QuicCryptoServerConfig::TESTING, &rand_a,
767 QuicCryptoServerConfig b(QuicCryptoServerConfig::TESTING, &rand_b); 763 CryptoTestUtils::ProofSourceForTesting());
764 QuicCryptoServerConfig b(QuicCryptoServerConfig::TESTING, &rand_b,
765 CryptoTestUtils::ProofSourceForTesting());
768 scoped_ptr<CryptoHandshakeMessage> scfg_a( 766 scoped_ptr<CryptoHandshakeMessage> scfg_a(
769 a.AddDefaultConfig(&rand_a, &clock, options)); 767 a.AddDefaultConfig(&rand_a, &clock, options));
770 scoped_ptr<CryptoHandshakeMessage> scfg_b( 768 scoped_ptr<CryptoHandshakeMessage> scfg_b(
771 b.AddDefaultConfig(&rand_b, &clock, options)); 769 b.AddDefaultConfig(&rand_b, &clock, options));
772 770
773 ASSERT_EQ(scfg_a->DebugString(), scfg_b->DebugString()); 771 ASSERT_EQ(scfg_a->DebugString(), scfg_b->DebugString());
774 } 772 }
775 773
776 TEST(CryptoServerConfigGenerationTest, SCIDVaries) { 774 TEST(CryptoServerConfigGenerationTest, SCIDVaries) {
777 // This test ensures that the server config ID varies for different server 775 // This test ensures that the server config ID varies for different server
778 // configs. 776 // configs.
779 777
780 MockRandom rand_a, rand_b; 778 MockRandom rand_a, rand_b;
781 const QuicCryptoServerConfig::ConfigOptions options; 779 const QuicCryptoServerConfig::ConfigOptions options;
782 MockClock clock; 780 MockClock clock;
783 781
784 QuicCryptoServerConfig a(QuicCryptoServerConfig::TESTING, &rand_a); 782 QuicCryptoServerConfig a(QuicCryptoServerConfig::TESTING, &rand_a,
783 CryptoTestUtils::ProofSourceForTesting());
785 rand_b.ChangeValue(); 784 rand_b.ChangeValue();
786 QuicCryptoServerConfig b(QuicCryptoServerConfig::TESTING, &rand_b); 785 QuicCryptoServerConfig b(QuicCryptoServerConfig::TESTING, &rand_b,
786 CryptoTestUtils::ProofSourceForTesting());
787 scoped_ptr<CryptoHandshakeMessage> scfg_a( 787 scoped_ptr<CryptoHandshakeMessage> scfg_a(
788 a.AddDefaultConfig(&rand_a, &clock, options)); 788 a.AddDefaultConfig(&rand_a, &clock, options));
789 scoped_ptr<CryptoHandshakeMessage> scfg_b( 789 scoped_ptr<CryptoHandshakeMessage> scfg_b(
790 b.AddDefaultConfig(&rand_b, &clock, options)); 790 b.AddDefaultConfig(&rand_b, &clock, options));
791 791
792 StringPiece scid_a, scid_b; 792 StringPiece scid_a, scid_b;
793 EXPECT_TRUE(scfg_a->GetStringPiece(kSCID, &scid_a)); 793 EXPECT_TRUE(scfg_a->GetStringPiece(kSCID, &scid_a));
794 EXPECT_TRUE(scfg_b->GetStringPiece(kSCID, &scid_b)); 794 EXPECT_TRUE(scfg_b->GetStringPiece(kSCID, &scid_b));
795 795
796 EXPECT_NE(scid_a, scid_b); 796 EXPECT_NE(scid_a, scid_b);
797 } 797 }
798 798
799 TEST(CryptoServerConfigGenerationTest, SCIDIsHashOfServerConfig) { 799 TEST(CryptoServerConfigGenerationTest, SCIDIsHashOfServerConfig) {
800 MockRandom rand_a; 800 MockRandom rand_a;
801 const QuicCryptoServerConfig::ConfigOptions options; 801 const QuicCryptoServerConfig::ConfigOptions options;
802 MockClock clock; 802 MockClock clock;
803 803
804 QuicCryptoServerConfig a(QuicCryptoServerConfig::TESTING, &rand_a); 804 QuicCryptoServerConfig a(QuicCryptoServerConfig::TESTING, &rand_a,
805 CryptoTestUtils::ProofSourceForTesting());
805 scoped_ptr<CryptoHandshakeMessage> scfg( 806 scoped_ptr<CryptoHandshakeMessage> scfg(
806 a.AddDefaultConfig(&rand_a, &clock, options)); 807 a.AddDefaultConfig(&rand_a, &clock, options));
807 808
808 StringPiece scid; 809 StringPiece scid;
809 EXPECT_TRUE(scfg->GetStringPiece(kSCID, &scid)); 810 EXPECT_TRUE(scfg->GetStringPiece(kSCID, &scid));
810 // Need to take a copy of |scid| has we're about to call |Erase|. 811 // Need to take a copy of |scid| has we're about to call |Erase|.
811 const string scid_str(scid.as_string()); 812 const string scid_str(scid.as_string());
812 813
813 scfg->Erase(kSCID); 814 scfg->Erase(kSCID);
814 scfg->MarkDirty(); 815 scfg->MarkDirty();
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
970 971
971 strike_register_client_->RunPendingVerifications(); 972 strike_register_client_->RunPendingVerifications();
972 ASSERT_TRUE(called); 973 ASSERT_TRUE(called);
973 EXPECT_EQ(0, strike_register_client_->PendingVerifications()); 974 EXPECT_EQ(0, strike_register_client_->PendingVerifications());
974 // The message should be rejected now. 975 // The message should be rejected now.
975 CheckRejectTag(); 976 CheckRejectTag();
976 } 977 }
977 978
978 } // namespace test 979 } // namespace test
979 } // namespace net 980 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698