From 3d496d2b285015a1eec2143ef58de0f0ed3d272c Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Sat, 24 Dec 2016 13:23:48 +0000 Subject: [PATCH] Ignore SSL errors during reply processing .. in OAuth dialog --- src/Cloud/OAuthDialog.cpp | 16 ++++++++++++---- src/Cloud/OAuthDialog.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Cloud/OAuthDialog.cpp b/src/Cloud/OAuthDialog.cpp index 0c527be39..e1681d368 100644 --- a/src/Cloud/OAuthDialog.cpp +++ b/src/Cloud/OAuthDialog.cpp @@ -286,8 +286,9 @@ OAuthDialog::urlChanged(const QUrl &url) QNetworkRequest request = QNetworkRequest(url); request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded"); - // now get the final token + // now get the final token - but ignore errors manager = new QNetworkAccessManager(this); + connect(manager, SIGNAL(sslErrors(QNetworkReply*, const QList & )), this, SLOT(onSslErrors(QNetworkReply*, const QList & ))); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkRequestFinished(QNetworkReply*))); manager->post(request, data); @@ -295,6 +296,13 @@ OAuthDialog::urlChanged(const QUrl &url) } } +// just ignore handshake errors +void +OAuthDialog::onSslErrors(QNetworkReply *reply, const QList&) +{ + reply->ignoreSslErrors(); +} + void OAuthDialog::loadFinished(bool ok) { @@ -346,10 +354,10 @@ OAuthDialog::loadFinished(bool ok) { request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); - // not get the final token + // not get the final token - ignoring errors manager = new QNetworkAccessManager(this); - connect(manager, SIGNAL(finished(QNetworkReply*)), this, - SLOT(networkRequestFinished(QNetworkReply*))); + connect(manager, SIGNAL(sslErrors(QNetworkReply*, const QList & )), this, SLOT(onSslErrors(QNetworkReply*, const QList & ))); + connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkRequestFinished(QNetworkReply*))); manager->post(request, data); } } diff --git a/src/Cloud/OAuthDialog.h b/src/Cloud/OAuthDialog.h index 76bfd81d5..1f0669305 100644 --- a/src/Cloud/OAuthDialog.h +++ b/src/Cloud/OAuthDialog.h @@ -72,6 +72,7 @@ private slots: void urlChanged(const QUrl& url); void loadFinished(bool ok); void networkRequestFinished(QNetworkReply *reply); + void onSslErrors(QNetworkReply *reply, const QList&error); #ifdef GC_HAVE_KQOAUTH // Twitter OAUTH