summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-03 14:46:41 +0200
committerMichal Klocek <michal.klocek@qt.io>2019-05-29 20:00:09 +0200
commitefe771eaaa69557cdca04bccc4502c8e31f372fa (patch)
tree61b881931ad3d0b372af13f8551f7cd989f14533
parentda67565737b564e1951b15c6b7756783c88ab438 (diff)
Fix automatic NTLM authentication by backporting server white list support
Support --auth-server-whitelist Read it and pass it to an HttpAuthPreference. Change-Id: I37c23f4d777ff11b2c0480fa9c28ea6fbe029737 Task-number: QTBUG-75539 Task-number: QTBUG-57729 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit b81d7095825cdd4f486e83894c801e596f248936) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--src/core/profile_io_data_qt.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp
index 63585b2c3..dd363f74d 100644
--- a/src/core/profile_io_data_qt.cpp
+++ b/src/core/profile_io_data_qt.cpp
@@ -48,6 +48,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 "net/cert/cert_verifier.h"
#include "net/cert/ct_log_verifier.h"
#include "net/cert/ct_policy_enforcer.h"
@@ -88,13 +89,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)
{
@@ -297,8 +291,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()) {