| OLD | NEW |
| 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/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "crypto/secure_hash.h" | 9 #include "crypto/secure_hash.h" |
| 10 #include "net/quic/crypto/cert_compressor.h" | 10 #include "net/quic/crypto/cert_compressor.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 return params; | 122 return params; |
| 123 } | 123 } |
| 124 | 124 |
| 125 class CryptoServerTest : public ::testing::TestWithParam<TestParams> { | 125 class CryptoServerTest : public ::testing::TestWithParam<TestParams> { |
| 126 public: | 126 public: |
| 127 CryptoServerTest() | 127 CryptoServerTest() |
| 128 : rand_(QuicRandom::GetInstance()), | 128 : rand_(QuicRandom::GetInstance()), |
| 129 client_address_(Loopback4(), 1234), | 129 client_address_(Loopback4(), 1234), |
| 130 config_(QuicCryptoServerConfig::TESTING, | 130 config_(QuicCryptoServerConfig::TESTING, |
| 131 rand_, | 131 rand_, |
| 132 CryptoTestUtils::ProofSourceForTesting()) { | 132 CryptoTestUtils::ProofSourceForTesting()), |
| 133 compressed_certs_cache_( |
| 134 QuicCompressedCertsCache::kQuicCompressedCertsCacheSize) { |
| 133 supported_versions_ = GetParam().supported_versions; | 135 supported_versions_ = GetParam().supported_versions; |
| 134 config_.set_enable_serving_sct(true); | 136 config_.set_enable_serving_sct(true); |
| 135 | 137 |
| 136 client_version_ = supported_versions_.front(); | 138 client_version_ = supported_versions_.front(); |
| 137 client_version_string_ = | 139 client_version_string_ = |
| 138 QuicUtils::TagToString(QuicVersionToQuicTag(client_version_)); | 140 QuicUtils::TagToString(QuicVersionToQuicTag(client_version_)); |
| 139 | 141 |
| 140 FLAGS_use_early_return_when_verifying_chlo = | 142 FLAGS_use_early_return_when_verifying_chlo = |
| 141 GetParam().use_early_return_when_verifying_chlo; | 143 GetParam().use_early_return_when_verifying_chlo; |
| 142 FLAGS_enable_quic_stateless_reject_support = | 144 FLAGS_enable_quic_stateless_reject_support = |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 bool should_succeed, | 293 bool should_succeed, |
| 292 const char* error_substr) { | 294 const char* error_substr) { |
| 293 IPAddress server_ip; | 295 IPAddress server_ip; |
| 294 string error_details; | 296 string error_details; |
| 295 QuicConnectionId server_designated_connection_id = | 297 QuicConnectionId server_designated_connection_id = |
| 296 rand_for_id_generation_.RandUint64(); | 298 rand_for_id_generation_.RandUint64(); |
| 297 QuicErrorCode error = config_.ProcessClientHello( | 299 QuicErrorCode error = config_.ProcessClientHello( |
| 298 result, 1 /* ConnectionId */, server_ip, client_address_, | 300 result, 1 /* ConnectionId */, server_ip, client_address_, |
| 299 supported_versions_.front(), supported_versions_, | 301 supported_versions_.front(), supported_versions_, |
| 300 use_stateless_rejects_, server_designated_connection_id, &clock_, rand_, | 302 use_stateless_rejects_, server_designated_connection_id, &clock_, rand_, |
| 301 ¶ms_, &crypto_proof_, &out_, &error_details); | 303 &compressed_certs_cache_, ¶ms_, &crypto_proof_, &out_, |
| 304 &error_details); |
| 302 | 305 |
| 303 if (should_succeed) { | 306 if (should_succeed) { |
| 304 ASSERT_EQ(error, QUIC_NO_ERROR) << "Message failed with error " | 307 ASSERT_EQ(error, QUIC_NO_ERROR) << "Message failed with error " |
| 305 << error_details << ": " | 308 << error_details << ": " |
| 306 << message.DebugString(); | 309 << message.DebugString(); |
| 307 } else { | 310 } else { |
| 308 ASSERT_NE(error, QUIC_NO_ERROR) << "Message didn't fail: " | 311 ASSERT_NE(error, QUIC_NO_ERROR) << "Message didn't fail: " |
| 309 << message.DebugString(); | 312 << message.DebugString(); |
| 310 | 313 |
| 311 EXPECT_TRUE(error_details.find(error_substr) != string::npos) | 314 EXPECT_TRUE(error_details.find(error_substr) != string::npos) |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 | 397 |
| 395 protected: | 398 protected: |
| 396 QuicRandom* const rand_; | 399 QuicRandom* const rand_; |
| 397 MockRandom rand_for_id_generation_; | 400 MockRandom rand_for_id_generation_; |
| 398 MockClock clock_; | 401 MockClock clock_; |
| 399 IPEndPoint client_address_; | 402 IPEndPoint client_address_; |
| 400 QuicVersionVector supported_versions_; | 403 QuicVersionVector supported_versions_; |
| 401 QuicVersion client_version_; | 404 QuicVersion client_version_; |
| 402 string client_version_string_; | 405 string client_version_string_; |
| 403 QuicCryptoServerConfig config_; | 406 QuicCryptoServerConfig config_; |
| 407 QuicCompressedCertsCache compressed_certs_cache_; |
| 404 QuicCryptoServerConfig::ConfigOptions config_options_; | 408 QuicCryptoServerConfig::ConfigOptions config_options_; |
| 405 QuicCryptoNegotiatedParameters params_; | 409 QuicCryptoNegotiatedParameters params_; |
| 406 QuicCryptoProof crypto_proof_; | 410 QuicCryptoProof crypto_proof_; |
| 407 CryptoHandshakeMessage out_; | 411 CryptoHandshakeMessage out_; |
| 408 uint8_t orbit_[kOrbitSize]; | 412 uint8_t orbit_[kOrbitSize]; |
| 409 bool use_stateless_rejects_; | 413 bool use_stateless_rejects_; |
| 410 | 414 |
| 411 // These strings contain hex escaped values from the server suitable for using | 415 // These strings contain hex escaped values from the server suitable for using |
| 412 // when constructing client hello messages. | 416 // when constructing client hello messages. |
| 413 string nonce_hex_, pub_hex_, srct_hex_, scid_hex_; | 417 string nonce_hex_, pub_hex_, srct_hex_, scid_hex_; |
| (...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1125 | 1129 |
| 1126 strike_register_client_->RunPendingVerifications(); | 1130 strike_register_client_->RunPendingVerifications(); |
| 1127 ASSERT_TRUE(called); | 1131 ASSERT_TRUE(called); |
| 1128 EXPECT_EQ(0, strike_register_client_->PendingVerifications()); | 1132 EXPECT_EQ(0, strike_register_client_->PendingVerifications()); |
| 1129 // The message should be rejected now. | 1133 // The message should be rejected now. |
| 1130 CheckRejectTag(); | 1134 CheckRejectTag(); |
| 1131 } | 1135 } |
| 1132 | 1136 |
| 1133 } // namespace test | 1137 } // namespace test |
| 1134 } // namespace net | 1138 } // namespace net |
| OLD | NEW |