From c0b3e6d9d423c6d2aca2da9d55d94ef92175f209 Mon Sep 17 00:00:00 2001 From: Hannah von Reth Date: Wed, 5 Feb 2020 16:11:22 +0100 Subject: [PATCH] [OAuth] Fix lock --- src/libsync/abstractnetworkjob.cpp | 11 +++++------ src/libsync/abstractnetworkjob.h | 8 ++++---- src/libsync/creds/oauth.cpp | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/libsync/abstractnetworkjob.cpp b/src/libsync/abstractnetworkjob.cpp index 3e9bc7fdf6..d7eaa56dbb 100644 --- a/src/libsync/abstractnetworkjob.cpp +++ b/src/libsync/abstractnetworkjob.cpp @@ -125,14 +125,14 @@ QNetworkReply *AbstractNetworkJob::addTimer(QNetworkReply *reply) return reply; } -bool AbstractNetworkJob::retryAble() const +bool AbstractNetworkJob::isAuthenticationJob() const { - return _retryAble; + return _isAuthenticationJob; } -void AbstractNetworkJob::setRetryAble(bool retryAble) +void AbstractNetworkJob::setAuthenticationJob(bool b) { - _retryAble = retryAble; + _isAuthenticationJob = b; } QNetworkReply *AbstractNetworkJob::sendRequest(const QByteArray &verb, const QUrl &url, @@ -205,8 +205,7 @@ void AbstractNetworkJob::slotFinished() } if (_reply->error() != QNetworkReply::NoError) { - - if (retryAble() && _account->credentials()->retryIfNeeded(this)) + if (!isAuthenticationJob() && _account->credentials()->retryIfNeeded(this)) return; if (!_ignoreCredentialFailure || _reply->error() != QNetworkReply::AuthenticationRequiredError) { diff --git a/src/libsync/abstractnetworkjob.h b/src/libsync/abstractnetworkjob.h index a5bfc9aa41..e6fd649ee9 100644 --- a/src/libsync/abstractnetworkjob.h +++ b/src/libsync/abstractnetworkjob.h @@ -98,9 +98,9 @@ public: */ static int httpTimeout; - /** whether or noth this job can be retried */ - bool retryAble() const; - void setRetryAble(bool retryAble); + /** whether or noth this job should be restarted after authentication */ + bool isAuthenticationJob() const; + void setAuthenticationJob(bool b); public slots: void setTimeout(qint64 msec); @@ -207,7 +207,7 @@ private: // Reparented to the currently running QNetworkReply. QPointer _requestBody; - bool _retryAble = true; + bool _isAuthenticationJob = false; }; /** diff --git a/src/libsync/creds/oauth.cpp b/src/libsync/creds/oauth.cpp index aa825ca10d..08688fc923 100644 --- a/src/libsync/creds/oauth.cpp +++ b/src/libsync/creds/oauth.cpp @@ -249,7 +249,7 @@ SimpleNetworkJob *OAuth::postTokenRequest(const QList> & auto job = _account->sendRequest("POST", requestTokenUrl, req, requestBody); job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); - job->setRetryAble(false); + job->setAuthenticationJob(true); return job; }