Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1981)

Unified Diff: net/http/http_auth_handler_negotiate.h

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_auth_handler_mock.cc ('k') | net/http/http_auth_handler_negotiate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_auth_handler_negotiate.h
diff --git a/net/http/http_auth_handler_negotiate.h b/net/http/http_auth_handler_negotiate.h
deleted file mode 100644
index fc596fa6db1e49ea673ed7e7b95b12d106c11381..0000000000000000000000000000000000000000
--- a/net/http/http_auth_handler_negotiate.h
+++ /dev/null
@@ -1,167 +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.
-
-#ifndef NET_HTTP_HTTP_AUTH_HANDLER_NEGOTIATE_H_
-#define NET_HTTP_HTTP_AUTH_HANDLER_NEGOTIATE_H_
-
-#include <string>
-
-#include "build/build_config.h"
-#include "net/base/address_list.h"
-#include "net/base/net_export.h"
-#include "net/http/http_auth_handler.h"
-#include "net/http/http_auth_handler_factory.h"
-
-#if defined(OS_WIN)
-#include "net/http/http_auth_sspi_win.h"
-#elif defined(OS_POSIX)
-#include "net/http/http_auth_gssapi_posix.h"
-#endif
-
-namespace net {
-
-class HostResolver;
-class SingleRequestHostResolver;
-class URLSecurityManager;
-
-// Handler for WWW-Authenticate: Negotiate protocol.
-//
-// See http://tools.ietf.org/html/rfc4178 and http://tools.ietf.org/html/rfc4559
-// for more information about the protocol.
-
-class NET_EXPORT_PRIVATE HttpAuthHandlerNegotiate : public HttpAuthHandler {
- public:
-#if defined(OS_WIN)
- typedef SSPILibrary AuthLibrary;
- typedef HttpAuthSSPI AuthSystem;
-#elif defined(OS_POSIX)
- typedef GSSAPILibrary AuthLibrary;
- typedef HttpAuthGSSAPI AuthSystem;
-#endif
-
- class NET_EXPORT_PRIVATE Factory : public HttpAuthHandlerFactory {
- public:
- Factory();
- ~Factory() override;
-
- // |disable_cname_lookup()| and |set_disable_cname_lookup()| get/set whether
- // the auth handlers generated by this factory should skip looking up the
- // canonical DNS name of the the host that they are authenticating to when
- // generating the SPN. The default value is false.
- bool disable_cname_lookup() const { return disable_cname_lookup_; }
- void set_disable_cname_lookup(bool disable_cname_lookup) {
- disable_cname_lookup_ = disable_cname_lookup;
- }
-
- // |use_port()| and |set_use_port()| get/set whether the auth handlers
- // generated by this factory should include the port number of the server
- // they are authenticating to when constructing a Kerberos SPN. The default
- // value is false.
- bool use_port() const { return use_port_; }
- void set_use_port(bool use_port) { use_port_ = use_port; }
-
- void set_host_resolver(HostResolver* host_resolver);
-
- // Sets the system library to use, thereby assuming ownership of
- // |auth_library|.
- void set_library(AuthLibrary* auth_library) {
- auth_library_.reset(auth_library);
- }
-
- int CreateAuthHandler(HttpAuthChallengeTokenizer* challenge,
- HttpAuth::Target target,
- const GURL& origin,
- CreateReason reason,
- int digest_nonce_count,
- const BoundNetLog& net_log,
- scoped_ptr<HttpAuthHandler>* handler) override;
-
- private:
- bool disable_cname_lookup_;
- bool use_port_;
- HostResolver* resolver_;
-#if defined(OS_WIN)
- ULONG max_token_length_;
- bool first_creation_;
-#endif
- bool is_unsupported_;
- scoped_ptr<AuthLibrary> auth_library_;
- };
-
- HttpAuthHandlerNegotiate(AuthLibrary* sspi_library,
-#if defined(OS_WIN)
- ULONG max_token_length,
-#endif
- URLSecurityManager* url_security_manager,
- HostResolver* host_resolver,
- bool disable_cname_lookup,
- bool use_port);
-
- ~HttpAuthHandlerNegotiate() override;
-
- // These are public for unit tests
- std::string CreateSPN(const AddressList& address_list, const GURL& orign);
- const std::string& spn() const { return spn_; }
-
- // HttpAuthHandler:
- HttpAuth::AuthorizationResult HandleAnotherChallenge(
- HttpAuthChallengeTokenizer* challenge) override;
- bool NeedsIdentity() override;
- bool AllowsDefaultCredentials() override;
- bool AllowsExplicitCredentials() override;
-
- protected:
- bool Init(HttpAuthChallengeTokenizer* challenge) override;
-
- int GenerateAuthTokenImpl(const AuthCredentials* credentials,
- const HttpRequestInfo* request,
- const CompletionCallback& callback,
- std::string* auth_token) override;
-
- private:
- enum State {
- STATE_RESOLVE_CANONICAL_NAME,
- STATE_RESOLVE_CANONICAL_NAME_COMPLETE,
- STATE_GENERATE_AUTH_TOKEN,
- STATE_GENERATE_AUTH_TOKEN_COMPLETE,
- STATE_NONE,
- };
-
- void OnIOComplete(int result);
- void DoCallback(int result);
- int DoLoop(int result);
-
- int DoResolveCanonicalName();
- int DoResolveCanonicalNameComplete(int rv);
- int DoGenerateAuthToken();
- int DoGenerateAuthTokenComplete(int rv);
- bool CanDelegate() const;
-
- AuthSystem auth_system_;
- bool disable_cname_lookup_;
- bool use_port_;
- HostResolver* const resolver_;
-
- // Members which are needed for DNS lookup + SPN.
- AddressList address_list_;
- scoped_ptr<SingleRequestHostResolver> single_resolve_;
-
- // Things which should be consistent after first call to GenerateAuthToken.
- bool already_called_;
- bool has_credentials_;
- AuthCredentials credentials_;
- std::string spn_;
-
- // Things which vary each round.
- CompletionCallback callback_;
- std::string* auth_token_;
-
- State next_state_;
-
- const URLSecurityManager* url_security_manager_;
-};
-
-} // namespace net
-
-#endif // NET_HTTP_HTTP_AUTH_HANDLER_NEGOTIATE_H_
« no previous file with comments | « net/http/http_auth_handler_mock.cc ('k') | net/http/http_auth_handler_negotiate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698