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 "chrome/browser/safe_browsing/ping_manager.h" | 5 #include "chrome/browser/safe_browsing/ping_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| 11 #include "chrome/browser/net/cert_logger.pb.h" |
11 #include "chrome/browser/net/certificate_error_reporter.h" | 12 #include "chrome/browser/net/certificate_error_reporter.h" |
12 #include "chrome/common/env_vars.h" | 13 #include "chrome/common/env_vars.h" |
13 #include "content/public/browser/browser_thread.h" | 14 #include "content/public/browser/browser_thread.h" |
14 #include "google_apis/google_api_keys.h" | 15 #include "google_apis/google_api_keys.h" |
15 #include "net/base/escape.h" | 16 #include "net/base/escape.h" |
16 #include "net/base/load_flags.h" | 17 #include "net/base/load_flags.h" |
17 #include "net/ssl/ssl_info.h" | 18 #include "net/ssl/ssl_info.h" |
18 #include "net/url_request/url_fetcher.h" | 19 #include "net/url_request/url_fetcher.h" |
19 #include "net/url_request/url_request_context_getter.h" | 20 #include "net/url_request/url_request_context_getter.h" |
20 #include "net/url_request/url_request_status.h" | 21 #include "net/url_request/url_request_status.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 fetcher->SetLoadFlags(net::LOAD_DISABLE_CACHE); | 107 fetcher->SetLoadFlags(net::LOAD_DISABLE_CACHE); |
107 fetcher->SetRequestContext(request_context_getter_.get()); | 108 fetcher->SetRequestContext(request_context_getter_.get()); |
108 fetcher->SetUploadData("application/octet-stream", report); | 109 fetcher->SetUploadData("application/octet-stream", report); |
109 // Don't try too hard to send reports on failures. | 110 // Don't try too hard to send reports on failures. |
110 fetcher->SetAutomaticallyRetryOn5xx(false); | 111 fetcher->SetAutomaticallyRetryOn5xx(false); |
111 fetcher->Start(); | 112 fetcher->Start(); |
112 safebrowsing_reports_.insert(fetcher); | 113 safebrowsing_reports_.insert(fetcher); |
113 } | 114 } |
114 | 115 |
115 void SafeBrowsingPingManager::ReportInvalidCertificateChain( | 116 void SafeBrowsingPingManager::ReportInvalidCertificateChain( |
116 const std::string& hostname, | 117 const chrome_browser_net::CertLoggerRequest& report) { |
117 const net::SSLInfo& ssl_info) { | |
118 DCHECK(certificate_error_reporter_); | 118 DCHECK(certificate_error_reporter_); |
119 certificate_error_reporter_->SendReport( | 119 certificate_error_reporter_->SendReport( |
120 CertificateErrorReporter::REPORT_TYPE_EXTENDED_REPORTING, hostname, | 120 CertificateErrorReporter::REPORT_TYPE_EXTENDED_REPORTING, report); |
121 ssl_info); | |
122 } | 121 } |
123 | 122 |
124 void SafeBrowsingPingManager::SetCertificateErrorReporterForTesting( | 123 void SafeBrowsingPingManager::SetCertificateErrorReporterForTesting( |
125 scoped_ptr<CertificateErrorReporter> certificate_error_reporter) { | 124 scoped_ptr<CertificateErrorReporter> certificate_error_reporter) { |
126 certificate_error_reporter_ = certificate_error_reporter.Pass(); | 125 certificate_error_reporter_ = certificate_error_reporter.Pass(); |
127 } | 126 } |
128 | 127 |
129 GURL SafeBrowsingPingManager::SafeBrowsingHitUrl( | 128 GURL SafeBrowsingPingManager::SafeBrowsingHitUrl( |
130 const GURL& malicious_url, const GURL& page_url, | 129 const GURL& malicious_url, const GURL& page_url, |
131 const GURL& referrer_url, bool is_subresource, | 130 const GURL& referrer_url, bool is_subresource, |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 url_prefix_.c_str(), | 174 url_prefix_.c_str(), |
176 client_name_.c_str(), | 175 client_name_.c_str(), |
177 version_.c_str()); | 176 version_.c_str()); |
178 std::string api_key = google_apis::GetAPIKey(); | 177 std::string api_key = google_apis::GetAPIKey(); |
179 if (!api_key.empty()) { | 178 if (!api_key.empty()) { |
180 base::StringAppendF(&url, "&key=%s", | 179 base::StringAppendF(&url, "&key=%s", |
181 net::EscapeQueryParamValue(api_key, true).c_str()); | 180 net::EscapeQueryParamValue(api_key, true).c_str()); |
182 } | 181 } |
183 return GURL(url); | 182 return GURL(url); |
184 } | 183 } |
OLD | NEW |