diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2022-05-11 11:58:51 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2022-05-11 19:56:30 +0300 |
commit | 99bb1dc703db9ab3de600ad089fe91c5658bb29d (patch) | |
tree | 999ff96519abd10fb932c79de628b968b3241802 /src/libsync | |
parent | 4a83db93b529c5ea53f2484d8d0c7294ee889829 (diff) |
Remove Account:sslConfiguration
Diffstat (limited to 'src/libsync')
-rw-r--r-- | src/libsync/accessmanager.cpp | 8 | ||||
-rw-r--r-- | src/libsync/account.cpp | 26 | ||||
-rw-r--r-- | src/libsync/account.h | 5 | ||||
-rw-r--r-- | src/libsync/networkjobs.cpp | 1 |
4 files changed, 6 insertions, 34 deletions
diff --git a/src/libsync/accessmanager.cpp b/src/libsync/accessmanager.cpp index 223531fdd..d731ddb69 100644 --- a/src/libsync/accessmanager.cpp +++ b/src/libsync/accessmanager.cpp @@ -80,11 +80,15 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op, // for some reason, passing an empty list causes the default chain to be removed // this behavior does not match the documentation + auto sslConfiguration = newRequest.sslConfiguration(); + + sslConfiguration.setSslOption(QSsl::SslOptionDisableSessionTickets, false); + sslConfiguration.setSslOption(QSsl::SslOptionDisableSessionSharing, false); + sslConfiguration.setSslOption(QSsl::SslOptionDisableSessionPersistence, false); if (!_customTrustedCaCertificates.isEmpty()) { - auto sslConfiguration = newRequest.sslConfiguration(); sslConfiguration.addCaCertificates({ _customTrustedCaCertificates.begin(), _customTrustedCaCertificates.end() }); - newRequest.setSslConfiguration(sslConfiguration); } + newRequest.setSslConfiguration(sslConfiguration); const auto reply = QNetworkAccessManager::createRequest(op, newRequest, outgoingData); HttpLogger::logRequest(reply, op, outgoingData); diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 90218acad..0087eba0e 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -253,7 +253,6 @@ QNetworkReply *Account::sendRawRequest(const QByteArray &verb, const QUrl &url, { Q_ASSERT(verb.isUpper()); req.setUrl(url); - req.setSslConfiguration(this->getOrCreateSslConfig()); if (verb == "HEAD" && !data) { return _am->head(req); } else if (verb == "GET" && !data) { @@ -268,31 +267,6 @@ QNetworkReply *Account::sendRawRequest(const QByteArray &verb, const QUrl &url, return _am->sendCustomRequest(req, verb, data); } -void Account::setSslConfiguration(const QSslConfiguration &config) -{ - _sslConfiguration = config; -} - -QSslConfiguration Account::getOrCreateSslConfig() -{ - if (!_sslConfiguration.isNull()) { - // Will be set by CheckServerJob::finished() - // We need to use a central shared config to get SSL session tickets - return _sslConfiguration; - } - - // if setting the client certificate fails, you will probably get an error similar to this: - // "An internal error number 1060 happened. SSL handshake failed, client certificate was requested: SSL error: sslv3 alert handshake failure" - QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration(); - - // Try hard to re-use session for different requests - sslConfig.setSslOption(QSsl::SslOptionDisableSessionTickets, false); - sslConfig.setSslOption(QSsl::SslOptionDisableSessionSharing, false); - sslConfig.setSslOption(QSsl::SslOptionDisableSessionPersistence, false); - - return sslConfig; -} - void Account::setApprovedCerts(const QList<QSslCertificate> &certs) { _approvedCerts = { certs.begin(), certs.end() }; diff --git a/src/libsync/account.h b/src/libsync/account.h index 0a0103114..f4bd141d0 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -156,10 +156,6 @@ public: QNetworkRequest req = QNetworkRequest(), QIODevice *data = nullptr); - /** The ssl configuration during the first connection */ - QSslConfiguration getOrCreateSslConfig(); - QSslConfiguration sslConfiguration() const { return _sslConfiguration; } - void setSslConfiguration(const QSslConfiguration &config); // Because of bugs in Qt, we use this to store info needed for the SSL Button QSslCipher _sessionCipher; QByteArray _sessionTicket; @@ -285,7 +281,6 @@ private: QUrl _url; QSet<QSslCertificate> _approvedCerts; - QSslConfiguration _sslConfiguration; Capabilities _capabilities; QString _serverVersion; QScopedPointer<AbstractSslErrorHandler> _sslErrorHandler; diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp index 25e2af003..6dedb2c32 100644 --- a/src/libsync/networkjobs.cpp +++ b/src/libsync/networkjobs.cpp @@ -488,7 +488,6 @@ void CheckServerJob::setMaxRedirectsAllowed(int maxRedirectsAllowed) void CheckServerJob::metaDataChangedSlot() { - account()->setSslConfiguration(reply()->sslConfiguration()); mergeSslConfigurationForSslButton(reply()->sslConfiguration(), account()); } |