kde-apps/kdepim-runtime: Make POP3 setup wizard check encrypt support

Upstream commit 35447bd04e8c12afac524e1c4556ef3db088e014

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=423426
Bug: https://bugs.gentoo.org/734126
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner
2021-11-13 18:40:29 +01:00
parent 99a218113e
commit c480e1e4a9
2 changed files with 200 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
From 35447bd04e8c12afac524e1c4556ef3db088e014 Mon Sep 17 00:00:00 2001
From: Laurent Montel <montel@kde.org>
Date: Fri, 12 Nov 2021 13:09:22 +0100
Subject: [PATCH] Fix POP3 setup wizard defaults to unencrypted connections.
Now I check encrypt support when I create resource.
So if resource support starttls it will set option for it.
BUG: 423426
FIXED-IN: 5.19.0
---
resources/pop3/wizard/pop3wizard.es | 73 ++++++++++++++++++++++++-----
1 file changed, 61 insertions(+), 12 deletions(-)
diff --git a/resources/pop3/wizard/pop3wizard.es b/resources/pop3/wizard/pop3wizard.es
index 5864db5d2..6bcf9a1dd 100644
--- a/resources/pop3/wizard/pop3wizard.es
+++ b/resources/pop3/wizard/pop3wizard.es
@@ -1,5 +1,5 @@
/*
- SPDX-FileCopyrightText: 2009 Montel Laurent <montel@kde.org>
+ SPDX-FileCopyrightText: 2009-2021 Montel Laurent <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
@@ -30,21 +30,70 @@ function validateInput()
}
}
+var stage = 1;
+
function setup()
{
- var pop3Res = SetupManager.createResource( "akonadi_pop3_resource" );
- pop3Res.setOption( "Host", page.widget().incommingAddress.text.trim() );
- pop3Res.setOption( "Login", page.widget().userName.text.trim() );
- pop3Res.setOption( "Password", SetupManager.password() );
+ if ( stage == 1 ) {
+ ServerTest.test( page.widget().incommingAddress.text.trim(), "pop" );
+ } else {
+ ServerTest.test( page.widget().outgoingAddress.text.trim(), "smtp" );
+ }
+}
+
+function testResultFail()
+{
+ testOk( -1 );
+}
- var smtp = SetupManager.createTransport( "smtp" );
- smtp.setName( SetupManager.name() );
- smtp.setHost( page.widget().outgoingAddress.text.trim() );
- smtp.setEncryption( "SSL" );
+function testOk( arg )
+{
+ if (stage == 1) {
+ SetupManager.openWallet();
+ var pop3Res = SetupManager.createResource( "akonadi_pop3_resource" );
+ var server = page.widget().incommingAddress.text.trim();
+ pop3Res.setOption( "Host", server );
+ pop3Res.setOption( "Login", page.widget().userName.text.trim() );
+ pop3Res.setOption( "Password", SetupManager.password() );
+
+ if ( arg == "ssl" ) {
+ pop3Res.setOption( "Port", 995 );
+ pop3Res.setOption( "UseTLS", true );
+ } else if ( arg == "tls" ) { // tls is really STARTTLS
+ pop3Res.setOption( "Port", 110 );
+ pop3Res.setOption( "UseTLS", true );
+ } else if ( arg == "none" ) {
+ pop3Res.setOption( "Port", 110 );
+ } else {
+ pop3Res.setOption( "Port", 110 );
+ }
+
+ stage = 2;
+ setup();
+ } else {
+ var smtp = SetupManager.createTransport( "smtp" );
+ smtp.setName( page.widget().outgoingAddress.text.trim() );
+ smtp.setHost( page.widget().outgoingAddress.text.trim() );
+ if ( arg == "ssl" ) {
+ smtp.setEncryption( "SSL" );
+ } else if ( arg == "tls" ) {
+ smtp.setEncryption( "TLS" );
+ } else {
+ smtp.setEncryption( "None" );
+ }
+ smtp.setUsername( page.widget().userName.text );
+ smtp.setPassword( SetupManager.password() );
+ SetupManager.execute();
+ }
+}
- SetupManager.execute();
+try {
+ ServerTest.testFail.connect( testResultFail );
+ ServerTest.testResult.connect( testOk );
+ page.widget().incommingAddress.textChanged.connect( validateInput );
+ page.pageLeftNext.connect( setup );
+} catch ( e ) {
+ print( e );
}
-page.widget().incommingAddress.textChanged.connect( serverChanged );
-page.pageLeftNext.connect( setup );
validateInput();
--
GitLab

View File

@@ -0,0 +1,90 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_HANDBOOK="optional"
ECM_TEST="forceoptional"
PVCUT=$(ver_cut 1-3)
KFMIN=5.84.0
QTMIN=5.15.2
VIRTUALX_REQUIRED="test"
inherit ecm kde.org
DESCRIPTION="Runtime plugin collection to extend the functionality of KDE PIM"
HOMEPAGE="https://apps.kde.org/kontact/"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE=""
RESTRICT="test"
# TODO kolab
RDEPEND="
>=app-crypt/qca-2.3.0:2
dev-libs/cyrus-sasl:2
dev-libs/libical:=
dev-libs/qtkeychain:=
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtnetwork-${QTMIN}:5
>=dev-qt/qtnetworkauth-${QTMIN}:5
>=dev-qt/qtspeech-${QTMIN}:5
>=dev-qt/qtwebengine-${QTMIN}:5[widgets]
>=dev-qt/qtwidgets-${QTMIN}:5
>=dev-qt/qtxml-${QTMIN}:5
>=kde-apps/akonadi-${PVCUT}:5
>=kde-apps/akonadi-calendar-${PVCUT}:5
>=kde-apps/akonadi-contacts-${PVCUT}:5
>=kde-apps/akonadi-mime-${PVCUT}:5
>=kde-apps/akonadi-notes-${PVCUT}:5
>=kde-apps/grantleetheme-${PVCUT}:5
>=kde-apps/kalarmcal-${PVCUT}:5
>=kde-apps/kcalutils-${PVCUT}:5
>=kde-apps/kidentitymanagement-${PVCUT}:5
>=kde-apps/kimap-${PVCUT}:5
>=kde-apps/kldap-${PVCUT}:5
>=kde-apps/kmailtransport-${PVCUT}:5
>=kde-apps/kmbox-${PVCUT}:5
>=kde-apps/kmime-${PVCUT}:5
>=kde-apps/libkdepim-${PVCUT}:5
>=kde-apps/libkgapi-${PVCUT}:5
>=kde-apps/pimcommon-${PVCUT}:5
>=kde-frameworks/kcalendarcore-${KFMIN}:5
>=kde-frameworks/kcmutils-${KFMIN}:5
>=kde-frameworks/kcodecs-${KFMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
>=kde-frameworks/kcontacts-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kdav-${KFMIN}:5
>=kde-frameworks/kholidays-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
>=kde-frameworks/kitemmodels-${KFMIN}:5
>=kde-frameworks/kjobwidgets-${KFMIN}:5
>=kde-frameworks/knotifications-${KFMIN}:5
>=kde-frameworks/knotifyconfig-${KFMIN}:5
>=kde-frameworks/kservice-${KFMIN}:5
>=kde-frameworks/ktextwidgets-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kwindowsystem-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
"
DEPEND="${RDEPEND}
>=dev-qt/qtxmlpatterns-${QTMIN}:5
test? ( >=kde-apps/kimap-${PVCUT}:5[test] )
"
BDEPEND="dev-libs/libxslt"
PATCHES=( "${FILESDIR}"/${P}-CVE-2020-15954.patch ) # bug 734126
src_configure() {
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_Libkolabxml=ON
)
ecm_src_configure
}