summaryrefslogtreecommitdiffstats
path: root/source/kde/kde/patch
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2021-12-11 20:02:51 +0000
committer Eric Hameleers <alien@slackware.com>2021-12-12 08:59:53 +0100
commite2d4542007c4b2ad7b4244c850e4ae5ab8bacb08 (patch)
tree30e18a10344b2e197b1aa3f8608960cbf04a0d15 /source/kde/kde/patch
parent2f8ebbee0c5307056148d9b6b78c08c17f91dfc2 (diff)
downloadcurrent-e2d4542007c4b2ad7b4244c850e4ae5ab8bacb08.tar.gz
current-e2d4542007c4b2ad7b4244c850e4ae5ab8bacb08.tar.xz
Sat Dec 11 20:02:51 UTC 202120211211200251
kde/kdepim-runtime-21.12.0-x86_64-2.txz: Rebuilt. Applied upstream patch: [PATCH] POP3: Fix SSL/TLS connections Thanks to gmgf.
Diffstat (limited to 'source/kde/kde/patch')
-rw-r--r--source/kde/kde/patch/kdepim-runtime.patch1
-rw-r--r--source/kde/kde/patch/kdepim-runtime/fb456a2ad77b8d2bd4b0013832591c1dda8bb09a.patch95
2 files changed, 96 insertions, 0 deletions
diff --git a/source/kde/kde/patch/kdepim-runtime.patch b/source/kde/kde/patch/kdepim-runtime.patch
new file mode 100644
index 000000000..f8ea45d72
--- /dev/null
+++ b/source/kde/kde/patch/kdepim-runtime.patch
@@ -0,0 +1 @@
+cat $CWD/patch/kdepim-runtime/fb456a2ad77b8d2bd4b0013832591c1dda8bb09a.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kdepim-runtime/fb456a2ad77b8d2bd4b0013832591c1dda8bb09a.patch b/source/kde/kde/patch/kdepim-runtime/fb456a2ad77b8d2bd4b0013832591c1dda8bb09a.patch
new file mode 100644
index 000000000..9aa39dbfe
--- /dev/null
+++ b/source/kde/kde/patch/kdepim-runtime/fb456a2ad77b8d2bd4b0013832591c1dda8bb09a.patch
@@ -0,0 +1,95 @@
+From fb456a2ad77b8d2bd4b0013832591c1dda8bb09a Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Fri, 10 Dec 2021 21:55:13 +0100
+Subject: [PATCH] POP3: Fix SSL/TLS connections
+
+We need to go into ssl before trying to read from the socket, otherwise
+nothing works
+
+BUGS: 446751
+---
+ resources/pop3/pop3protocol.cpp | 61 +++++++++++++++++----------------
+ 1 file changed, 31 insertions(+), 30 deletions(-)
+
+diff --git a/resources/pop3/pop3protocol.cpp b/resources/pop3/pop3protocol.cpp
+index c2d01d33a..02fa49770 100644
+--- a/resources/pop3/pop3protocol.cpp
++++ b/resources/pop3/pop3protocol.cpp
+@@ -560,6 +560,37 @@ Result POP3Protocol::openConnection()
+ return Result::fail(mSocket->error(), errorString);
+ }
+
++ if (mSettings.useSSL() || mSettings.useTLS()) {
++ mSocket->ignoreSslErrors(); // Don't worry, errors are handled manually below
++ mSocket->startClientEncryption();
++ const bool encryptionStarted = mSocket->waitForEncrypted(s_connectTimeout);
++
++ const QSslCipher cipher = mSocket->sessionCipher();
++ const QList<QSslError> errors = mSocket->sslHandshakeErrors();
++ if (!encryptionStarted || !errors.isEmpty() || !mSocket->isEncrypted() || cipher.isNull() || cipher.usedBits() == 0) {
++ QString errorString = std::accumulate(errors.begin(), errors.end(), QString(), [](QString cur, const QSslError &error) {
++ if (!cur.isEmpty())
++ cur += QLatin1Char('\n');
++ cur += error.errorString();
++ return cur;
++ });
++
++ qCDebug(POP3_LOG) << "Initial SSL handshake failed. cipher.isNull() is" << cipher.isNull() << ", cipher.usedBits() is" << cipher.usedBits()
++ << ", the socket says:" << mSocket->errorString() << "and the SSL errors are:" << errorString;
++ mContinueAfterSslError = false;
++ Q_EMIT sslError(KSslErrorUiData(mSocket));
++ if (!mContinueAfterSslError) {
++ if (errorString.isEmpty())
++ errorString = mSocket->errorString();
++ qCDebug(POP3_LOG) << "TLS setup has failed. Aborting." << errorString;
++ closeConnection();
++ return Result::fail(ERR_SSL_FAILURE, i18n("SSL/TLS error: %1", errorString));
++ }
++ } else {
++ qCDebug(POP3_LOG) << "TLS has been enabled.";
++ }
++ }
++
+ mConnected = true;
+
+ greeting_buf = new char[GREETING_BUF_LEN];
+@@ -609,36 +640,6 @@ Result POP3Protocol::openConnection()
+ "disable TLS in the POP account settings dialog."));
+ }
+ }
+- if (mSettings.useSSL() || mSettings.useTLS()) {
+- mSocket->ignoreSslErrors(); // Don't worry, errors are handled manually below
+- mSocket->startClientEncryption();
+- const bool encryptionStarted = mSocket->waitForEncrypted(s_connectTimeout);
+-
+- const QSslCipher cipher = mSocket->sessionCipher();
+- const QList<QSslError> errors = mSocket->sslHandshakeErrors();
+- if (!encryptionStarted || !errors.isEmpty() || !mSocket->isEncrypted() || cipher.isNull() || cipher.usedBits() == 0) {
+- QString errorString = std::accumulate(errors.begin(), errors.end(), QString(), [](QString cur, const QSslError &error) {
+- if (!cur.isEmpty())
+- cur += QLatin1Char('\n');
+- cur += error.errorString();
+- return cur;
+- });
+-
+- qCDebug(POP3_LOG) << "Initial SSL handshake failed. cipher.isNull() is" << cipher.isNull() << ", cipher.usedBits() is" << cipher.usedBits()
+- << ", the socket says:" << mSocket->errorString() << "and the SSL errors are:" << errorString;
+- mContinueAfterSslError = false;
+- Q_EMIT sslError(KSslErrorUiData(mSocket));
+- if (!mContinueAfterSslError) {
+- if (errorString.isEmpty())
+- errorString = mSocket->errorString();
+- qCDebug(POP3_LOG) << "TLS setup has failed. Aborting." << errorString;
+- closeConnection();
+- return Result::fail(ERR_SSL_FAILURE, i18n("SSL/TLS error: %1", errorString));
+- }
+- } else {
+- qCDebug(POP3_LOG) << "TLS has been enabled.";
+- }
+- }
+
+ if (supports_apop && m_try_apop) {
+ qCDebug(POP3_LOG) << "Trying APOP";
+--
+GitLab
+