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

Side by Side Diff: net/http/transport_security_state.cc

Issue 737943002: Update from https://crrev.com/304715 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « net/http/http_server_properties_manager_unittest.cc ('k') | net/ocsp/nss_ocsp.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "net/http/transport_security_state.h" 5 #include "net/http/transport_security_state.h"
6 6
7 #if defined(USE_OPENSSL) 7 #if defined(USE_OPENSSL)
8 #include <openssl/ecdsa.h> 8 #include <openssl/ecdsa.h>
9 #include <openssl/ssl.h> 9 #include <openssl/ssl.h>
10 #else // !defined(USE_OPENSSL) 10 #else // !defined(USE_OPENSSL)
11 #include <cryptohi.h> 11 #include <cryptohi.h>
12 #include <hasht.h> 12 #include <hasht.h>
13 #include <keyhi.h> 13 #include <keyhi.h>
14 #include <nspr.h> 14 #include <nspr.h>
15 #include <pk11pub.h> 15 #include <pk11pub.h>
16 #endif 16 #endif
17 17
18 #include <algorithm> 18 #include <algorithm>
19 19
20 #include "base/base64.h" 20 #include "base/base64.h"
21 #include "base/build_time.h" 21 #include "base/build_time.h"
22 #include "base/logging.h" 22 #include "base/logging.h"
23 #include "base/memory/scoped_ptr.h" 23 #include "base/memory/scoped_ptr.h"
24 #include "base/metrics/histogram.h" 24 #include "base/metrics/histogram.h"
25 #include "base/metrics/sparse_histogram.h"
25 #include "base/sha1.h" 26 #include "base/sha1.h"
26 #include "base/strings/string_number_conversions.h" 27 #include "base/strings/string_number_conversions.h"
27 #include "base/strings/string_util.h" 28 #include "base/strings/string_util.h"
28 #include "base/strings/utf_string_conversions.h" 29 #include "base/strings/utf_string_conversions.h"
29 #include "base/time/time.h" 30 #include "base/time/time.h"
30 #include "base/values.h" 31 #include "base/values.h"
31 #include "crypto/sha2.h" 32 #include "crypto/sha2.h"
32 #include "net/base/dns_util.h" 33 #include "net/base/dns_util.h"
33 #include "net/cert/x509_cert_types.h" 34 #include "net/cert/x509_cert_types.h"
34 #include "net/cert/x509_certificate.h" 35 #include "net/cert/x509_certificate.h"
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 // static 717 // static
717 void TransportSecurityState::ReportUMAOnPinFailure(const std::string& host) { 718 void TransportSecurityState::ReportUMAOnPinFailure(const std::string& host) {
718 PreloadResult result; 719 PreloadResult result;
719 if (!DecodeHSTSPreload(host, &result) || 720 if (!DecodeHSTSPreload(host, &result) ||
720 !result.has_pins) { 721 !result.has_pins) {
721 return; 722 return;
722 } 723 }
723 724
724 DCHECK(result.domain_id != DOMAIN_NOT_PINNED); 725 DCHECK(result.domain_id != DOMAIN_NOT_PINNED);
725 726
726 UMA_HISTOGRAM_ENUMERATION( 727 UMA_HISTOGRAM_SPARSE_SLOWLY(
727 "Net.PublicKeyPinFailureDomain", result.domain_id, DOMAIN_NUM_EVENTS); 728 "Net.PublicKeyPinFailureDomain", result.domain_id);
728 } 729 }
729 730
730 // static 731 // static
731 bool TransportSecurityState::IsBuildTimely() { 732 bool TransportSecurityState::IsBuildTimely() {
732 // If the build metadata aren't embedded in the binary then we can't use the 733 // If the build metadata aren't embedded in the binary then we can't use the
733 // build time to determine if the build is timely, return true by default. If 734 // build time to determine if the build is timely, return true by default. If
734 // we're building an official build then keep using the build time, even if 735 // we're building an official build then keep using the build time, even if
735 // it's invalid it'd be a date in the past and this function will return 736 // it's invalid it'd be a date in the past and this function will return
736 // false. 737 // false.
737 #if defined(DONT_EMBED_BUILD_METADATA) && !defined(OFFICIAL_BUILD) 738 #if defined(DONT_EMBED_BUILD_METADATA) && !defined(OFFICIAL_BUILD)
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 return pkp.spki_hashes.size() > 0 || pkp.bad_spki_hashes.size() > 0; 917 return pkp.spki_hashes.size() > 0 || pkp.bad_spki_hashes.size() > 0;
917 } 918 }
918 919
919 TransportSecurityState::DomainState::PKPState::PKPState() { 920 TransportSecurityState::DomainState::PKPState::PKPState() {
920 } 921 }
921 922
922 TransportSecurityState::DomainState::PKPState::~PKPState() { 923 TransportSecurityState::DomainState::PKPState::~PKPState() {
923 } 924 }
924 925
925 } // namespace 926 } // namespace
OLDNEW
« no previous file with comments | « net/http/http_server_properties_manager_unittest.cc ('k') | net/ocsp/nss_ocsp.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698