Remove Qt4 support

This commit is contained in:
Craig Drummond
2017-04-02 18:43:34 +01:00
committed by Craig Drummond
parent a517bf4f17
commit b0b0140d98
109 changed files with 137 additions and 10424 deletions

View File

@@ -29,106 +29,9 @@
const char * NetworkProxyFactory::constSettingsGroup = "Proxy";
#if defined Q_OS_LINUX && QT_VERSION < 0x050000
// Taken from Qt5...
static bool ignoreProxyFor(const QNetworkProxyQuery &query)
{
const QList<QByteArray> noProxyTokens = qgetenv("no_proxy").split(',');
foreach (const QByteArray &rawToken, noProxyTokens) {
QByteArray token = rawToken.trimmed();
QString peerHostName = query.peerHostName();
// Since we use suffix matching, "*" is our 'default' behaviour
if (token.startsWith("*")) {
token = token.mid(1);
}
// Harmonize trailing dot notation
if (token.endsWith('.') && !peerHostName.endsWith('.')) {
token = token.left(token.length()-1);
}
// We prepend a dot to both values, so that when we do a suffix match,
// we don't match "donotmatch.com" with "match.com"
if (!token.startsWith('.')) {
token.prepend('.');
}
if (!peerHostName.startsWith('.')) {
peerHostName.prepend('.');
}
if (peerHostName.endsWith(QString::fromLatin1(token))) {
return true;
}
}
return false;
}
// Taken from Qt5...
static QList<QNetworkProxy> systemProxyForQuery(const QNetworkProxyQuery &query)
{
QList<QNetworkProxy> proxyList;
if (ignoreProxyFor(query)) {
return proxyList << QNetworkProxy::NoProxy;
}
// No need to care about casing here, QUrl lowercases values already
const QString queryProtocol = query.protocolTag();
QByteArray proxy_env;
if (queryProtocol == QLatin1String("http")) {
proxy_env = qgetenv("http_proxy");
} else if (queryProtocol == QLatin1String("https")) {
proxy_env = qgetenv("https_proxy");
} else if (queryProtocol == QLatin1String("ftp")) {
proxy_env = qgetenv("ftp_proxy");
} else {
proxy_env = qgetenv("all_proxy");
}
// Fallback to http_proxy is no protocol specific proxy was found
if (proxy_env.isEmpty()) {
proxy_env = qgetenv("http_proxy");
}
if (!proxy_env.isEmpty()) {
QUrl url = QUrl(QString::fromLocal8Bit(proxy_env));
if (url.scheme() == QLatin1String("socks5")) {
QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, url.host(),
url.port() ? url.port() : 1080, url.userName(), url.password());
proxyList << proxy;
} else if (url.scheme() == QLatin1String("socks5h")) {
QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, url.host(),
url.port() ? url.port() : 1080, url.userName(), url.password());
proxy.setCapabilities(QNetworkProxy::HostNameLookupCapability);
proxyList << proxy;
} else if ((url.scheme() == QLatin1String("http") || url.scheme().isEmpty())
&& query.queryType() != QNetworkProxyQuery::UdpSocket
&& query.queryType() != QNetworkProxyQuery::TcpServer) {
QNetworkProxy proxy(QNetworkProxy::HttpProxy, url.host(),
url.port() ? url.port() : 8080, url.userName(), url.password());
proxyList << proxy;
}
}
if (proxyList.isEmpty()) {
proxyList << QNetworkProxy::NoProxy;
}
return proxyList;
}
#endif
static QList<QNetworkProxy> getSystemProxyForQuery(const QNetworkProxyQuery &query)
{
#if defined Q_OS_LINUX && QT_VERSION < 0x050000
return ::systemProxyForQuery(query);
#else
return QNetworkProxyFactory::systemProxyForQuery(query);
#endif
}
#ifdef ENABLE_PROXY_CONFIG