summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorpalmer@chromium.org <palmer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-15 16:57:30 +0000
committerpalmer@chromium.org <palmer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-15 16:57:30 +0000
commitf1dc0bc9ebc850daff3bb5fd4180694881bb4036 (patch)
tree4c4aa4668bbc6e21bbb6424cb4c418461084ad1e /net
parent51c914b31d4793367eb83abe6681b50bb97c2c34 (diff)
downloadchromium_src-f1dc0bc9ebc850daff3bb5fd4180694881bb4036.zip
chromium_src-f1dc0bc9ebc850daff3bb5fd4180694881bb4036.tar.gz
chromium_src-f1dc0bc9ebc850daff3bb5fd4180694881bb4036.tar.bz2
Additional infrastructure code supporting the report fraudulent certificate chains feature.
BUG=99185 Review URL: http://codereview.chromium.org/8055027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105669 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/url_request/url_request_context.cc2
-rw-r--r--net/url_request/url_request_context.h10
-rw-r--r--net/url_request/url_request_context_storage.cc8
-rw-r--r--net/url_request/url_request_context_storage.h4
4 files changed, 24 insertions, 0 deletions
diff --git a/net/url_request/url_request_context.cc b/net/url_request/url_request_context.cc
index 868532e..ccfb5649 100644
--- a/net/url_request/url_request_context.cc
+++ b/net/url_request/url_request_context.cc
@@ -21,6 +21,7 @@ URLRequestContext::URLRequestContext()
origin_bound_cert_service_(NULL),
dnsrr_resolver_(NULL),
dns_cert_checker_(NULL),
+ fraudulent_certificate_reporter_(NULL),
http_auth_handler_factory_(NULL),
proxy_service_(NULL),
network_delegate_(NULL),
@@ -40,6 +41,7 @@ void URLRequestContext::CopyFrom(URLRequestContext* other) {
set_origin_bound_cert_service(other->origin_bound_cert_service());
set_dnsrr_resolver(other->dnsrr_resolver());
set_dns_cert_checker(other->dns_cert_checker());
+ set_fraudulent_certificate_reporter(other->fraudulent_certificate_reporter());
set_http_auth_handler_factory(other->http_auth_handler_factory());
set_proxy_service(other->proxy_service());
set_ssl_config_service(other->ssl_config_service());
diff --git a/net/url_request/url_request_context.h b/net/url_request/url_request_context.h
index 1168ec5..1ac2b16 100644
--- a/net/url_request/url_request_context.h
+++ b/net/url_request/url_request_context.h
@@ -27,6 +27,7 @@ class CertVerifier;
class CookieStore;
class DnsCertProvenanceChecker;
class DnsRRResolver;
+class FraudulentCertificateReporter;
class FtpTransactionFactory;
class HostResolver;
class HttpAuthHandlerFactory;
@@ -102,6 +103,14 @@ class NET_EXPORT URLRequestContext
dns_cert_checker_ = dns_cert_checker;
}
+ FraudulentCertificateReporter* fraudulent_certificate_reporter() const {
+ return fraudulent_certificate_reporter_;
+ }
+ void set_fraudulent_certificate_reporter(
+ FraudulentCertificateReporter* fraudulent_certificate_reporter) {
+ fraudulent_certificate_reporter_ = fraudulent_certificate_reporter;
+ }
+
// Get the proxy service for this context.
ProxyService* proxy_service() const { return proxy_service_; }
void set_proxy_service(ProxyService* proxy_service) {
@@ -218,6 +227,7 @@ class NET_EXPORT URLRequestContext
OriginBoundCertService* origin_bound_cert_service_;
DnsRRResolver* dnsrr_resolver_;
DnsCertProvenanceChecker* dns_cert_checker_;
+ FraudulentCertificateReporter* fraudulent_certificate_reporter_;
HttpAuthHandlerFactory* http_auth_handler_factory_;
ProxyService* proxy_service_;
scoped_refptr<SSLConfigService> ssl_config_service_;
diff --git a/net/url_request/url_request_context_storage.cc b/net/url_request/url_request_context_storage.cc
index a455cf3..e73bd8e 100644
--- a/net/url_request/url_request_context_storage.cc
+++ b/net/url_request/url_request_context_storage.cc
@@ -18,6 +18,7 @@
#include "net/http/http_transaction_factory.h"
#include "net/proxy/proxy_service.h"
#include "net/socket/dns_cert_provenance_checker.h"
+#include "net/url_request/fraudulent_certificate_reporter.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_job_factory.h"
@@ -63,6 +64,13 @@ void URLRequestContextStorage::set_dns_cert_checker(
dns_cert_checker_.reset(dns_cert_checker);
}
+void URLRequestContextStorage::set_fraudulent_certificate_reporter(
+ FraudulentCertificateReporter* fraudulent_certificate_reporter) {
+ context_->set_fraudulent_certificate_reporter(
+ fraudulent_certificate_reporter);
+ fraudulent_certificate_reporter_.reset(fraudulent_certificate_reporter);
+}
+
void URLRequestContextStorage::set_http_auth_handler_factory(
HttpAuthHandlerFactory* http_auth_handler_factory) {
context_->set_http_auth_handler_factory(http_auth_handler_factory);
diff --git a/net/url_request/url_request_context_storage.h b/net/url_request/url_request_context_storage.h
index b96efc9..2c839cc 100644
--- a/net/url_request/url_request_context_storage.h
+++ b/net/url_request/url_request_context_storage.h
@@ -17,6 +17,7 @@ class CertVerifier;
class CookieStore;
class DnsCertProvenanceChecker;
class DnsRRResolver;
+class FraudulentCertificateReporter;
class FtpTransactionFactory;
class HostResolver;
class HttpAuthHandlerFactory;
@@ -51,6 +52,8 @@ class NET_EXPORT URLRequestContextStorage {
OriginBoundCertService* origin_bound_cert_service);
void set_dnsrr_resolver(DnsRRResolver* dnsrr_resolver);
void set_dns_cert_checker(DnsCertProvenanceChecker* dns_cert_checker);
+ void set_fraudulent_certificate_reporter(
+ FraudulentCertificateReporter* fraudulent_certificate_reporter);
void set_http_auth_handler_factory(
HttpAuthHandlerFactory* http_auth_handler_factory);
void set_proxy_service(ProxyService* proxy_service);
@@ -79,6 +82,7 @@ class NET_EXPORT URLRequestContextStorage {
scoped_ptr<OriginBoundCertService> origin_bound_cert_service_;
scoped_ptr<DnsRRResolver> dnsrr_resolver_;
scoped_ptr<DnsCertProvenanceChecker> dns_cert_checker_;
+ scoped_ptr<FraudulentCertificateReporter> fraudulent_certificate_reporter_;
scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory_;
scoped_ptr<ProxyService> proxy_service_;
// TODO(willchan): Remove refcounting on these members.