mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-20 07:27:22 -06:00
Fix Qt4 build.
This commit is contained in:
@@ -32,6 +32,9 @@
|
||||
#include "connection.h"
|
||||
|
||||
#include <QRegExp>
|
||||
#ifndef QBT_USES_QT5
|
||||
#include <QStringList>
|
||||
#endif
|
||||
#include <QTcpSocket>
|
||||
|
||||
#include "irequesthandler.h"
|
||||
@@ -107,7 +110,7 @@ bool Connection::acceptsGzipEncoding(QString codings)
|
||||
|
||||
const auto isCodingAvailable = [](const QStringList &list, const QString &encoding) -> bool
|
||||
{
|
||||
foreach (const QString &str, list) {
|
||||
for (const QString &str: list) {
|
||||
if (!str.startsWith(encoding))
|
||||
continue;
|
||||
|
||||
@@ -116,7 +119,11 @@ bool Connection::acceptsGzipEncoding(QString codings)
|
||||
return true;
|
||||
|
||||
// [rfc7231] 5.3.1. Quality Values
|
||||
#ifdef QBT_USES_QT5
|
||||
const QStringRef substr = str.midRef(encoding.size() + 3); // ex. skip over "gzip;q="
|
||||
#else
|
||||
const QString substr = str.mid(encoding.size() + 3); // ex. skip over "gzip;q="
|
||||
#endif
|
||||
|
||||
bool ok = false;
|
||||
const double qvalue = substr.toDouble(&ok);
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
#include "responsegenerator.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#ifndef QBT_USES_QT5
|
||||
#include <QLocale>
|
||||
#endif
|
||||
|
||||
#include "base/utils/gzip.h"
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ Server::Server(IRequestHandler *requestHandler, QObject *parent)
|
||||
#endif
|
||||
|
||||
QTimer *dropConnectionTimer = new QTimer(this);
|
||||
connect(dropConnectionTimer, &QTimer::timeout, this, &Server::dropTimedOutConnection);
|
||||
connect(dropConnectionTimer, SIGNAL(timeout()), SLOT(dropTimedOutConnection()));
|
||||
dropConnectionTimer->start(CONNECTIONS_SCAN_INTERVAL * 1000);
|
||||
}
|
||||
|
||||
@@ -70,7 +70,11 @@ Server::~Server()
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef QBT_USES_QT5
|
||||
void Server::incomingConnection(qintptr socketDescriptor)
|
||||
#else
|
||||
void Server::incomingConnection(int socketDescriptor)
|
||||
#endif
|
||||
{
|
||||
if (m_connections.size() >= CONNECTIONS_LIMIT) return;
|
||||
|
||||
@@ -91,7 +95,11 @@ void Server::incomingConnection(qintptr socketDescriptor)
|
||||
if (m_https) {
|
||||
static_cast<QSslSocket *>(serverSocket)->setProtocol(QSsl::SecureProtocols);
|
||||
static_cast<QSslSocket *>(serverSocket)->setPrivateKey(m_key);
|
||||
#ifdef QBT_USES_QT5
|
||||
static_cast<QSslSocket *>(serverSocket)->setLocalCertificateChain(m_certificates);
|
||||
#else
|
||||
static_cast<QSslSocket *>(serverSocket)->setLocalCertificate(m_certificates.first());
|
||||
#endif
|
||||
static_cast<QSslSocket *>(serverSocket)->setPeerVerifyMode(QSslSocket::VerifyNone);
|
||||
static_cast<QSslSocket *>(serverSocket)->startServerEncryption();
|
||||
}
|
||||
@@ -118,7 +126,14 @@ bool Server::setupHttps(const QByteArray &certificates, const QByteArray &key)
|
||||
{
|
||||
QSslKey sslKey(key, QSsl::Rsa);
|
||||
if (sslKey.isNull())
|
||||
#ifdef QBT_USES_QT5
|
||||
sslKey = QSslKey(key, QSsl::Ec);
|
||||
#else
|
||||
{
|
||||
disableHttps();
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
const QList<QSslCertificate> certs = QSslCertificate::fromData(certificates);
|
||||
const bool areCertsValid = !certs.empty() && std::all_of(certs.begin(), certs.end(), [](const QSslCertificate &c) { return !c.isNull(); });
|
||||
@@ -143,14 +158,6 @@ void Server::disableHttps()
|
||||
m_certificates.clear();
|
||||
m_key.clear();
|
||||
}
|
||||
#ifdef QBT_USES_QT5
|
||||
#else
|
||||
void Server::incomingConnection(int socketDescriptor)
|
||||
#endif
|
||||
#ifdef QBT_USES_QT5
|
||||
#else
|
||||
static_cast<QSslSocket *>(serverSocket)->setLocalCertificate(m_certificates.first());
|
||||
#endif
|
||||
|
||||
QList<QSslCipher> Server::safeCipherList() const
|
||||
{
|
||||
|
||||
@@ -255,10 +255,6 @@ void AbstractWebApplication::translateDocument(QString& data)
|
||||
translation = qApp->translate(context.toUtf8().constData(), word.constData(), 0, QCoreApplication::UnicodeUTF8, 1);
|
||||
#else
|
||||
translation = qApp->translate(context.toUtf8().constData(), word.constData(), 0, 1);
|
||||
#endif
|
||||
#ifndef QBT_USES_QT5
|
||||
translation = qApp->translate(contexts[context_index].c_str(), word.constData(), 0, QCoreApplication::UnicodeUTF8, 1);
|
||||
#else
|
||||
#endif
|
||||
}
|
||||
// Remove keyboard shortcuts
|
||||
@@ -397,16 +393,25 @@ QStringMap AbstractWebApplication::parseCookie(const Http::Request &request) con
|
||||
// [rfc6265] 4.2.1. Syntax
|
||||
QStringMap ret;
|
||||
const QString cookieStr = request.headers.value(QLatin1String("cookie"));
|
||||
#ifdef QBT_USES_QT5
|
||||
const QVector<QStringRef> cookies = cookieStr.splitRef(';', QString::SkipEmptyParts);
|
||||
#else
|
||||
const QStringList cookies = cookieStr.split(';', QString::SkipEmptyParts);
|
||||
#endif
|
||||
|
||||
for (const auto &cookie : cookies) {
|
||||
const int idx = cookie.indexOf('=');
|
||||
if (idx < 0)
|
||||
continue;
|
||||
|
||||
#ifdef QBT_USES_QT5
|
||||
const QString name = cookie.left(idx).trimmed().toString();
|
||||
const QString value = Utils::String::unquote(cookie.mid(idx + 1).trimmed())
|
||||
.toString();
|
||||
#else
|
||||
const QString name = cookie.left(idx).trimmed();
|
||||
const QString value = Utils::String::unquote(cookie.mid(idx + 1).trimmed());
|
||||
#endif
|
||||
|
||||
ret.insert(name, value);
|
||||
}
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user