Index: net/http/http_auth_handler_ntlm.h |
diff --git a/net/http/http_auth_handler_ntlm.h b/net/http/http_auth_handler_ntlm.h |
index 9e2abc6254abe464a20c5295fcacc20a7511985e..47d1975a5bbc9ae5f1779e4fbd2ed9029e157ff8 100644 |
--- a/net/http/http_auth_handler_ntlm.h |
+++ b/net/http/http_auth_handler_ntlm.h |
@@ -25,6 +25,8 @@ |
#include <string> |
#include "base/basictypes.h" |
+#include "base/message_loop/message_loop.h" |
+#include "base/process/process_handle.h" |
#include "base/strings/string16.h" |
#include "net/http/http_auth_handler.h" |
#include "net/http/http_auth_handler_factory.h" |
@@ -34,7 +36,8 @@ namespace net { |
class URLSecurityManager; |
// Code for handling HTTP NTLM authentication. |
-class NET_EXPORT_PRIVATE HttpAuthHandlerNTLM : public HttpAuthHandler { |
+class NET_EXPORT_PRIVATE HttpAuthHandlerNTLM : public HttpAuthHandler, |
+ base::MessageLoopForIO::Watcher { |
public: |
class Factory : public HttpAuthHandlerFactory { |
public: |
@@ -97,7 +100,7 @@ class NET_EXPORT_PRIVATE HttpAuthHandlerNTLM : public HttpAuthHandler { |
#endif |
#if defined(NTLM_PORTABLE) |
- HttpAuthHandlerNTLM(); |
+ HttpAuthHandlerNTLM(URLSecurityManager* url_security_manager); |
#endif |
#if defined(NTLM_SSPI) |
HttpAuthHandlerNTLM(SSPILibrary* sspi_library, ULONG max_token_length, |
@@ -152,6 +155,17 @@ class NET_EXPORT_PRIVATE HttpAuthHandlerNTLM : public HttpAuthHandler { |
#endif |
#if defined(NTLM_PORTABLE) |
+ const char *helpername_; |
+ int ntlm_write_pipe_; |
+ int ntlm_read_pipe_; |
+ base::ProcessHandle ntlm_auth_handle_; |
+ bool start_ntlm_helper_(); |
+ bool try_winbind_; |
+ CompletionCallback token_callback_; |
+ std::string *callback_auth_token_; |
+ base::MessageLoopForIO::FileDescriptorWatcher ntlm_read_watcher_; |
+ virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE; |
+ virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE; |
static GenerateRandomProc generate_random_proc_; |
static HostNameProc get_host_name_proc_; |
#endif |
@@ -163,9 +177,7 @@ class NET_EXPORT_PRIVATE HttpAuthHandlerNTLM : public HttpAuthHandler { |
// "Proxy-Authenticate" response header. |
std::string auth_data_; |
-#if defined(NTLM_SSPI) |
URLSecurityManager* url_security_manager_; |
-#endif |
}; |
} // namespace net |