summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/kmailtransport/files/kmailtransport-21.08.3-CVE-2021-38373.patch')
-rw-r--r--kde-apps/kmailtransport/files/kmailtransport-21.08.3-CVE-2021-38373.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/kde-apps/kmailtransport/files/kmailtransport-21.08.3-CVE-2021-38373.patch b/kde-apps/kmailtransport/files/kmailtransport-21.08.3-CVE-2021-38373.patch
new file mode 100644
index 000000000000..e83449e4e32a
--- /dev/null
+++ b/kde-apps/kmailtransport/files/kmailtransport-21.08.3-CVE-2021-38373.patch
@@ -0,0 +1,63 @@
+From cc4907eba8e16c319fb837b5ec85393b118c4ab6 Mon Sep 17 00:00:00 2001
+From: Volker Krause <vkrause@kde.org>
+Date: Thu, 16 Sep 2021 17:07:08 +0200
+Subject: [PATCH] Adapt to KSmtp moving encryption settings from LoginJob to
+ Session
+
+See https://invent.kde.org/pim/ksmtp/-/merge_requests/5.
+
+(cherry picked from commit b49ee72009620f152aaab1f592704e56e3be01f5)
+---
+ src/kmailtransport/plugins/smtp/smtpjob.cpp | 29 ++++++++++-----------
+ 1 file changed, 14 insertions(+), 15 deletions(-)
+
+diff --git a/src/kmailtransport/plugins/smtp/smtpjob.cpp b/src/kmailtransport/plugins/smtp/smtpjob.cpp
+index 7ad0124..5a08dfd 100644
+--- a/src/kmailtransport/plugins/smtp/smtpjob.cpp
++++ b/src/kmailtransport/plugins/smtp/smtpjob.cpp
+@@ -134,6 +134,20 @@ void SmtpJob::startSmtpJob()
+ d->session = new KSmtp::Session(transport()->host(), transport()->port());
+ d->session->setUseNetworkProxy(transport()->useProxy());
+ d->session->setUiProxy(d->uiProxy);
++ switch (transport()->encryption()) {
++ case Transport::EnumEncryption::None:
++ d->session->setEncryptionMode(KSmtp::Session::Unencrypted);
++ break;
++ case Transport::EnumEncryption::TLS:
++ d->session->setEncryptionMode(KSmtp::Session::STARTTLS);
++ break;
++ case Transport::EnumEncryption::SSL:
++ d->session->setEncryptionMode(KSmtp::Session::TLS);
++ break;
++ default:
++ qCWarning(MAILTRANSPORT_SMTP_LOG) << "Unknown encryption mode" << transport()->encryption();
++ break;
++ }
+ if (transport()->specifyHostname()) {
+ d->session->setCustomHostname(transport()->localHostname());
+ }
+@@ -298,21 +312,6 @@ void SmtpJobPrivate::doLogin()
+ break;
+ }
+
+- switch (q->transport()->encryption()) {
+- case Transport::EnumEncryption::None:
+- login->setEncryptionMode(KSmtp::LoginJob::Unencrypted);
+- break;
+- case Transport::EnumEncryption::TLS:
+- login->setEncryptionMode(KSmtp::LoginJob::STARTTLS);
+- break;
+- case Transport::EnumEncryption::SSL:
+- login->setEncryptionMode(KSmtp::LoginJob::SSLorTLS);
+- break;
+- default:
+- qCWarning(MAILTRANSPORT_SMTP_LOG) << "Unknown encryption mode" << q->transport()->encryption();
+- break;
+- }
+-
+ q->connect(login, &KJob::result, q, &SmtpJob::slotResult);
+ q->addSubjob(login);
+ login->start();
+--
+2.34.0
+