summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagerproxyfactory.cpp
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2015-10-12 09:28:00 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2015-10-12 09:30:51 +0200
commit6c04ab6712516dd76addf35cd924ee73603dbbf3 (patch)
tree7b96443eb972bb6e84ecb6ead777c0a3b8dc2995 /src/libs/installer/packagemanagerproxyfactory.cpp
parent175ffec58f9e4f513004ec53ab03f06561096913 (diff)
parenta81f19295745d081306f9417d6c45fda252fcb89 (diff)
Merge remote-tracking branch 'origin/2.0'
Diffstat (limited to 'src/libs/installer/packagemanagerproxyfactory.cpp')
-rw-r--r--src/libs/installer/packagemanagerproxyfactory.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libs/installer/packagemanagerproxyfactory.cpp b/src/libs/installer/packagemanagerproxyfactory.cpp
index 5e8e3188b..7626a26d4 100644
--- a/src/libs/installer/packagemanagerproxyfactory.cpp
+++ b/src/libs/installer/packagemanagerproxyfactory.cpp
@@ -75,7 +75,19 @@ QList<QNetworkProxy> PackageManagerProxyFactory::queryProxy(const QNetworkProxyQ
proxyUrl.userName(), proxyUrl.password());
}
#endif
- return QNetworkProxyFactory::systemProxyForQuery(query);
+ QList<QNetworkProxy> systemProxies = systemProxyForQuery(query);
+
+ auto proxyIter = systemProxies.begin();
+ for (; proxyIter != systemProxies.end(); ++proxyIter) {
+ QNetworkProxy &proxy = *proxyIter;
+ auto p = std::find_if(m_proxyCredentials.constBegin(), m_proxyCredentials.constEnd(),
+ FindProxyCredential(proxy.hostName(), proxy.port()));
+ if (p != m_proxyCredentials.constEnd()) {
+ proxy.setUser(p->user);
+ proxy.setPassword(p->password);
+ }
+ }
+ return systemProxies;
}
if ((settings.proxyType() == Settings::NoProxy))