QNetworkProxy/libproxy: don't overwrite the user-provided protocol tag
Otherwise, we always query for "tcp://somehost" even when the user provided a tag like "https", which has a reasonable chance of being resolved. Change-Id: I262c3499666e4f4fbcfbfffd17cbbbe74346b167 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>bb10
parent
d44d19dd98
commit
cbba65f9ce
|
|
@ -166,13 +166,15 @@ QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro
|
|||
break;
|
||||
// fake URLs to get libproxy to tell us the SOCKS proxy
|
||||
case QNetworkProxyQuery::TcpSocket:
|
||||
queryUrl.setScheme(QStringLiteral("tcp"));
|
||||
if (queryUrl.scheme().isEmpty())
|
||||
queryUrl.setScheme(QStringLiteral("tcp"));
|
||||
queryUrl.setHost(query.peerHostName());
|
||||
queryUrl.setPort(query.peerPort());
|
||||
requiredCapabilities |= QNetworkProxy::TunnelingCapability;
|
||||
break;
|
||||
case QNetworkProxyQuery::UdpSocket:
|
||||
queryUrl.setScheme(QStringLiteral("udp"));
|
||||
if (queryUrl.scheme().isEmpty())
|
||||
queryUrl.setScheme(QStringLiteral("udp"));
|
||||
queryUrl.setHost(query.peerHostName());
|
||||
queryUrl.setPort(query.peerPort());
|
||||
requiredCapabilities |= QNetworkProxy::UdpTunnelingCapability;
|
||||
|
|
|
|||
Loading…
Reference in New Issue