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

Side by Side Diff: net/url_request/url_request_unittest.cc

Issue 2604513002: Optimize CT & OCSP handling code (Closed)
Patch Set: Actually optimize for OCSP Created 3 years, 12 months 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) 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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698