mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-21 13:53:37 -07:00
Fix Qt4 build.
This commit is contained in:
parent
89d4cb257f
commit
d92ef3fa4d
4 changed files with 38 additions and 16 deletions
|
@ -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
|
||||
{
|
||||
|
|
|
@ -252,13 +252,9 @@ void AbstractWebApplication::translateDocument(QString& data)
|
|||
if (isTranslationNeeded) {
|
||||
QString context = regex.cap(4);
|
||||
#ifndef QBT_USES_QT5
|
||||
translation = qApp->translate(context.toUtf8().constData(), word.constData(), 0, QCoreApplication::UnicodeUTF8, 1);
|
||||
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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue