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

Unified Diff: net/http/http_auth_handler_ntlm.h

Issue 388063005: Add NTLM single-sign-on support via Samba's ntlm_auth helper Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback Created 6 years, 4 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_controller.cc ('k') | net/http/http_auth_handler_ntlm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « net/http/http_auth_controller.cc ('k') | net/http/http_auth_handler_ntlm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698