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 |
index d001fd4098ae4e2698f3e51c1ca0f12d14805e6e..99ac3f83c6f6c5d153191258c2ea4f57e4b34ec4 100644 |
--- a/net/http/http_auth_handler_factory.cc |
+++ b/net/http/http_auth_handler_factory.cc |
@@ -50,6 +50,11 @@ HttpAuthHandlerRegistryFactory* HttpAuthHandlerFactory::CreateDefault( |
"digest", new HttpAuthHandlerDigest::Factory()); |
HttpAuthHandlerNegotiate::Factory* negotiate_factory = |
new HttpAuthHandlerNegotiate::Factory(); |
+#if defined(OS_POSIX) |
+ negotiate_factory->set_library(new GSSAPISharedLibrary("")); |
cbentzel
2010/11/11 03:37:51
I've occasionally seen
std::string()
instead o
Jakob Kummerow (corp)
2010/11/11 11:10:53
Done.
|
+#elif defined(OS_WIN) |
+ negotiate_factory->set_library(new SSPILibraryDefault()); |
+#endif |
negotiate_factory->set_host_resolver(host_resolver); |
registry_factory->RegisterSchemeFactory("negotiate", negotiate_factory); |
registry_factory->RegisterSchemeFactory( |
@@ -73,6 +78,7 @@ 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 = |
@@ -92,6 +98,12 @@ HttpAuthHandlerRegistryFactory* HttpAuthHandlerRegistryFactory::Create( |
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); |