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

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

Issue 2517603003: Moves QuicTag typedefs, and QuicTag utility methods to quic_tag.{h,cc}. No behavior change. (Closed)
Patch Set: Created 4 years, 1 month 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 <algorithm> 5 #include <algorithm>
6 #include <cstdint> 6 #include <cstdint>
7 #include <memory> 7 #include <memory>
8 #include <ostream> 8 #include <ostream>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 compressed_certs_cache_( 112 compressed_certs_cache_(
113 QuicCompressedCertsCache::kQuicCompressedCertsCacheSize), 113 QuicCompressedCertsCache::kQuicCompressedCertsCacheSize),
114 params_(new QuicCryptoNegotiatedParameters), 114 params_(new QuicCryptoNegotiatedParameters),
115 signed_config_(new QuicSignedServerConfig), 115 signed_config_(new QuicSignedServerConfig),
116 chlo_packet_size_(kDefaultMaxPacketSize) { 116 chlo_packet_size_(kDefaultMaxPacketSize) {
117 supported_versions_ = GetParam().supported_versions; 117 supported_versions_ = GetParam().supported_versions;
118 config_.set_enable_serving_sct(true); 118 config_.set_enable_serving_sct(true);
119 119
120 client_version_ = supported_versions_.front(); 120 client_version_ = supported_versions_.front();
121 client_version_string_ = 121 client_version_string_ =
122 QuicUtils::TagToString(QuicVersionToQuicTag(client_version_)); 122 QuicTagToString(QuicVersionToQuicTag(client_version_));
123 123
124 FLAGS_quic_require_handshake_confirmation_pre33 = false; 124 FLAGS_quic_require_handshake_confirmation_pre33 = false;
125 FLAGS_enable_quic_stateless_reject_support = 125 FLAGS_enable_quic_stateless_reject_support =
126 GetParam().enable_stateless_rejects; 126 GetParam().enable_stateless_rejects;
127 use_stateless_rejects_ = GetParam().use_stateless_rejects; 127 use_stateless_rejects_ = GetParam().use_stateless_rejects;
128 } 128 }
129 129
130 void SetUp() override { 130 void SetUp() override {
131 QuicCryptoServerConfig::ConfigOptions old_config_options; 131 QuicCryptoServerConfig::ConfigOptions old_config_options;
132 old_config_options.id = kOldConfigId; 132 old_config_options.id = kOldConfigId;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 ASSERT_EQ(QUIC_NO_ERROR, 374 ASSERT_EQ(QUIC_NO_ERROR,
375 out_.GetUint64(kRCID, &server_designated_connection_id)); 375 out_.GetUint64(kRCID, &server_designated_connection_id));
376 EXPECT_EQ(rand_for_id_generation_.RandUint64(), 376 EXPECT_EQ(rand_for_id_generation_.RandUint64(),
377 server_designated_connection_id); 377 server_designated_connection_id);
378 } 378 }
379 rand_for_id_generation_.ChangeValue(); 379 rand_for_id_generation_.ChangeValue();
380 } 380 }
381 381
382 void CheckRejectTag() { 382 void CheckRejectTag() {
383 if (RejectsAreStateless()) { 383 if (RejectsAreStateless()) {
384 ASSERT_EQ(kSREJ, out_.tag()) << QuicUtils::TagToString(out_.tag()); 384 ASSERT_EQ(kSREJ, out_.tag()) << QuicTagToString(out_.tag());
385 } else { 385 } else {
386 ASSERT_EQ(kREJ, out_.tag()) << QuicUtils::TagToString(out_.tag()); 386 ASSERT_EQ(kREJ, out_.tag()) << QuicTagToString(out_.tag());
387 } 387 }
388 } 388 }
389 389
390 bool RejectsAreStateless() { 390 bool RejectsAreStateless() {
391 return GetParam().enable_stateless_rejects && 391 return GetParam().enable_stateless_rejects &&
392 GetParam().use_stateless_rejects; 392 GetParam().use_stateless_rejects;
393 } 393 }
394 394
395 string XlctHexString() { 395 string XlctHexString() {
396 uint64_t xlct = CryptoTestUtils::LeafCertHashForTesting(); 396 uint64_t xlct = CryptoTestUtils::LeafCertHashForTesting();
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 } 711 }
712 712
713 TEST_P(CryptoServerTest, DowngradeAttack) { 713 TEST_P(CryptoServerTest, DowngradeAttack) {
714 if (supported_versions_.size() == 1) { 714 if (supported_versions_.size() == 1) {
715 // No downgrade attack is possible if the server only supports one version. 715 // No downgrade attack is possible if the server only supports one version.
716 return; 716 return;
717 } 717 }
718 // Set the client's preferred version to a supported version that 718 // Set the client's preferred version to a supported version that
719 // is not the "current" version (supported_versions_.front()). 719 // is not the "current" version (supported_versions_.front()).
720 string bad_version = 720 string bad_version =
721 QuicUtils::TagToString(QuicVersionToQuicTag(supported_versions_.back())); 721 QuicTagToString(QuicVersionToQuicTag(supported_versions_.back()));
722 722
723 // clang-format off 723 // clang-format off
724 CryptoHandshakeMessage msg = CryptoTestUtils::Message( 724 CryptoHandshakeMessage msg = CryptoTestUtils::Message(
725 "CHLO", 725 "CHLO",
726 "PDMD", "X509", 726 "PDMD", "X509",
727 "VER\0", bad_version.c_str(), 727 "VER\0", bad_version.c_str(),
728 "$padding", static_cast<int>(kClientHelloMinimumSize), 728 "$padding", static_cast<int>(kClientHelloMinimumSize),
729 nullptr); 729 nullptr);
730 // clang-format on 730 // clang-format on
731 ShouldFailMentioning("Downgrade", msg); 731 ShouldFailMentioning("Downgrade", msg);
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 const HandshakeFailureReason kRejectReasons[] = { 1100 const HandshakeFailureReason kRejectReasons[] = {
1101 SERVER_CONFIG_INCHOATE_HELLO_FAILURE}; 1101 SERVER_CONFIG_INCHOATE_HELLO_FAILURE};
1102 CheckRejectReasons(kRejectReasons, arraysize(kRejectReasons)); 1102 CheckRejectReasons(kRejectReasons, arraysize(kRejectReasons));
1103 } 1103 }
1104 1104
1105 class CryptoServerTestOldVersion : public CryptoServerTest { 1105 class CryptoServerTestOldVersion : public CryptoServerTest {
1106 public: 1106 public:
1107 void SetUp() override { 1107 void SetUp() override {
1108 client_version_ = supported_versions_.back(); 1108 client_version_ = supported_versions_.back();
1109 client_version_string_ = 1109 client_version_string_ =
1110 QuicUtils::TagToString(QuicVersionToQuicTag(client_version_)); 1110 QuicTagToString(QuicVersionToQuicTag(client_version_));
1111 CryptoServerTest::SetUp(); 1111 CryptoServerTest::SetUp();
1112 } 1112 }
1113 }; 1113 };
1114 1114
1115 TEST_P(CryptoServerTestOldVersion, ServerIgnoresXlct) { 1115 TEST_P(CryptoServerTestOldVersion, ServerIgnoresXlct) {
1116 // clang-format off 1116 // clang-format off
1117 CryptoHandshakeMessage msg = CryptoTestUtils::Message( 1117 CryptoHandshakeMessage msg = CryptoTestUtils::Message(
1118 "CHLO", 1118 "CHLO",
1119 "PDMD", "X509", 1119 "PDMD", "X509",
1120 "AEAD", "AESG", 1120 "AEAD", "AESG",
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1257 // clang-format on 1257 // clang-format on
1258 1258
1259 ShouldSucceed(msg); 1259 ShouldSucceed(msg);
1260 1260
1261 ASSERT_EQ(kSHLO, out_.tag()); 1261 ASSERT_EQ(kSHLO, out_.tag());
1262 CheckServerHello(out_); 1262 CheckServerHello(out_);
1263 } 1263 }
1264 1264
1265 } // namespace test 1265 } // namespace test
1266 } // namespace net 1266 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/crypto/crypto_protocol.h ('k') | net/quic/core/crypto/local_strike_register_client_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698