From b81d7095825cdd4f486e83894c801e596f248936 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen <allan.jensen@qt.io> Date: Fri, 3 May 2019 14:46:41 +0200 Subject: [PATCH] Support --auth-server-whitelist Read it and pass it to an HttpAuthPreference. Change-Id: I37c23f4d777ff11b2c0480fa9c28ea6fbe029737 Fixes: QTBUG-75539 Reviewed-by: Kai Koehne <kai.koehne@qt.io> --- src/core/profile_io_data_qt.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp index 5d317b7f0..96248a55a 100644 --- a/src/core/profile_io_data_qt.cpp +++ b/src/core/profile_io_data_qt.cpp @@ -49,6 +49,7 @@ #include "content/public/common/content_features.h" #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" #include "chrome/browser/net/chrome_mojo_proxy_resolver_factory.h" +#include "chrome/common/chrome_switches.h" #include "components/proxy_config/pref_proxy_config_tracker_impl.h" #include "net/cert/cert_verifier.h" #include "net/cert/ct_log_verifier.h" @@ -100,13 +101,6 @@ namespace QtWebEngineCore { -static const char* const kDefaultAuthSchemes[] = { net::kBasicAuthScheme, - net::kDigestAuthScheme, -#if QT_CONFIG(webengine_kerberos) - net::kNegotiateAuthScheme, -#endif - net::kNtlmAuthScheme }; - static bool doNetworkSessionParamsMatch(const net::HttpNetworkSession::Params &first, const net::HttpNetworkSession::Params &second) { @@ -345,8 +339,14 @@ void ProfileIODataQt::generateStorage() m_storage->set_ct_policy_enforcer(base::WrapUnique(new net::DefaultCTPolicyEnforcer())); m_storage->set_host_resolver(net::HostResolver::CreateDefaultResolver(NULL)); m_storage->set_ssl_config_service(std::make_unique<net::SSLConfigServiceDefaults>()); + if (!m_httpAuthPreferences) { + m_httpAuthPreferences.reset(new net::HttpAuthPreferences()); + std::string serverWhitelist = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kAuthServerWhitelist); + m_httpAuthPreferences->SetServerWhitelist(serverWhitelist); + } m_storage->set_http_auth_handler_factory(net::HttpAuthHandlerFactory::CreateDefault( - m_urlRequestContext->host_resolver())); + m_urlRequestContext->host_resolver(), + m_httpAuthPreferences.get())); m_storage->set_transport_security_state(std::make_unique<net::TransportSecurityState>()); if (!m_dataPath.isEmpty()) { -- GitLab