From 7782bd5d68a0c14b06873d3a04929816e337c8a3 Mon Sep 17 00:00:00 2001 From: Christian Kaiser Date: Tue, 21 Nov 2017 00:27:10 -0300 Subject: [PATCH] Windows 2003/XP SSL error ignoring --- tools/uploader/imguruploader.cpp | 22 +++++++++++++++++----- tools/uploader/pomfuploader.cpp | 6 ++++-- widgets/imguroptionswidget.cpp | 4 +++- widgets/pomfoptionswidget.cpp | 4 +++- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/tools/uploader/imguruploader.cpp b/tools/uploader/imguruploader.cpp index cc93205..213d93e 100644 --- a/tools/uploader/imguruploader.cpp +++ b/tools/uploader/imguruploader.cpp @@ -107,16 +107,18 @@ void ImgurUploader::upload(const QString &fileName) this->setProperty("fileName", fileName); multiPart->setParent(reply); - connect(reply, &QNetworkReply::uploadProgress, this, &ImgurUploader::uploadProgress); - connect(this , &ImgurUploader::cancelRequest, reply, &QNetworkReply::abort); - connect(this , &ImgurUploader::cancelRequest, reply, &QNetworkReply::deleteLater); - +#ifdef Q_OS_WIN connect(reply, &QNetworkReply::sslErrors, [reply](const QList &errors) { Q_UNUSED(errors); - if (QSysInfo::WindowsVersion == QSysInfo::WV_XP) { + if (QSysInfo::WindowsVersion <= QSysInfo::WV_2003) { reply->ignoreSslErrors(); } }); +#endif + + connect(reply, &QNetworkReply::uploadProgress, this, &ImgurUploader::uploadProgress); + connect(this , &ImgurUploader::cancelRequest, reply, &QNetworkReply::abort); + connect(this , &ImgurUploader::cancelRequest, reply, &QNetworkReply::deleteLater); connect(reply, &QNetworkReply::finished, this, &ImgurUploader::finished); } @@ -137,6 +139,7 @@ void ImgurUploader::finished() QNetworkReply *reply = qobject_cast(sender()); reply->deleteLater(); + QString fileName = reply->property("fileName").toString(); if (reply->error() != QNetworkReply::NoError) { @@ -185,6 +188,15 @@ void ImgurUploader::uploadProgress(qint64 bytesReceived, qint64 bytesTotal) void ImgurUploader::authorizationReply(QNetworkReply *reply, AuthorizationCallback callback) { +#ifdef Q_OS_WIN + connect(reply, &QNetworkReply::sslErrors, [reply](const QList &errors) { + Q_UNUSED(errors); + if (QSysInfo::WindowsVersion <= QSysInfo::WV_2003) { + reply->ignoreSslErrors(); + } + }); +#endif + connect(reply, &QNetworkReply::finished, [reply, callback] { reply->deleteLater(); diff --git a/tools/uploader/pomfuploader.cpp b/tools/uploader/pomfuploader.cpp index abd3b40..9d42ed2 100644 --- a/tools/uploader/pomfuploader.cpp +++ b/tools/uploader/pomfuploader.cpp @@ -36,7 +36,7 @@ QNetworkReply* PomfUploader::verify(const QString &url, VerificationCallback cal connect(reply, &QNetworkReply::sslErrors, [reply, callback](const QList &errors) { Q_UNUSED(errors); - if (QSysInfo::WindowsVersion == QSysInfo::WV_XP) { + if (QSysInfo::WindowsVersion <= QSysInfo::WV_2003) { reply->ignoreSslErrors(); } else { callback(false); @@ -120,12 +120,14 @@ void PomfUploader::upload(const QString &fileName) } }); +#ifdef Q_OS_WIN connect(reply, &QNetworkReply::sslErrors, [reply](const QList &errors) { Q_UNUSED(errors); - if (QSysInfo::WindowsVersion == QSysInfo::WV_XP) { + if (QSysInfo::WindowsVersion <= QSysInfo::WV_2003) { reply->ignoreSslErrors(); } }); +#endif } void PomfUploader::retry() diff --git a/widgets/imguroptionswidget.cpp b/widgets/imguroptionswidget.cpp index b1d36e9..914e4a3 100644 --- a/widgets/imguroptionswidget.cpp +++ b/widgets/imguroptionswidget.cpp @@ -164,10 +164,12 @@ void ImgurOptionsWidget::requestAlbumList() setUpdatesEnabled(true); }); +#ifdef Q_OS_WIN connect(reply, &QNetworkReply::sslErrors, [reply](const QList &errors) { Q_UNUSED(errors); - if (QSysInfo::WindowsVersion == QSysInfo::WV_XP) { + if (QSysInfo::WindowsVersion <= QSysInfo::WV_2003) { reply->ignoreSslErrors(); } }); +#endif } diff --git a/widgets/pomfoptionswidget.cpp b/widgets/pomfoptionswidget.cpp index fb1a969..ef511aa 100644 --- a/widgets/pomfoptionswidget.cpp +++ b/widgets/pomfoptionswidget.cpp @@ -124,12 +124,14 @@ PomfOptionsWidget::PomfOptionsWidget(QWidget *parent) : QWidget(parent) } }); +#ifdef Q_OS_WIN connect(pomflistReply, &QNetworkReply::sslErrors, [pomflistReply](const QList &errors) { Q_UNUSED(errors); - if (!pomflistReply.isNull() && QSysInfo::WindowsVersion == QSysInfo::WV_XP) { + if (!pomflistReply.isNull() && QSysInfo::WindowsVersion <= QSysInfo::WV_2003) { pomflistReply->ignoreSslErrors(); } }); +#endif connect(ui.cancelButton, &QPushButton::clicked, [&, guard, pomflistReply] { if (guard.isNull()) return;