summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2020-08-01 17:50:09 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2020-08-02 00:57:18 +0200
commit532434ebeb2f497074e85ce7babad5e12abf2f21 (patch)
tree433b2a5d59e3d17cc3a824a43ed8672a06e56984 /kde-apps/kmail-account-wizard
parentkde-apps/kdepim-runtime: Fix CVE-2020-15954 (diff)
downloadgentoo-532434ebeb2f497074e85ce7babad5e12abf2f21.tar.gz
gentoo-532434ebeb2f497074e85ce7babad5e12abf2f21.tar.bz2
gentoo-532434ebeb2f497074e85ce7babad5e12abf2f21.zip
kde-apps/kmail-account-wizard: Fix CVE-2020-15954
Bug: https://bugs.gentoo.org/734126 Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/kmail-account-wizard')
-rw-r--r--kde-apps/kmail-account-wizard/files/kmail-account-wizard-20.04.3-CVE-2020-15954.patch81
-rw-r--r--kde-apps/kmail-account-wizard/kmail-account-wizard-20.04.3-r1.ebuild55
2 files changed, 136 insertions, 0 deletions
diff --git a/kde-apps/kmail-account-wizard/files/kmail-account-wizard-20.04.3-CVE-2020-15954.patch b/kde-apps/kmail-account-wizard/files/kmail-account-wizard-20.04.3-CVE-2020-15954.patch
new file mode 100644
index 00000000000..a1c63e3a3a1
--- /dev/null
+++ b/kde-apps/kmail-account-wizard/files/kmail-account-wizard-20.04.3-CVE-2020-15954.patch
@@ -0,0 +1,81 @@
+From a64d80e523edce7d3d59c26834973418fae042f6 Mon Sep 17 00:00:00 2001
+From: Laurent Montel <montel@kde.org>
+Date: Tue, 28 Jul 2020 13:52:19 +0200
+Subject: [PATCH] Show info about encryption/authentication settings
+
+CCBUG: 423426
+---
+ src/transport.cpp | 18 +++++++++++++++---
+ src/transport.h | 2 ++
+ 2 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/src/transport.cpp b/src/transport.cpp
+index 567df31..26344ef 100644
+--- a/src/transport.cpp
++++ b/src/transport.cpp
+@@ -53,14 +53,16 @@ static const StringValueTable<MailTransport::Transport::EnumAuthenticationType>
+ static const int authenticationTypeEnumSize = sizeof(authenticationTypeEnum) / sizeof(*authenticationTypeEnum);
+
+ template<typename T>
+-static typename T::value_type stringToValue(const T *table, const int tableSize, const QString &string)
++static typename T::value_type stringToValue(const T *table, const int tableSize, const QString &string, bool &valid)
+ {
+ const QString ref = string.toLower();
+ for (int i = 0; i < tableSize; ++i) {
+ if (ref == QLatin1String(table[i].name)) {
++ valid = true;
+ return table[i].value;
+ }
+ }
++ valid = false;
+ return table[0].value; // TODO: error handling
+ }
+
+@@ -98,6 +100,7 @@ void Transport::create()
+ mt->setAuthenticationType(m_auth);
+ m_transportId = mt->id();
+ mt->save();
++ Q_EMIT info(i18n("Mail transport uses '%1' encryption and '%2' authentication.", m_encrStr, m_authStr));
+ MailTransport::TransportManager::self()->addTransport(mt);
+ MailTransport::TransportManager::self()->setDefaultTransport(mt->id());
+ if (m_editMode) {
+@@ -154,12 +157,21 @@ void Transport::setPassword(const QString &password)
+
+ void Transport::setEncryption(const QString &encryption)
+ {
+- m_encr = stringToValue(encryptionEnum, encryptionEnumSize, encryption);
++ bool valid;
++ m_encr = stringToValue(encryptionEnum, encryptionEnumSize, encryption, valid);
++ if (valid) {
++ m_encrStr = encryption;
++ }
+ }
+
+ void Transport::setAuthenticationType(const QString &authType)
+ {
+- m_auth = stringToValue(authenticationTypeEnum, authenticationTypeEnumSize, authType);
++ bool valid;
++ m_auth = stringToValue(authenticationTypeEnum, authenticationTypeEnumSize, authType, valid);
++ if (valid) {
++ m_authStr = authType;
++ }
++
+ }
+
+ int Transport::transportId() const
+diff --git a/src/transport.h b/src/transport.h
+index 3773b04..6415bf9 100644
+--- a/src/transport.h
++++ b/src/transport.h
+@@ -53,6 +53,8 @@ private:
+ QString m_password;
+ MailTransport::Transport::EnumEncryption::type m_encr;
+ MailTransport::Transport::EnumAuthenticationType::type m_auth;
++ QString m_encrStr;
++ QString m_authStr;
+
+ bool m_editMode;
+ };
+--
+GitLab
+
diff --git a/kde-apps/kmail-account-wizard/kmail-account-wizard-20.04.3-r1.ebuild b/kde-apps/kmail-account-wizard/kmail-account-wizard-20.04.3-r1.ebuild
new file mode 100644
index 00000000000..09eacba2985
--- /dev/null
+++ b/kde-apps/kmail-account-wizard/kmail-account-wizard-20.04.3-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_HANDBOOK="forceoptional" # FIXME: Check back for doc in release
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.70.0
+QTMIN=5.14.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Assistant for KMail accounts configuration"
+HOMEPAGE+=" https://userbase.kde.org/KMail/Account_Wizard"
+
+LICENSE="GPL-2+ handbook? ( FDL-1.2+ )"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-apps/akonadi-${PVCUT}:5
+ >=kde-apps/kidentitymanagement-${PVCUT}:5
+ >=kde-apps/kldap-${PVCUT}:5
+ >=kde-apps/kmailtransport-${PVCUT}:5
+ >=kde-apps/libkdepim-${PVCUT}:5
+ >=kde-apps/libkleo-${PVCUT}:5
+ >=kde-apps/pimcommon-${PVCUT}:5
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kcodecs-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/knewstuff-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/knotifyconfig-${KFMIN}:5
+ >=kde-frameworks/kross-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/ktexteditor-${KFMIN}:5
+ >=kde-frameworks/kwallet-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-CVE-2020-15954.patch" )