| Index: net/http/http_auth_handler_factory.cc
|
| diff --git a/net/http/http_auth_handler_factory.cc b/net/http/http_auth_handler_factory.cc
|
| deleted file mode 100644
|
| index decb20e49c0348ff04eb97f7cdbdac92de5e82b0..0000000000000000000000000000000000000000
|
| --- a/net/http/http_auth_handler_factory.cc
|
| +++ /dev/null
|
| @@ -1,199 +0,0 @@
|
| -// Copyright (c) 2010 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 "net/http/http_auth_handler_factory.h"
|
| -
|
| -#include "base/stl_util.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "net/http/http_auth_challenge_tokenizer.h"
|
| -#include "net/http/http_auth_filter.h"
|
| -#include "net/http/http_auth_handler_basic.h"
|
| -#include "net/http/http_auth_handler_digest.h"
|
| -#include "net/http/http_auth_handler_ntlm.h"
|
| -
|
| -#if defined(USE_KERBEROS)
|
| -#include "net/http/http_auth_handler_negotiate.h"
|
| -#endif
|
| -
|
| -namespace net {
|
| -
|
| -int HttpAuthHandlerFactory::CreateAuthHandlerFromString(
|
| - const std::string& challenge,
|
| - HttpAuth::Target target,
|
| - const GURL& origin,
|
| - const BoundNetLog& net_log,
|
| - scoped_ptr<HttpAuthHandler>* handler) {
|
| - HttpAuthChallengeTokenizer props(challenge.begin(), challenge.end());
|
| - return CreateAuthHandler(&props, target, origin, CREATE_CHALLENGE, 1,
|
| - net_log, handler);
|
| -}
|
| -
|
| -int HttpAuthHandlerFactory::CreatePreemptiveAuthHandlerFromString(
|
| - const std::string& challenge,
|
| - HttpAuth::Target target,
|
| - const GURL& origin,
|
| - int digest_nonce_count,
|
| - const BoundNetLog& net_log,
|
| - scoped_ptr<HttpAuthHandler>* handler) {
|
| - HttpAuthChallengeTokenizer props(challenge.begin(), challenge.end());
|
| - return CreateAuthHandler(&props, target, origin, CREATE_PREEMPTIVE,
|
| - digest_nonce_count, net_log, handler);
|
| -}
|
| -
|
| -// static
|
| -HttpAuthHandlerRegistryFactory* HttpAuthHandlerFactory::CreateDefault(
|
| - HostResolver* host_resolver) {
|
| - DCHECK(host_resolver);
|
| - HttpAuthHandlerRegistryFactory* registry_factory =
|
| - new HttpAuthHandlerRegistryFactory();
|
| - registry_factory->RegisterSchemeFactory(
|
| - "basic", new HttpAuthHandlerBasic::Factory());
|
| - registry_factory->RegisterSchemeFactory(
|
| - "digest", new HttpAuthHandlerDigest::Factory());
|
| -
|
| -#if defined(USE_KERBEROS)
|
| - HttpAuthHandlerNegotiate::Factory* negotiate_factory =
|
| - new HttpAuthHandlerNegotiate::Factory();
|
| -#if defined(OS_POSIX)
|
| - negotiate_factory->set_library(new GSSAPISharedLibrary(std::string()));
|
| -#elif defined(OS_WIN)
|
| - negotiate_factory->set_library(new SSPILibraryDefault());
|
| -#endif
|
| - negotiate_factory->set_host_resolver(host_resolver);
|
| - registry_factory->RegisterSchemeFactory("negotiate", negotiate_factory);
|
| -#endif // defined(USE_KERBEROS)
|
| -
|
| - HttpAuthHandlerNTLM::Factory* ntlm_factory =
|
| - new HttpAuthHandlerNTLM::Factory();
|
| -#if defined(OS_WIN)
|
| - ntlm_factory->set_sspi_library(new SSPILibraryDefault());
|
| -#endif
|
| - registry_factory->RegisterSchemeFactory("ntlm", ntlm_factory);
|
| - return registry_factory;
|
| -}
|
| -
|
| -namespace {
|
| -
|
| -bool IsSupportedScheme(const std::vector<std::string>& supported_schemes,
|
| - const std::string& scheme) {
|
| - std::vector<std::string>::const_iterator it = std::find(
|
| - supported_schemes.begin(), supported_schemes.end(), scheme);
|
| - return it != supported_schemes.end();
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -HttpAuthHandlerRegistryFactory::HttpAuthHandlerRegistryFactory() {
|
| -}
|
| -
|
| -HttpAuthHandlerRegistryFactory::~HttpAuthHandlerRegistryFactory() {
|
| - STLDeleteContainerPairSecondPointers(factory_map_.begin(),
|
| - factory_map_.end());
|
| -}
|
| -
|
| -void HttpAuthHandlerRegistryFactory::SetURLSecurityManager(
|
| - const std::string& scheme,
|
| - URLSecurityManager* security_manager) {
|
| - HttpAuthHandlerFactory* factory = GetSchemeFactory(scheme);
|
| - if (factory)
|
| - factory->set_url_security_manager(security_manager);
|
| -}
|
| -
|
| -void HttpAuthHandlerRegistryFactory::RegisterSchemeFactory(
|
| - const std::string& scheme,
|
| - HttpAuthHandlerFactory* factory) {
|
| - std::string lower_scheme = base::StringToLowerASCII(scheme);
|
| - FactoryMap::iterator it = factory_map_.find(lower_scheme);
|
| - if (it != factory_map_.end()) {
|
| - delete it->second;
|
| - }
|
| - if (factory)
|
| - factory_map_[lower_scheme] = factory;
|
| - else
|
| - factory_map_.erase(it);
|
| -}
|
| -
|
| -HttpAuthHandlerFactory* HttpAuthHandlerRegistryFactory::GetSchemeFactory(
|
| - const std::string& scheme) const {
|
| - std::string lower_scheme = base::StringToLowerASCII(scheme);
|
| - FactoryMap::const_iterator it = factory_map_.find(lower_scheme);
|
| - if (it == factory_map_.end()) {
|
| - return NULL; // |scheme| is not registered.
|
| - }
|
| - return it->second;
|
| -}
|
| -
|
| -// static
|
| -HttpAuthHandlerRegistryFactory* HttpAuthHandlerRegistryFactory::Create(
|
| - const std::vector<std::string>& supported_schemes,
|
| - URLSecurityManager* security_manager,
|
| - HostResolver* host_resolver,
|
| - const std::string& gssapi_library_name,
|
| - bool negotiate_disable_cname_lookup,
|
| - bool negotiate_enable_port) {
|
| - HttpAuthHandlerRegistryFactory* registry_factory =
|
| - new HttpAuthHandlerRegistryFactory();
|
| - if (IsSupportedScheme(supported_schemes, "basic"))
|
| - registry_factory->RegisterSchemeFactory(
|
| - "basic", new HttpAuthHandlerBasic::Factory());
|
| - if (IsSupportedScheme(supported_schemes, "digest"))
|
| - registry_factory->RegisterSchemeFactory(
|
| - "digest", new HttpAuthHandlerDigest::Factory());
|
| - if (IsSupportedScheme(supported_schemes, "ntlm")) {
|
| - HttpAuthHandlerNTLM::Factory* ntlm_factory =
|
| - new HttpAuthHandlerNTLM::Factory();
|
| - ntlm_factory->set_url_security_manager(security_manager);
|
| -#if defined(OS_WIN)
|
| - ntlm_factory->set_sspi_library(new SSPILibraryDefault());
|
| -#endif
|
| - registry_factory->RegisterSchemeFactory("ntlm", ntlm_factory);
|
| - }
|
| -#if defined(USE_KERBEROS)
|
| - if (IsSupportedScheme(supported_schemes, "negotiate")) {
|
| - HttpAuthHandlerNegotiate::Factory* negotiate_factory =
|
| - new HttpAuthHandlerNegotiate::Factory();
|
| -#if defined(OS_POSIX)
|
| - negotiate_factory->set_library(
|
| - new GSSAPISharedLibrary(gssapi_library_name));
|
| -#elif defined(OS_WIN)
|
| - negotiate_factory->set_library(new SSPILibraryDefault());
|
| -#endif
|
| - negotiate_factory->set_url_security_manager(security_manager);
|
| - DCHECK(host_resolver || negotiate_disable_cname_lookup);
|
| - negotiate_factory->set_host_resolver(host_resolver);
|
| - negotiate_factory->set_disable_cname_lookup(negotiate_disable_cname_lookup);
|
| - negotiate_factory->set_use_port(negotiate_enable_port);
|
| - registry_factory->RegisterSchemeFactory("negotiate", negotiate_factory);
|
| - }
|
| -#endif // defined(USE_KERBEROS)
|
| -
|
| - return registry_factory;
|
| -}
|
| -
|
| -int HttpAuthHandlerRegistryFactory::CreateAuthHandler(
|
| - HttpAuthChallengeTokenizer* challenge,
|
| - HttpAuth::Target target,
|
| - const GURL& origin,
|
| - CreateReason reason,
|
| - int digest_nonce_count,
|
| - const BoundNetLog& net_log,
|
| - scoped_ptr<HttpAuthHandler>* handler) {
|
| - std::string scheme = challenge->scheme();
|
| - if (scheme.empty()) {
|
| - handler->reset();
|
| - return ERR_INVALID_RESPONSE;
|
| - }
|
| - std::string lower_scheme = base::StringToLowerASCII(scheme);
|
| - FactoryMap::iterator it = factory_map_.find(lower_scheme);
|
| - if (it == factory_map_.end()) {
|
| - handler->reset();
|
| - return ERR_UNSUPPORTED_AUTH_SCHEME;
|
| - }
|
| - DCHECK(it->second);
|
| - return it->second->CreateAuthHandler(challenge, target, origin, reason,
|
| - digest_nonce_count, net_log, handler);
|
| -}
|
| -
|
| -} // namespace net
|
|
|