| 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 <memory> | 5 #include <memory> |
| 6 #include <utility> | 6 #include <utility> |
| 7 | 7 |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 #include "net/base/load_timing_info_test_util.h" | 53 #include "net/base/load_timing_info_test_util.h" |
| 54 #include "net/base/net_errors.h" | 54 #include "net/base/net_errors.h" |
| 55 #include "net/base/net_module.h" | 55 #include "net/base/net_module.h" |
| 56 #include "net/base/request_priority.h" | 56 #include "net/base/request_priority.h" |
| 57 #include "net/base/upload_bytes_element_reader.h" | 57 #include "net/base/upload_bytes_element_reader.h" |
| 58 #include "net/base/upload_data_stream.h" | 58 #include "net/base/upload_data_stream.h" |
| 59 #include "net/base/upload_file_element_reader.h" | 59 #include "net/base/upload_file_element_reader.h" |
| 60 #include "net/base/url_util.h" | 60 #include "net/base/url_util.h" |
| 61 #include "net/cert/ct_policy_enforcer.h" | 61 #include "net/cert/ct_policy_enforcer.h" |
| 62 #include "net/cert/ct_policy_status.h" | 62 #include "net/cert/ct_policy_status.h" |
| 63 #include "net/cert/ct_verifier.h" | 63 #include "net/cert/do_nothing_ct_verifier.h" |
| 64 #include "net/cert/ev_root_ca_metadata.h" | 64 #include "net/cert/ev_root_ca_metadata.h" |
| 65 #include "net/cert/mock_cert_verifier.h" | 65 #include "net/cert/mock_cert_verifier.h" |
| 66 #include "net/cert/signed_certificate_timestamp_and_status.h" | 66 #include "net/cert/signed_certificate_timestamp_and_status.h" |
| 67 #include "net/cert/test_root_certs.h" | 67 #include "net/cert/test_root_certs.h" |
| 68 #include "net/cert_net/nss_ocsp.h" | 68 #include "net/cert_net/nss_ocsp.h" |
| 69 #include "net/cookies/cookie_monster.h" | 69 #include "net/cookies/cookie_monster.h" |
| 70 #include "net/cookies/cookie_store_test_helpers.h" | 70 #include "net/cookies/cookie_store_test_helpers.h" |
| 71 #include "net/disk_cache/disk_cache.h" | 71 #include "net/disk_cache/disk_cache.h" |
| 72 #include "net/dns/mock_host_resolver.h" | 72 #include "net/dns/mock_host_resolver.h" |
| 73 #include "net/http/http_byte_range.h" | 73 #include "net/http/http_byte_range.h" |
| (...skipping 6363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6437 const net::SSLInfo& ssl_info) override { | 6437 const net::SSLInfo& ssl_info) override { |
| 6438 num_failures_++; | 6438 num_failures_++; |
| 6439 } | 6439 } |
| 6440 | 6440 |
| 6441 uint32_t num_failures() { return num_failures_; } | 6441 uint32_t num_failures() { return num_failures_; } |
| 6442 | 6442 |
| 6443 private: | 6443 private: |
| 6444 uint32_t num_failures_; | 6444 uint32_t num_failures_; |
| 6445 }; | 6445 }; |
| 6446 | 6446 |
| 6447 // A CTVerifier that returns net::OK for every certificate. | |
| 6448 class MockCTVerifier : public CTVerifier { | |
| 6449 public: | |
| 6450 MockCTVerifier() {} | |
| 6451 ~MockCTVerifier() override {} | |
| 6452 | |
| 6453 int Verify(X509Certificate* cert, | |
| 6454 const std::string& stapled_ocsp_response, | |
| 6455 const std::string& sct_list_from_tls_extension, | |
| 6456 SignedCertificateTimestampAndStatusList* output_scts, | |
| 6457 const NetLogWithSource& net_log) override { | |
| 6458 return net::OK; | |
| 6459 } | |
| 6460 | |
| 6461 void SetObserver(Observer* observer) override {} | |
| 6462 }; | |
| 6463 | |
| 6464 // A CTPolicyEnforcer that returns a default CertPolicyCompliance value | 6447 // A CTPolicyEnforcer that returns a default CertPolicyCompliance value |
| 6465 // for every certificate. | 6448 // for every certificate. |
| 6466 class MockCTPolicyEnforcer : public CTPolicyEnforcer { | 6449 class MockCTPolicyEnforcer : public CTPolicyEnforcer { |
| 6467 public: | 6450 public: |
| 6468 MockCTPolicyEnforcer() | 6451 MockCTPolicyEnforcer() |
| 6469 : default_result_( | 6452 : default_result_( |
| 6470 ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS) {} | 6453 ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS) {} |
| 6471 ~MockCTPolicyEnforcer() override {} | 6454 ~MockCTPolicyEnforcer() override {} |
| 6472 | 6455 |
| 6473 ct::CertPolicyCompliance DoesConformToCertPolicy( | 6456 ct::CertPolicyCompliance DoesConformToCertPolicy( |
| (...skipping 27 matching lines...) Expand all Loading... |
| 6501 | 6484 |
| 6502 // Set up a MockCertVerifier to accept the certificate that the server sends. | 6485 // Set up a MockCertVerifier to accept the certificate that the server sends. |
| 6503 scoped_refptr<X509Certificate> cert = https_test_server.GetCertificate(); | 6486 scoped_refptr<X509Certificate> cert = https_test_server.GetCertificate(); |
| 6504 ASSERT_TRUE(cert); | 6487 ASSERT_TRUE(cert); |
| 6505 MockCertVerifier cert_verifier; | 6488 MockCertVerifier cert_verifier; |
| 6506 CertVerifyResult verify_result; | 6489 CertVerifyResult verify_result; |
| 6507 verify_result.verified_cert = cert; | 6490 verify_result.verified_cert = cert; |
| 6508 verify_result.is_issued_by_known_root = true; | 6491 verify_result.is_issued_by_known_root = true; |
| 6509 cert_verifier.AddResultForCert(cert.get(), verify_result, OK); | 6492 cert_verifier.AddResultForCert(cert.get(), verify_result, OK); |
| 6510 | 6493 |
| 6511 // Set up a MockCTVerifier and MockCTPolicyEnforcer to trigger an Expect CT | 6494 // Set up a DoNothingCTVerifier and MockCTPolicyEnforcer to trigger an Expect |
| 6512 // violation. | 6495 // CT violation. |
| 6513 MockCTVerifier ct_verifier; | 6496 DoNothingCTVerifier ct_verifier; |
| 6514 MockCTPolicyEnforcer ct_policy_enforcer; | 6497 MockCTPolicyEnforcer ct_policy_enforcer; |
| 6515 ct_policy_enforcer.set_default_result( | 6498 ct_policy_enforcer.set_default_result( |
| 6516 ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS); | 6499 ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS); |
| 6517 | 6500 |
| 6518 TestNetworkDelegate network_delegate; | 6501 TestNetworkDelegate network_delegate; |
| 6519 // Use a MockHostResolver (which by default maps all hosts to | 6502 // Use a MockHostResolver (which by default maps all hosts to |
| 6520 // 127.0.0.1) so that the request can be sent to a site on the Expect | 6503 // 127.0.0.1) so that the request can be sent to a site on the Expect |
| 6521 // CT preload list. | 6504 // CT preload list. |
| 6522 MockHostResolver host_resolver; | 6505 MockHostResolver host_resolver; |
| 6523 TestURLRequestContext context(true); | 6506 TestURLRequestContext context(true); |
| (...skipping 4127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10651 AddTestInterceptor()->set_main_intercept_job(std::move(job)); | 10634 AddTestInterceptor()->set_main_intercept_job(std::move(job)); |
| 10652 | 10635 |
| 10653 req->Start(); | 10636 req->Start(); |
| 10654 req->Cancel(); | 10637 req->Cancel(); |
| 10655 base::RunLoop().RunUntilIdle(); | 10638 base::RunLoop().RunUntilIdle(); |
| 10656 EXPECT_EQ(ERR_ABORTED, d.request_status()); | 10639 EXPECT_EQ(ERR_ABORTED, d.request_status()); |
| 10657 EXPECT_EQ(0, d.received_redirect_count()); | 10640 EXPECT_EQ(0, d.received_redirect_count()); |
| 10658 } | 10641 } |
| 10659 | 10642 |
| 10660 } // namespace net | 10643 } // namespace net |
| OLD | NEW |