| Index: chrome/browser/net/chrome_dns_cert_provenance_checker.cc
|
| diff --git a/chrome/browser/net/chrome_dns_cert_provenance_checker.cc b/chrome/browser/net/chrome_dns_cert_provenance_checker.cc
|
| deleted file mode 100644
|
| index 77233aeb98e3f76fe567aa32dc027675e3b5bb8c..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/net/chrome_dns_cert_provenance_checker.cc
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/net/chrome_dns_cert_provenance_checker.h"
|
| -
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/stl_util.h"
|
| -#include "chrome/browser/net/chrome_url_request_context.h"
|
| -#include "net/url_request/url_request.h"
|
| -
|
| -namespace {
|
| -
|
| -class ChromeDnsCertProvenanceChecker
|
| - : public net::DnsCertProvenanceChecker,
|
| - public net::DnsCertProvenanceChecker::Delegate {
|
| - public:
|
| - ChromeDnsCertProvenanceChecker(
|
| - net::DnsRRResolver* dnsrr_resolver,
|
| - ChromeURLRequestContext* url_req_context)
|
| - : dnsrr_resolver_(dnsrr_resolver),
|
| - url_req_context_(url_req_context),
|
| - upload_url_("http://chromecertcheck.appspot.com/upload"),
|
| - delegate_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
|
| - }
|
| -
|
| - ~ChromeDnsCertProvenanceChecker() {
|
| - DCHECK(inflight_requests_.empty());
|
| - }
|
| -
|
| - // DnsCertProvenanceChecker interface
|
| - virtual void DoAsyncVerification(
|
| - const std::string& hostname,
|
| - const std::vector<base::StringPiece>& der_certs) {
|
| - net::DnsCertProvenanceChecker::DoAsyncLookup(hostname, der_certs,
|
| - dnsrr_resolver_, this);
|
| - }
|
| -
|
| - virtual void Shutdown() {
|
| - STLDeleteContainerPointers(inflight_requests_.begin(),
|
| - inflight_requests_.end());
|
| - inflight_requests_.clear();
|
| - }
|
| -
|
| - // DnsCertProvenanceChecker::Delegate interface
|
| - virtual void OnDnsCertLookupFailed(
|
| - const std::string& hostname,
|
| - const std::vector<std::string>& der_certs) {
|
| - const std::string report = BuildEncryptedReport(hostname, der_certs);
|
| -
|
| - net::URLRequest* url_request(new net::URLRequest(upload_url_, &delegate_));
|
| - url_request->set_context(url_req_context_);
|
| - url_request->set_method("POST");
|
| - url_request->AppendBytesToUpload(report.data(), report.size());
|
| - net::HttpRequestHeaders headers;
|
| - headers.SetHeader(net::HttpRequestHeaders::kContentType,
|
| - "x-application/chrome-cert-provenance-report");
|
| - url_request->SetExtraRequestHeaders(headers);
|
| - inflight_requests_.insert(url_request);
|
| - url_request->Start();
|
| - }
|
| -
|
| - private:
|
| - void RequestComplete(net::URLRequest* request) {
|
| - std::set<net::URLRequest*>::iterator i = inflight_requests_.find(request);
|
| - DCHECK(i != inflight_requests_.end());
|
| - delete *i;
|
| - inflight_requests_.erase(i);
|
| - }
|
| -
|
| - // URLRequestDelegate is the delegate for the upload. Since this is a
|
| - // fire-and-forget operation, we don't care if there are any errors in the
|
| - // upload.
|
| - class URLRequestDelegate : public net::URLRequest::Delegate {
|
| - public:
|
| - explicit URLRequestDelegate(ChromeDnsCertProvenanceChecker* checker)
|
| - : checker_(checker) {
|
| - }
|
| -
|
| - // Delegate implementation
|
| - void OnResponseStarted(net::URLRequest* request) {
|
| - const net::URLRequestStatus& status(request->status());
|
| - if (!status.is_success()) {
|
| - LOG(WARNING) << "Certificate upload failed"
|
| - << " status:" << status.status()
|
| - << " error:" << status.error();
|
| - } else if (request->GetResponseCode() != 200) {
|
| - LOG(WARNING) << "Certificate upload HTTP status: "
|
| - << request->GetResponseCode();
|
| - }
|
| - checker_->RequestComplete(request);
|
| - }
|
| -
|
| - void OnReadCompleted(net::URLRequest* request, int bytes_read) {
|
| - NOTREACHED();
|
| - }
|
| -
|
| - private:
|
| - ChromeDnsCertProvenanceChecker* const checker_;
|
| - };
|
| -
|
| - net::DnsRRResolver* const dnsrr_resolver_;
|
| - ChromeURLRequestContext* const url_req_context_;
|
| - const GURL upload_url_;
|
| - URLRequestDelegate delegate_;
|
| - std::set<net::URLRequest*> inflight_requests_;
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -net::DnsCertProvenanceChecker* CreateChromeDnsCertProvenanceChecker(
|
| - net::DnsRRResolver* dnsrr_resolver,
|
| - ChromeURLRequestContext* url_req_context) {
|
| - return new ChromeDnsCertProvenanceChecker(dnsrr_resolver, url_req_context);
|
| -}
|
|
|