diff options
-rw-r--r-- | src/network/kernel/qnetworkproxy.cpp | 13 | ||||
-rw-r--r-- | src/network/socket/qabstractsocket.cpp | 10 |
2 files changed, 13 insertions, 10 deletions
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp index a01c853..e862b17 100644 --- a/src/network/kernel/qnetworkproxy.cpp +++ b/src/network/kernel/qnetworkproxy.cpp @@ -302,6 +302,19 @@ QList<QNetworkProxy> QGlobalNetworkProxy::proxyForQuery(const QNetworkProxyQuery QMutexLocker locker(&mutex); QList<QNetworkProxy> result; + + // don't look for proxies for a local connection + QHostAddress parsed; + QString hostname = query.url().host(); + if (hostname == QLatin1String("localhost") + || hostname.startsWith(QLatin1String("localhost.")) + || (parsed.setAddress(hostname) + && (parsed == QHostAddress::LocalHost + || parsed == QHostAddress::LocalHostIPv6))) { + result << QNetworkProxy(QNetworkProxy::NoProxy); + return result; + } + if (!applicationLevelProxyFactory) { if (applicationLevelProxy && applicationLevelProxy->type() != QNetworkProxy::DefaultProxy) diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 8407271..36049a3 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -800,16 +800,6 @@ bool QAbstractSocketPrivate::flush() */ void QAbstractSocketPrivate::resolveProxy(const QString &hostname, quint16 port) { - QHostAddress parsed; - if (hostname == QLatin1String("localhost") - || hostname.startsWith(QLatin1String("localhost.")) - || (parsed.setAddress(hostname) - && (parsed == QHostAddress::LocalHost - || parsed == QHostAddress::LocalHostIPv6))) { - proxyInUse = QNetworkProxy::NoProxy; - return; - } - QList<QNetworkProxy> proxies; if (proxy.type() != QNetworkProxy::DefaultProxy) { |