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..f33337c028ea3092776508efa526184aa4b15c78 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) |
+ GSSAPILibrary* gssapi_library = |
+ new GSSAPISharedLibrary(""); |
+ negotiate_factory->set_library(gssapi_library); |
+#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,11 @@ HttpAuthHandlerRegistryFactory* HttpAuthHandlerRegistryFactory::Create( |
if (IsSupportedScheme(supported_schemes, "negotiate")) { |
HttpAuthHandlerNegotiate::Factory* negotiate_factory = |
new HttpAuthHandlerNegotiate::Factory(); |
+#if defined(OS_POSIX) |
+ GSSAPILibrary* gssapi_library = |
+ new GSSAPISharedLibrary(gssapi_library_name); |
+ negotiate_factory->set_library(gssapi_library); |
+#endif |
negotiate_factory->set_url_security_manager(security_manager); |
DCHECK(host_resolver || negotiate_disable_cname_lookup); |
negotiate_factory->set_host_resolver(host_resolver); |