Index: net/quic/core/crypto/crypto_server_test.cc |
diff --git a/net/quic/core/crypto/crypto_server_test.cc b/net/quic/core/crypto/crypto_server_test.cc |
index 282e08bd872813a9d0bec79e4218f87bb7e730b2..ef8a0ad8b4d03dbadfebb627a099f4296ee79037 100644 |
--- a/net/quic/core/crypto/crypto_server_test.cc |
+++ b/net/quic/core/crypto/crypto_server_test.cc |
@@ -205,15 +205,6 @@ class CryptoServerTest : public ::testing::TestWithParam<TestParams> { |
void Run(scoped_refptr<Result> result, |
std::unique_ptr<ProofSource::Details> /* details */) override { |
- { |
- // Ensure that the strike register client lock is not held. |
- QuicCryptoServerConfigPeer peer(&test_->config_); |
- base::Lock* m = peer.GetStrikeRegisterClientLock(); |
- // In Chromium, we will dead lock if the lock is held by the current |
- // thread. Chromium doesn't have AssertNotHeld API call. |
- // m->AssertNotHeld(); |
- base::AutoLock lock(*m); |
- } |
ASSERT_FALSE(*called_); |
test_->ProcessValidationResult(std::move(result), should_succeed_, |
error_substr_); |
@@ -1161,106 +1152,5 @@ TEST_P(CryptoServerTestOldVersion, XlctNotRequired) { |
EXPECT_EQ(kSHLO, out_.tag()); |
} |
-class AsyncStrikeServerVerificationTest : public CryptoServerTest { |
- protected: |
- AsyncStrikeServerVerificationTest() {} |
- |
- void SetUp() override { |
- const string kOrbit = "12345678"; |
- config_options_.orbit = kOrbit; |
- strike_register_client_ = new DelayedVerifyStrikeRegisterClient( |
- 10000, // strike_register_max_entries |
- static_cast<uint32_t>(clock_.WallNow().ToUNIXSeconds()), |
- 60, // strike_register_window_secs |
- reinterpret_cast<const uint8_t*>(kOrbit.c_str()), |
- StrikeRegister::NO_STARTUP_PERIOD_NEEDED); |
- config_.SetStrikeRegisterClient(strike_register_client_); |
- ASSERT_NO_FATAL_FAILURE(CryptoServerTest::SetUp()); |
- strike_register_client_->StartDelayingVerification(); |
- } |
- |
- DelayedVerifyStrikeRegisterClient* strike_register_client_; |
-}; |
- |
-TEST_P(AsyncStrikeServerVerificationTest, AsyncReplayProtection) { |
- // This tests async validation with a strike register works. |
- // clang-format off |
- CryptoHandshakeMessage msg = CryptoTestUtils::Message( |
- "CHLO", |
- "PDMD", "X509", |
- "AEAD", "AESG", |
- "KEXS", "C255", |
- "SCID", scid_hex_.c_str(), |
- "#004b5453", srct_hex_.c_str(), |
- "PUBS", pub_hex_.c_str(), |
- "NONC", nonce_hex_.c_str(), |
- "VER\0", client_version_string_.c_str(), |
- "$padding", static_cast<int>(kClientHelloMinimumSize), |
- nullptr); |
- // clang-format on |
- |
- // Clear the message tag. |
- out_.set_tag(0); |
- |
- bool called = false; |
- IPAddress server_ip; |
- config_.ValidateClientHello( |
- msg, client_address_.address(), server_ip, client_version_, &clock_, |
- signed_config_, std::unique_ptr<ValidateCallback>( |
- new ValidateCallback(this, true, "", &called))); |
- // The verification request was queued. |
- ASSERT_FALSE(called); |
- EXPECT_EQ(0u, out_.tag()); |
- EXPECT_EQ(1, strike_register_client_->PendingVerifications()); |
- |
- // Continue processing the verification request. |
- strike_register_client_->RunPendingVerifications(); |
- ASSERT_TRUE(called); |
- EXPECT_EQ(0, strike_register_client_->PendingVerifications()); |
- // The message should be accepted now. |
- EXPECT_EQ(kSHLO, out_.tag()); |
- |
- // Rejected if replayed. |
- config_.ValidateClientHello( |
- msg, client_address_.address(), server_ip, client_version_, &clock_, |
- signed_config_, std::unique_ptr<ValidateCallback>( |
- new ValidateCallback(this, true, "", &called))); |
- // The verification request was queued. |
- ASSERT_FALSE(called); |
- EXPECT_EQ(1, strike_register_client_->PendingVerifications()); |
- |
- strike_register_client_->RunPendingVerifications(); |
- ASSERT_TRUE(called); |
- EXPECT_EQ(0, strike_register_client_->PendingVerifications()); |
- // The message should be rejected now. |
- CheckRejectTag(); |
-} |
- |
-TEST_P(AsyncStrikeServerVerificationTest, RequireHandshakeCofirmationPre33) { |
- FLAGS_quic_require_handshake_confirmation = false; |
- FLAGS_quic_require_handshake_confirmation_pre33 = true; |
- // clang-format off |
- CryptoHandshakeMessage msg = CryptoTestUtils::Message( |
- "CHLO", |
- "PDMD", "X509", |
- "AEAD", "AESG", |
- "KEXS", "C255", |
- "SNI", "foobar1.example.com", |
- "SCID", scid_hex_.c_str(), |
- "#004b5453", srct_hex_.c_str(), |
- "PUBS", pub_hex_.c_str(), |
- "NONC", nonce_hex_.c_str(), |
- "VER\0", client_version_string_.c_str(), |
- "XLCT", XlctHexString().c_str(), |
- "$padding", static_cast<int>(kClientHelloMinimumSize), |
- nullptr); |
- // clang-format on |
- |
- ShouldSucceed(msg); |
- |
- ASSERT_EQ(kSHLO, out_.tag()); |
- CheckServerHello(out_); |
-} |
- |
} // namespace test |
} // namespace net |