| OLD | NEW |
| 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/core/quic_crypto_server_stream.h" | 5 #include "net/quic/core/quic_crypto_server_stream.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 | 578 |
| 579 class FailingProofSource : public ProofSource { | 579 class FailingProofSource : public ProofSource { |
| 580 public: | 580 public: |
| 581 bool GetProof(const IPAddress& server_ip, | 581 bool GetProof(const IPAddress& server_ip, |
| 582 const string& hostname, | 582 const string& hostname, |
| 583 const string& server_config, | 583 const string& server_config, |
| 584 QuicVersion quic_version, | 584 QuicVersion quic_version, |
| 585 StringPiece chlo_hash, | 585 StringPiece chlo_hash, |
| 586 const QuicTagVector& connection_options, | 586 const QuicTagVector& connection_options, |
| 587 scoped_refptr<ProofSource::Chain>* out_chain, | 587 scoped_refptr<ProofSource::Chain>* out_chain, |
| 588 string* out_signature, | 588 QuicCryptoProof* out_proof) override { |
| 589 string* out_leaf_cert_sct) override { | |
| 590 return false; | 589 return false; |
| 591 } | 590 } |
| 592 | 591 |
| 593 void GetProof(const IPAddress& server_ip, | 592 void GetProof(const IPAddress& server_ip, |
| 594 const string& hostname, | 593 const string& hostname, |
| 595 const string& server_config, | 594 const string& server_config, |
| 596 QuicVersion quic_version, | 595 QuicVersion quic_version, |
| 597 StringPiece chlo_hash, | 596 StringPiece chlo_hash, |
| 598 const QuicTagVector& connection_options, | 597 const QuicTagVector& connection_options, |
| 599 std::unique_ptr<Callback> callback) override { | 598 std::unique_ptr<Callback> callback) override { |
| 600 callback->Run(false, nullptr, "", "", nullptr); | 599 callback->Run(false, nullptr, QuicCryptoProof(), nullptr); |
| 601 } | 600 } |
| 602 }; | 601 }; |
| 603 | 602 |
| 604 class QuicCryptoServerStreamTestWithFailingProofSource | 603 class QuicCryptoServerStreamTestWithFailingProofSource |
| 605 : public QuicCryptoServerStreamTest { | 604 : public QuicCryptoServerStreamTest { |
| 606 public: | 605 public: |
| 607 QuicCryptoServerStreamTestWithFailingProofSource() | 606 QuicCryptoServerStreamTestWithFailingProofSource() |
| 608 : QuicCryptoServerStreamTest( | 607 : QuicCryptoServerStreamTest( |
| 609 std::unique_ptr<FailingProofSource>(new FailingProofSource)) {} | 608 std::unique_ptr<FailingProofSource>(new FailingProofSource)) {} |
| 610 }; | 609 }; |
| 611 | 610 |
| 612 INSTANTIATE_TEST_CASE_P(MoreTests, | 611 INSTANTIATE_TEST_CASE_P(MoreTests, |
| 613 QuicCryptoServerStreamTestWithFailingProofSource, | 612 QuicCryptoServerStreamTestWithFailingProofSource, |
| 614 testing::Bool()); | 613 testing::Bool()); |
| 615 | 614 |
| 616 TEST_P(QuicCryptoServerStreamTestWithFailingProofSource, Test) { | 615 TEST_P(QuicCryptoServerStreamTestWithFailingProofSource, Test) { |
| 617 Initialize(); | 616 Initialize(); |
| 618 InitializeFakeClient(/* supports_stateless_rejects= */ false); | 617 InitializeFakeClient(/* supports_stateless_rejects= */ false); |
| 619 | 618 |
| 620 // Regression test for b/31521252, in which a crash would happen here. | 619 // Regression test for b/31521252, in which a crash would happen here. |
| 621 AdvanceHandshakeWithFakeClient(); | 620 AdvanceHandshakeWithFakeClient(); |
| 622 EXPECT_FALSE(server_stream()->encryption_established()); | 621 EXPECT_FALSE(server_stream()->encryption_established()); |
| 623 EXPECT_FALSE(server_stream()->handshake_confirmed()); | 622 EXPECT_FALSE(server_stream()->handshake_confirmed()); |
| 624 } | 623 } |
| 625 | 624 |
| 626 } // namespace | 625 } // namespace |
| 627 | 626 |
| 628 } // namespace test | 627 } // namespace test |
| 629 } // namespace net | 628 } // namespace net |
| OLD | NEW |