| Index: net/base/cert_verifier.h
|
| ===================================================================
|
| --- net/base/cert_verifier.h (revision 7188)
|
| +++ net/base/cert_verifier.h (working copy)
|
| @@ -1,9 +1,9 @@
|
| -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2008 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.
|
|
|
| -#ifndef NET_BASE_HOST_RESOLVER_H_
|
| -#define NET_BASE_HOST_RESOLVER_H_
|
| +#ifndef NET_BASE_CERT_VERIFIER_H_
|
| +#define NET_BASE_CERT_VERIFIER_H_
|
|
|
| #include <string>
|
|
|
| @@ -13,72 +13,53 @@
|
|
|
| namespace net {
|
|
|
| -class AddressList;
|
| +class X509Certificate;
|
|
|
| -// This class represents the task of resolving a hostname (or IP address
|
| -// literal) to an AddressList object. It can only resolve a single hostname at
|
| -// a time, so if you need to resolve multiple hostnames at the same time, you
|
| -// will need to allocate a HostResolver object for each hostname.
|
| +// This class represents the task of verifying a certificate. It can only
|
| +// verify a single certificate at a time, so if you need to verify multiple
|
| +// certificates at the same time, you will need to allocate a CertVerifier
|
| +// object for each certificate.
|
| //
|
| -// No attempt is made at this level to cache or pin resolution results. For
|
| -// each request, this API talks directly to the underlying name resolver of
|
| -// the local system, which may or may not result in a DNS query. The exact
|
| -// behavior depends on the system configuration.
|
| +// TODO(wtc): This class is based on HostResolver. We should create a base
|
| +// class for the common code between the two classes.
|
| //
|
| -class HostResolver {
|
| +class CertVerifier {
|
| public:
|
| - HostResolver();
|
| + CertVerifier();
|
|
|
| - // If a completion callback is pending when the resolver is destroyed, the
|
| - // host resolution is cancelled, and the completion callback will not be
|
| - // called.
|
| - ~HostResolver();
|
| + // If a completion callback is pending when the verifier is destroyed, the
|
| + // certificate verification is cancelled, and the completion callback will
|
| + // not be called.
|
| + ~CertVerifier();
|
|
|
| - // Resolves the given hostname (or IP address literal), filling out the
|
| - // |addresses| object upon success. The |port| parameter will be set as the
|
| - // sin(6)_port field of the sockaddr_in{6} struct. Returns OK if successful
|
| - // or an error code upon failure.
|
| + // Verifies the given certificate against the given hostname. Returns OK if
|
| + // successful or an error code upon failure.
|
| //
|
| + // The |cert_status| bitmask is always filled out regardless of the return
|
| + // value. If the certificate has multiple errors, the corresponding status
|
| + // flags are set in |cert_status|, and the error code for the most serious
|
| + // error is returned.
|
| + //
|
| + // If |rev_checking_enabled| is true, certificate revocation checking is
|
| + // performed.
|
| + //
|
| // When callback is null, the operation completes synchronously.
|
| //
|
| // When callback is non-null, ERR_IO_PENDING is returned if the operation
|
| // could not be completed synchronously, in which case the result code will
|
| // be passed to the callback when available.
|
| //
|
| - int Resolve(const std::string& hostname, int port,
|
| - AddressList* addresses, CompletionCallback* callback);
|
| + int Verify(X509Certificate* cert, const std::string& hostname,
|
| + bool rev_checking_enabled, int* cert_status,
|
| + CompletionCallback* callback);
|
|
|
| private:
|
| class Request;
|
| friend class Request;
|
| scoped_refptr<Request> request_;
|
| - DISALLOW_COPY_AND_ASSIGN(HostResolver);
|
| + DISALLOW_COPY_AND_ASSIGN(CertVerifier);
|
| };
|
|
|
| -// A helper class used in unit tests to alter hostname mappings. See
|
| -// SetHostMapper for details.
|
| -class HostMapper {
|
| - public:
|
| - virtual ~HostMapper() {}
|
| - virtual std::string Map(const std::string& host) = 0;
|
| -};
|
| -
|
| -#ifdef UNIT_TEST
|
| -// This function is designed to allow unit tests to override the behavior of
|
| -// HostResolver. For example, a HostMapper instance can force all hostnames
|
| -// to map to a fixed IP address such as 127.0.0.1.
|
| -//
|
| -// The previously set HostMapper (or NULL if there was none) is returned.
|
| -//
|
| -// NOTE: This function is not thread-safe, so take care to only call this
|
| -// function while there are no outstanding HostResolver instances.
|
| -//
|
| -// NOTE: In most cases, you should use ScopedHostMapper instead, which is
|
| -// defined in host_resolver_unittest.h
|
| -//
|
| -HostMapper* SetHostMapper(HostMapper* host_mapper);
|
| -#endif
|
| -
|
| } // namespace net
|
|
|
| -#endif // NET_BASE_HOST_RESOLVER_H_
|
| +#endif // NET_BASE_CERT_VERIFIER_H_
|
|
|
| Property changes on: net\base\cert_verifier.h
|
| ___________________________________________________________________
|
| Added: svn:mergeinfo
|
| Merged /branches/chrome_webkit_merge_branch/net/base/host_resolver.h:r69-2775
|
|
|
|
|