public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2015-10-22 15:50 Michael Palimaka
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Palimaka @ 2015-10-22 15:50 UTC (permalink / raw
  To: gentoo-commits

commit:     e34323fc29c3ef1afeb54b727766c33b64c1eb6c
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 22 15:49:57 2015 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Thu Oct 22 15:50:48 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e34323fc

mail-client/trojita: backport patch from upstream to solve build failure with Qt 5.5

Gentoo-bug: 563556

Package-Manager: portage-2.2.20.1

 .../trojita/files/trojita-0.5-qt5.5-includes.patch | 40 ++++++++++++++++++++++
 mail-client/trojita/trojita-0.5.ebuild             |  1 +
 2 files changed, 41 insertions(+)

diff --git a/mail-client/trojita/files/trojita-0.5-qt5.5-includes.patch b/mail-client/trojita/files/trojita-0.5-qt5.5-includes.patch
new file mode 100644
index 0000000..31bc62d
--- /dev/null
+++ b/mail-client/trojita/files/trojita-0.5-qt5.5-includes.patch
@@ -0,0 +1,40 @@
+From 8a2496c273f2b0034f0edcc525e4987938a86c50 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jkt@kde.org>
+Date: Tue, 10 Mar 2015 14:41:20 +0100
+Subject: [PATCH] Fix build with (unreleased) Qt 5.5
+
+It is our fault for not including the headers we need, of course.
+
+Change-Id: Ibaa1df4a8b763bf6ae611c85cbdeeac5d2e3f9fd
+---
+ src/AbookAddressbook/AbookAddressbook.h | 1 +
+ src/Imap/Model/MailboxMetadata.cpp      | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/AbookAddressbook/AbookAddressbook.h b/src/AbookAddressbook/AbookAddressbook.h
+index 787661b..6f0634d 100644
+--- a/src/AbookAddressbook/AbookAddressbook.h
++++ b/src/AbookAddressbook/AbookAddressbook.h
+@@ -25,6 +25,7 @@
+ #ifndef ABOOK_ADDRESSBOOK
+ #define ABOOK_ADDRESSBOOK
+ 
++#include <QObject>
+ #include <QPair>
+ #include "Gui/AbstractAddressbook.h"
+ 
+diff --git a/src/Imap/Model/MailboxMetadata.cpp b/src/Imap/Model/MailboxMetadata.cpp
+index d5d2323..0dba1cd 100644
+--- a/src/Imap/Model/MailboxMetadata.cpp
++++ b/src/Imap/Model/MailboxMetadata.cpp
+@@ -20,6 +20,7 @@
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ #include "MailboxMetadata.h"
++#include <QDataStream>
+ 
+ namespace Imap
+ {
+-- 
+1.8.3.2
+

diff --git a/mail-client/trojita/trojita-0.5.ebuild b/mail-client/trojita/trojita-0.5.ebuild
index b0bfd16..171063d 100644
--- a/mail-client/trojita/trojita-0.5.ebuild
+++ b/mail-client/trojita/trojita-0.5.ebuild
@@ -60,6 +60,7 @@ DEPEND="${RDEPEND}
 "
 
 DOCS="README LICENSE"
+PATCHES=( "${FILESDIR}/${P}-qt5.5-includes.patch" )
 
 src_configure() {
 	local mycmakeargs=(


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2016-07-17 18:59 Michael Palimaka
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Palimaka @ 2016-07-17 18:59 UTC (permalink / raw
  To: gentoo-commits

commit:     3b430379733d47fb8f6b63f1149e306afb62ee74
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 17 18:59:15 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sun Jul 17 18:59:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b430379

mail-client/trojita: remove old

Package-Manager: portage-2.3.0

 mail-client/trojita/Manifest                       |  3 -
 .../trojita/files/trojita-0.5-qt5.5-includes.patch | 40 ---------
 mail-client/trojita/trojita-0.4.1.ebuild           | 70 ----------------
 mail-client/trojita/trojita-0.5.ebuild             | 90 --------------------
 mail-client/trojita/trojita-0.6.ebuild             | 97 ----------------------
 5 files changed, 300 deletions(-)

diff --git a/mail-client/trojita/Manifest b/mail-client/trojita/Manifest
index edec7a0..4875698 100644
--- a/mail-client/trojita/Manifest
+++ b/mail-client/trojita/Manifest
@@ -1,4 +1 @@
-DIST trojita-0.4.1.tar.bz2 1219460 SHA256 68a17498e70fd66966917fe4ecb90e6fe6f36f439c714552b8a97c004fe687de SHA512 f24210d4f8e10cfbca25ab4d62ae3c8eea3e8824c13119cd6dc4511d4cf9b5f82be67586b6494aff5290ab06f869ae3bd1c8a19664bcf0f57059ee8d67d6c81a WHIRLPOOL 47652af26fe24c6fb7fb0dbb1ef7c00710d087903787a847b59dc80d61dcd1725b5c7444aa77e36b357c3bbd6bc64f0566a995ac5b3c53842c3744b1a82127c0
-DIST trojita-0.5.tar.bz2 1421368 SHA256 21d8f0bf12b7d6dc39344ab70f4a0cb5b1997a3b60dc502841272ac92959458a SHA512 c3d661b5a49ca083fe7f09f598138f70a6ace5d66760bfe1242b06fcc90cb73abb56a1c27329f8de48eea281a782f8c5b6e1b374e271c33c9907070b5883b904 WHIRLPOOL 59a8bb257226edb4e34445766b5e5e500cae7205cf2ecf64fd80216f77d2e662395c4055744b84e0509311c635c93813849ec83b2ed5ec8212cb4553a118cadd
-DIST trojita-0.6.tar.bz2 1409812 SHA256 4c1083f48b51cc37bb318c5a8ada67b64b38ed95d8ad30b4621755fcf45efa10 SHA512 de13437b9c046b3db317c62cbf4fbff5607ad807378a7ef9ba239609aba2e49933a2f0aa9645777536e5c03e2af612164b96d15b731570597b0d4de187d1b350 WHIRLPOOL e81ff5a5759ec2182f1e8e68c478b70c80e2715560dda3c7095e7d897eab1e0d5cb45d2f8e15ba133a0bb31351f59b7a507011bdb637401c28147d456b51145d
 DIST trojita-0.7.tar.xz 1038212 SHA256 e08da881721cafa00ecd772eaef6b99fd37d068cb703eeb532de0ed1ea0136d9 SHA512 fe4d9316f97d913619f27d24a5023c3d8dd4a6b9fb058651be12c67188f394aa8cbb60c7593e5eb28fc12fc883b76deeeb5f4f631edd255fdec4c5862c9a91c8 WHIRLPOOL 2df7c34566bfdfff3a66566888ad8a9f9390af9a72eeb4a26dd96b96e46d07597441e8b9d56d7f18e2412f4a2e3b855e17a161ec88f0a9791e4db39117471e20

diff --git a/mail-client/trojita/files/trojita-0.5-qt5.5-includes.patch b/mail-client/trojita/files/trojita-0.5-qt5.5-includes.patch
deleted file mode 100644
index 31bc62d..0000000
--- a/mail-client/trojita/files/trojita-0.5-qt5.5-includes.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8a2496c273f2b0034f0edcc525e4987938a86c50 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jkt@kde.org>
-Date: Tue, 10 Mar 2015 14:41:20 +0100
-Subject: [PATCH] Fix build with (unreleased) Qt 5.5
-
-It is our fault for not including the headers we need, of course.
-
-Change-Id: Ibaa1df4a8b763bf6ae611c85cbdeeac5d2e3f9fd
----
- src/AbookAddressbook/AbookAddressbook.h | 1 +
- src/Imap/Model/MailboxMetadata.cpp      | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/src/AbookAddressbook/AbookAddressbook.h b/src/AbookAddressbook/AbookAddressbook.h
-index 787661b..6f0634d 100644
---- a/src/AbookAddressbook/AbookAddressbook.h
-+++ b/src/AbookAddressbook/AbookAddressbook.h
-@@ -25,6 +25,7 @@
- #ifndef ABOOK_ADDRESSBOOK
- #define ABOOK_ADDRESSBOOK
- 
-+#include <QObject>
- #include <QPair>
- #include "Gui/AbstractAddressbook.h"
- 
-diff --git a/src/Imap/Model/MailboxMetadata.cpp b/src/Imap/Model/MailboxMetadata.cpp
-index d5d2323..0dba1cd 100644
---- a/src/Imap/Model/MailboxMetadata.cpp
-+++ b/src/Imap/Model/MailboxMetadata.cpp
-@@ -20,6 +20,7 @@
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
- #include "MailboxMetadata.h"
-+#include <QDataStream>
- 
- namespace Imap
- {
--- 
-1.8.3.2
-

diff --git a/mail-client/trojita/trojita-0.4.1.ebuild b/mail-client/trojita/trojita-0.4.1.ebuild
deleted file mode 100644
index 34af0bf..0000000
--- a/mail-client/trojita/trojita-0.4.1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-QT_REQUIRED="4.8.0"
-EGIT_REPO_URI="git://anongit.kde.org/${PN}.git"
-[[ ${PV} == "9999" ]] && GIT_ECLASS="git-2"
-
-inherit cmake-utils virtualx ${GIT_ECLASS}
-
-DESCRIPTION="A Qt IMAP e-mail client"
-HOMEPAGE="http://trojita.flaska.net/"
-if [[ ${PV} == "9999" ]]; then
-	SRC_URI=""
-	KEYWORDS=""
-else
-	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-	KEYWORDS="amd64 ~ppc x86"
-	MY_LANGS="bs cs da de el es et fr ga gl hu ia it lt mr nb nl pl pt pt_BR ro sk sv tr ug uk zh_CN zh_TW"
-fi
-
-LICENSE="|| ( GPL-2 GPL-3 )"
-SLOT="0"
-IUSE="debug test +zlib"
-for MY_LANG in ${MY_LANGS} ; do
-	IUSE="${IUSE} linguas_${MY_LANG}"
-done
-
-RDEPEND="
-	>=dev-qt/qtbearer-${QT_REQUIRED}:4
-	>=dev-qt/qtgui-${QT_REQUIRED}:4
-	>=dev-qt/qtsql-${QT_REQUIRED}:4[sqlite]
-	>=dev-qt/qtwebkit-${QT_REQUIRED}:4
-"
-DEPEND="${RDEPEND}
-	test? ( >=dev-qt/qttest-${QT_REQUIRED}:4 )
-	zlib? (
-		virtual/pkgconfig
-		sys-libs/zlib
-	)
-"
-
-DOCS="README LICENSE"
-
-src_configure() {
-	local mycmakeargs=(
-		$(cmake-utils_use_with test TESTS)
-		$(cmake-utils_use_with zlib ZLIB)
-	)
-	if [[ ${MY_LANGS} ]]; then
-		rm po/trojita_common_x-test.po
-		for x in po/*.po; do
-			mylang=${x#po/trojita_common_}
-			mylang=${mylang%.po}
-			use linguas_$mylang || rm $x
-		done
-	fi
-
-	# the build system is taking a look at `git describe ... --dirty` and
-	# gentoo's modifications to CMakeLists.txt break these
-	sed -i "s/--dirty//" "${S}/cmake/TrojitaVersion.cmake" || die "Cannot fix the version check"
-
-	cmake-utils_src_configure
-}
-
-src_test() {
-	VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
-}

diff --git a/mail-client/trojita/trojita-0.5.ebuild b/mail-client/trojita/trojita-0.5.ebuild
deleted file mode 100644
index 447f6d0..0000000
--- a/mail-client/trojita/trojita-0.5.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-QT4_REQUIRED="4.8.0"
-EGIT_REPO_URI="git://anongit.kde.org/${PN}.git"
-[[ ${PV} == "9999" ]] && GIT_ECLASS="git-2"
-
-inherit cmake-utils virtualx ${GIT_ECLASS}
-
-DESCRIPTION="A Qt IMAP e-mail client"
-HOMEPAGE="http://trojita.flaska.net/"
-if [[ ${PV} == "9999" ]]; then
-	SRC_URI=""
-	KEYWORDS=""
-else
-	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-	KEYWORDS="amd64 x86"
-	MY_LANGS="ar bs ca cs da de el en_GB es et fi fr ga gl hu ia it ja lt mr nb nds nl pl pt pt_BR ro sk sv tr ug uk zh_CN zh_TW"
-fi
-
-LICENSE="|| ( GPL-2 GPL-3 )"
-SLOT="0"
-IUSE="debug +password qt5 test +zlib"
-for MY_LANG in ${MY_LANGS} ; do
-	IUSE="${IUSE} linguas_${MY_LANG}"
-done
-
-RDEPEND="
-	qt5? (
-		dev-qt/qtgui:5
-		dev-qt/qtnetwork:5
-		dev-qt/qtsql:5[sqlite]
-		dev-qt/qtwebkit:5
-		dev-qt/qtwidgets:5
-	)
-	!qt5? (
-		>=dev-qt/qtbearer-${QT4_REQUIRED}:4
-		>=dev-qt/qtgui-${QT4_REQUIRED}:4
-		>=dev-qt/qtsql-${QT4_REQUIRED}:4[sqlite]
-		>=dev-qt/qtwebkit-${QT4_REQUIRED}:4
-	)
-"
-DEPEND="${RDEPEND}
-	password? (
-		qt5?	( dev-libs/qtkeychain[qt5] )
-		!qt5?	( dev-libs/qtkeychain[qt4] )
-	)
-	qt5? ( dev-qt/linguist-tools:5 )
-	test? (
-		qt5?	( dev-qt/qttest:5 )
-		!qt5?	( >=dev-qt/qttest-${QT4_REQUIRED}:4 )
-	)
-	zlib? (
-		virtual/pkgconfig
-		sys-libs/zlib
-	)
-"
-
-DOCS="README LICENSE"
-PATCHES=( "${FILESDIR}/${P}-qt5.5-includes.patch" )
-
-src_configure() {
-	local mycmakeargs=(
-		$(cmake-utils_use_with qt5 QT5)
-		$(cmake-utils_use_with password QTKEYCHAIN_PLUGIN)
-		$(cmake-utils_use_with test TESTS)
-		$(cmake-utils_use_with zlib ZLIB)
-	)
-	if [[ ${MY_LANGS} ]]; then
-		rm po/trojita_common_x-test.po
-		for x in po/*.po; do
-			mylang=${x#po/trojita_common_}
-			mylang=${mylang%.po}
-			use linguas_$mylang || rm $x
-		done
-	fi
-
-	# the build system is taking a look at `git describe ... --dirty` and
-	# gentoo's modifications to CMakeLists.txt break these
-	sed -i "s/--dirty//" "${S}/cmake/TrojitaVersion.cmake" || die "Cannot fix the version check"
-
-	cmake-utils_src_configure
-}
-
-src_test() {
-	VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
-}

diff --git a/mail-client/trojita/trojita-0.6.ebuild b/mail-client/trojita/trojita-0.6.ebuild
deleted file mode 100644
index 0182235..0000000
--- a/mail-client/trojita/trojita-0.6.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-QT4_REQUIRED="4.8.0"
-EGIT_REPO_URI="git://anongit.kde.org/${PN}.git"
-inherit cmake-utils fdo-mime gnome2-utils qmake-utils virtualx
-[[ ${PV} == 9999 ]] && inherit git-r3
-
-DESCRIPTION="A Qt IMAP e-mail client"
-HOMEPAGE="http://trojita.flaska.net/"
-if [[ ${PV} != 9999 ]]; then
-	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-	KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="|| ( GPL-2 GPL-3 )"
-SLOT="0"
-IUSE="debug +dbus +password +qt5 test +zlib"
-
-RDEPEND="
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtnetwork:5[ssl]
-		dev-qt/qtsql:5[sqlite]
-		dev-qt/qtwebkit:5
-		dev-qt/qtwidgets:5
-	)
-	!qt5? (
-		>=dev-qt/qtbearer-${QT4_REQUIRED}:4
-		>=dev-qt/qtcore-${QT4_REQUIRED}:4
-		>=dev-qt/qtgui-${QT4_REQUIRED}:4
-		>=dev-qt/qtsql-${QT4_REQUIRED}:4[sqlite]
-		>=dev-qt/qtwebkit-${QT4_REQUIRED}:4
-	)
-	dbus? ( dev-qt/qtdbus:5 )
-	password? (
-		qt5?	( dev-libs/qtkeychain[qt5] )
-		!qt5?	( dev-libs/qtkeychain[qt4] )
-	)
-	zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}
-	qt5? ( dev-qt/linguist-tools:5 )
-	test? (
-		qt5?	( dev-qt/qttest:5 )
-		!qt5?	( >=dev-qt/qttest-${QT4_REQUIRED}:4 )
-	)
-	zlib? ( virtual/pkgconfig )
-"
-
-DOCS="README LICENSE"
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	# the build system is taking a look at `git describe ... --dirty` and
-	# gentoo's modifications to CMakeLists.txt break these
-	sed -i "s/--dirty//" "${S}/cmake/TrojitaVersion.cmake" || die "Cannot fix the version check"
-
-	# ensure correct version of binary is used - bug 544108.
-	# this file is only used for qt4 builds
-	sed -i "s|\$ENV{QTDIR}/bin|$(qt4_get_bindir) NO_DEFAULT_PATH|" cmake/FindLinguistForTrojita.cmake || die
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DWITH_DBUS=$(usex dbus)
-		-DWITH_QT5=$(usex qt5)
-		-DWITH_QTKEYCHAINPLUGIN=$(usex password)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_ZLIB=$(usex zlib)
-	)
-
-	cmake-utils_src_configure
-}
-
-src_test() {
-	virtx cmake-utils_src_test
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2020-06-25 12:12 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2020-06-25 12:12 UTC (permalink / raw
  To: gentoo-commits

commit:     835ed520d32ad8721f0fa83b81432f244a14f187
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 25 12:08:06 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jun 25 12:11:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=835ed520

mail-client/trojita: Fix improper certificate validation

Bug: https://bugs.gentoo.org/729596
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/trojita-0.7-smtp-handle-tls-errors.patch | 82 +++++++++++++++++++++
 mail-client/trojita/trojita-0.7-r3.ebuild          | 83 ++++++++++++++++++++++
 2 files changed, 165 insertions(+)

diff --git a/mail-client/trojita/files/trojita-0.7-smtp-handle-tls-errors.patch b/mail-client/trojita/files/trojita-0.7-smtp-handle-tls-errors.patch
new file mode 100644
index 00000000000..44f1a5dab01
--- /dev/null
+++ b/mail-client/trojita/files/trojita-0.7-smtp-handle-tls-errors.patch
@@ -0,0 +1,82 @@
+From 77ddd5d44f2bf4155d0c9b6f7d05f01713b32d5d Mon Sep 17 00:00:00 2001
+From: Jan Kundrát <jkt@kde.org>
+Date: Thu, 25 Jun 2020 11:30:51 +0200
+Subject: [PATCH] SMTP: Do not ignore TLS errors
+
+This fixes a CVE-2020-15047 (category: CWE-295). Since commit 0083eea5ed
+which added initial, experimental support for SMTP message submission,
+we have apparently never implemented proper SSL/TLS error handling, and
+the code has ever since just kept silently ignoring any certificate
+verification errors.  As a result, Trojita was susceptible to a MITM
+attack when sending e-mails. The information leaked include user's
+authentication details, including the password, and the content of sent
+messages.
+
+Sorry for this :(.
+
+Now, this patch re-enabes proper TLS error handling. It was not possible
+to directly re-use our code for TLS key pinning which we are using for
+IMAP connections. In the Qt TLS code, the decision to accept or not
+accept a TLS connection is a blocking one, so the IMAP code relies upon
+the protocol state machine (i.e., another layer) for deciding whether to
+use or not to use the just-established TLS connection. Implementing an
+equivalent code in the SMTP library would be nice, but this hot-fix has
+a priority. As a result, SMTP connections to hosts with, e.g.,
+self-signed TLS certs, are no longer possible. Let's hope that this is
+not a practical problem with Lets Encrypt anymore.
+
+Thanks to Damian Poddebniak for reporting this bug.
+
+Change-Id: Icd6bbb2b0fb3e45159fc9699ebd07ab84262fe37
+CVE: CVE-2020-15047
+BUG: 423453
+---
+
+diff --git a/src/MSA/SMTP.cpp b/src/MSA/SMTP.cpp
+index 3a05451..ac1eefc 100644
+--- a/src/MSA/SMTP.cpp
++++ b/src/MSA/SMTP.cpp
+@@ -21,6 +21,7 @@
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ #include "SMTP.h"
++#include "UiUtils/Formatting.h"
+ 
+ namespace MSA
+ {
+@@ -32,8 +33,8 @@
+     user(user), failed(false), isWaitingForPassword(false), sendingMode(MODE_SMTP_INVALID)
+ {
+     qwwSmtp = new QwwSmtpClient(this);
+-    // FIXME: handle SSL errors properly
+-    connect(qwwSmtp, &QwwSmtpClient::sslErrors, qwwSmtp, &QwwSmtpClient::ignoreSslErrors);
++    // FIXME: handle SSL errors in the same way as we handle IMAP TLS errors, with key pinning, etc.
++    connect(qwwSmtp, &QwwSmtpClient::sslErrors, this, &SMTP::handleSslErrors);
+     connect(qwwSmtp, &QwwSmtpClient::connected, this, &AbstractMSA::sending);
+     connect(qwwSmtp, &QwwSmtpClient::done, this, &SMTP::handleDone);
+     connect(qwwSmtp, &QwwSmtpClient::socketError, this, &SMTP::handleError);
+@@ -78,6 +79,12 @@
+     emit error(msg);
+ }
+ 
++void SMTP::handleSslErrors(const QList<QSslError>& errors)
++{
++    auto msg = UiUtils::Formatting::sslErrorsToHtml(errors);
++    emit error(tr("<p>Cannot send message due to an SSL/TLS error</p>\n%1").arg(msg));
++}
++
+ void SMTP::setPassword(const QString &password)
+ {
+     pass = password;
+diff --git a/src/MSA/SMTP.h b/src/MSA/SMTP.h
+index 453407d..913bb87 100644
+--- a/src/MSA/SMTP.h
++++ b/src/MSA/SMTP.h
+@@ -43,6 +43,7 @@
+     virtual void setPassword(const QString &password);
+     void handleDone(bool ok);
+     void handleError(QAbstractSocket::SocketError err, const QString &msg);
++    void handleSslErrors(const QList<QSslError>& errors);
+ private:
+     QwwSmtpClient *qwwSmtp;
+     QString host;

diff --git a/mail-client/trojita/trojita-0.7-r3.ebuild b/mail-client/trojita/trojita-0.7-r3.ebuild
new file mode 100644
index 00000000000..4d4f81542cb
--- /dev/null
+++ b/mail-client/trojita/trojita-0.7-r3.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} = *9999* ]]; then
+	EGIT_REPO_URI="https://anongit.kde.org/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+	KEYWORDS="~amd64 ~x86"
+fi
+inherit cmake virtualx xdg
+
+DESCRIPTION="A Qt IMAP e-mail client"
+HOMEPAGE="http://trojita.flaska.net/"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+IUSE="+crypt +dbus debug +password test +zlib"
+
+REQUIRED_USE="password? ( dbus )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	dev-qt/linguist-tools:5
+	zlib? ( virtual/pkgconfig )
+"
+RDEPEND="
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtnetwork:5[ssl]
+	dev-qt/qtsql:5[sqlite]
+	dev-qt/qtsvg:5
+	dev-qt/qtwebkit:5
+	dev-qt/qtwidgets:5
+	crypt? (
+		>=app-crypt/gpgme-1.8.0[cxx,qt5]
+		dev-libs/mimetic
+	)
+	dbus? ( dev-qt/qtdbus:5 )
+	password? ( dev-libs/qtkeychain[qt5(+)] )
+	zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+	test? ( dev-qt/qttest:5 )
+"
+
+DOCS=( README LICENSE )
+
+PATCHES=(
+	"${FILESDIR}/${P}-gpgme.patch"
+	"${FILESDIR}/${P}-gpg-tests.patch"
+	"${FILESDIR}/${P}-qt-5.11b3.patch"
+	"${FILESDIR}/${P}-qt-5.15.patch"
+	"${FILESDIR}/${P}-smtp-handle-tls-errors.patch" # bug 729596
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	# the build system is taking a look at `git describe ... --dirty` and
+	# gentoo's modifications to CMakeLists.txt break these
+	sed -e "s/--dirty//" -i cmake/TrojitaVersion.cmake || die "Cannot fix the version check"
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DWITH_CRYPTO_MESSAGES=$(usex crypt)
+		-DWITH_GPGMEPP=$(usex crypt)
+		-DWITH_MIMETIC=$(usex crypt)
+		-DWITH_DBUS=$(usex dbus)
+		-DWITH_QTKEYCHAIN_PLUGIN=$(usex password)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_ZLIB=$(usex zlib)
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	virtx cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2020-06-28 21:55 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2020-06-28 21:55 UTC (permalink / raw
  To: gentoo-commits

commit:     f62f0ef01a099f4de0af4ce34c7667e61c8a5995
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 28 20:42:33 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 28 21:55:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f62f0ef0

mail-client/trojita: Use CVE-2020-15047 upstream commit for patch

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ....7-smtp-handle-tls-errors.patch => trojita-0.7-CVE-2020-15047.patch} | 0
 mail-client/trojita/trojita-0.7-r3.ebuild                               | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/mail-client/trojita/files/trojita-0.7-smtp-handle-tls-errors.patch b/mail-client/trojita/files/trojita-0.7-CVE-2020-15047.patch
similarity index 100%
rename from mail-client/trojita/files/trojita-0.7-smtp-handle-tls-errors.patch
rename to mail-client/trojita/files/trojita-0.7-CVE-2020-15047.patch

diff --git a/mail-client/trojita/trojita-0.7-r3.ebuild b/mail-client/trojita/trojita-0.7-r3.ebuild
index 4d4f81542cb..ba129ff4eb4 100644
--- a/mail-client/trojita/trojita-0.7-r3.ebuild
+++ b/mail-client/trojita/trojita-0.7-r3.ebuild
@@ -53,7 +53,7 @@ PATCHES=(
 	"${FILESDIR}/${P}-gpg-tests.patch"
 	"${FILESDIR}/${P}-qt-5.11b3.patch"
 	"${FILESDIR}/${P}-qt-5.15.patch"
-	"${FILESDIR}/${P}-smtp-handle-tls-errors.patch" # bug 729596
+	"${FILESDIR}/${P}-CVE-2020-15047.patch" # bug 729596
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2020-06-28 21:55 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2020-06-28 21:55 UTC (permalink / raw
  To: gentoo-commits

commit:     a89ecdd740bdd213af85f03950fdcdaeef4a12ec
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 28 20:47:13 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 28 21:55:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a89ecdd7

mail-client/trojita: Fix CVE-2019-10734

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=404697
Bug: https://bugs.gentoo.org/729596
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../trojita/files/trojita-0.7-CVE-2019-10734.patch | 104 +++++++++++++++++++++
 mail-client/trojita/trojita-0.7-r4.ebuild          |  84 +++++++++++++++++
 2 files changed, 188 insertions(+)

diff --git a/mail-client/trojita/files/trojita-0.7-CVE-2019-10734.patch b/mail-client/trojita/files/trojita-0.7-CVE-2019-10734.patch
new file mode 100644
index 00000000000..d52edb042ad
--- /dev/null
+++ b/mail-client/trojita/files/trojita-0.7-CVE-2019-10734.patch
@@ -0,0 +1,104 @@
+From 8db7f450d52539b4c72ee968384911b6813ad1e7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jkt@kde.org>
+Date: Thu, 25 Jun 2020 21:39:34 +0200
+Subject: [PATCH] Prevent a possible decryption oracle attack
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Thanks to Jens Mueller (Ruhr-Uni Bochum and FH Münster) for reporting
+this. The gist is that an attacker can embed arbitrary ciphertext into
+their messages. Trojita decrypts that, and when we hit reply, the
+original *cleartext* gets quoted and put into a reply for the attacker
+to see.
+
+Fix this by not quoting any plaintext which originated in an encrypted
+message. That's pretty draconian, but hey, it works and we never came up
+with any better patch. Also, given that Trojita does not encrypt
+outgoing messages yet, this is probably also a conservative thing to do.
+
+Change-Id: I84c45b9e707eb7c99eb7183c6ef59ef41cd62c43
+CVE: CVE-2019-10734
+BUG: 404697
+---
+ src/Cryptography/GpgMe++.cpp | 2 ++
+ src/Gui/MessageView.cpp      | 9 ++++++++-
+ src/Gui/PartWidget.cpp       | 8 ++++++++
+ src/Imap/Model/ItemRoles.h   | 2 +-
+ 4 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/src/Cryptography/GpgMe++.cpp b/src/Cryptography/GpgMe++.cpp
+index e012f603..716b8aff 100644
+--- a/src/Cryptography/GpgMe++.cpp
++++ b/src/Cryptography/GpgMe++.cpp
+@@ -267,6 +267,8 @@ QVariant GpgMePart::data(int role) const
+     switch (role) {
+     case Imap::Mailbox::RolePartSignatureVerifySupported:
+         return m_wasSigned;
++    case RolePartDecryptionSupported:
++        return m_isAllegedlyEncrypted;
+     case RolePartCryptoNotFinishedYet:
+         return m_waitingForData ||
+                 (m_crypto.valid() &&
+diff --git a/src/Gui/MessageView.cpp b/src/Gui/MessageView.cpp
+index 7d649308..c95e0878 100644
+--- a/src/Gui/MessageView.cpp
++++ b/src/Gui/MessageView.cpp
+@@ -354,7 +354,6 @@ bool MessageView::eventFilter(QObject *object, QEvent *event)
+ QString MessageView::quoteText() const
+ {
+     if (auto w = bodyWidget()) {
+-        QStringList quote = Composer::quoteText(w->quoteMe().split(QLatin1Char('\n')));
+         const Imap::Message::Envelope &e = message.data(Imap::Mailbox::RoleMessageEnvelope).value<Imap::Message::Envelope>();
+         QString sender;
+         if (!e.from.isEmpty())
+@@ -362,6 +361,14 @@ QString MessageView::quoteText() const
+         if (e.from.isEmpty())
+             sender = tr("you");
+ 
++        if (messageModel->index(0, 0) /* fake message root */.child(0, 0) /* first MIME part */.data(Imap::Mailbox::RolePartDecryptionSupported).toBool()) {
++            // This is just an UX improvement shortcut: real filtering for CVE-2019-10734 is in
++            // MultipartSignedEncryptedWidget::quoteMe().
++            // That is required because the encrypted part might not be the root part of the message.
++            return tr("On %1, %2 sent an encrypted message:\n> ...\n\n").arg(e.date.toLocalTime().toString(Qt::SystemLocaleLongDate), sender);
++        }
++
++        QStringList quote = Composer::quoteText(w->quoteMe().split(QLatin1Char('\n')));
+         // One extra newline at the end of the quoted text to separate the response
+         quote << QString();
+ 
+diff --git a/src/Gui/PartWidget.cpp b/src/Gui/PartWidget.cpp
+index bb27604d..96eff338 100644
+--- a/src/Gui/PartWidget.cpp
++++ b/src/Gui/PartWidget.cpp
+@@ -378,6 +378,14 @@ void MultipartSignedEncryptedWidget::updateStatusIndicator()
+ 
+ QString MultipartSignedEncryptedWidget::quoteMe() const
+ {
++    if (m_partIndex.data(Imap::Mailbox::RolePartDecryptionSupported).toBool()) {
++        // See CVE-2019-10734, the point is not to leak cleartext from encrypted content. Even when Trojita starts supporting
++        // encryption of outgoing mail, we will have to check whether the encrypted cleartext is from the same sender, whether
++        // it matches the list of recipients (which is dynamic and can be set later on), etc etc.
++        // TL;DR, this is a can of worms.
++        return tr("[Encrypted message]");
++    }
++
+     return quoteMeHelper(children());
+ }
+ 
+diff --git a/src/Imap/Model/ItemRoles.h b/src/Imap/Model/ItemRoles.h
+index 4588d4d0..00adb3bb 100644
+--- a/src/Imap/Model/ItemRoles.h
++++ b/src/Imap/Model/ItemRoles.h
+@@ -193,7 +193,7 @@ enum {
+     RolePartSignatureVerifySupported,
+     /** @short Is the format of this particular multipart/encrypted supported and recognized?
+ 
+-    See RolePartSignatureVerifySupported, this is an equivalent.
++    If true, this message part represents content of an encrypted message that Trojita can attempt to decrypt.
+     */
+     RolePartDecryptionSupported,
+     /** @short Is there any point in waiting longer?
+-- 
+GitLab
+

diff --git a/mail-client/trojita/trojita-0.7-r4.ebuild b/mail-client/trojita/trojita-0.7-r4.ebuild
new file mode 100644
index 00000000000..8583ee49efd
--- /dev/null
+++ b/mail-client/trojita/trojita-0.7-r4.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} = *9999* ]]; then
+	EGIT_REPO_URI="https://anongit.kde.org/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+	KEYWORDS="~amd64 ~x86"
+fi
+inherit cmake virtualx xdg
+
+DESCRIPTION="A Qt IMAP e-mail client"
+HOMEPAGE="http://trojita.flaska.net/"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+IUSE="+crypt +dbus debug +password test +zlib"
+
+REQUIRED_USE="password? ( dbus )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	dev-qt/linguist-tools:5
+	zlib? ( virtual/pkgconfig )
+"
+RDEPEND="
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtnetwork:5[ssl]
+	dev-qt/qtsql:5[sqlite]
+	dev-qt/qtsvg:5
+	dev-qt/qtwebkit:5
+	dev-qt/qtwidgets:5
+	crypt? (
+		>=app-crypt/gpgme-1.8.0[cxx,qt5]
+		dev-libs/mimetic
+	)
+	dbus? ( dev-qt/qtdbus:5 )
+	password? ( dev-libs/qtkeychain[qt5(+)] )
+	zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+	test? ( dev-qt/qttest:5 )
+"
+
+DOCS=( README LICENSE )
+
+PATCHES=(
+	"${FILESDIR}/${P}-gpgme.patch"
+	"${FILESDIR}/${P}-gpg-tests.patch"
+	"${FILESDIR}/${P}-qt-5.11b3.patch"
+	"${FILESDIR}/${P}-qt-5.15.patch"
+	"${FILESDIR}/${P}-CVE-2019-10734.patch" # KDE-bug 404697
+	"${FILESDIR}/${P}-CVE-2020-15047.patch" # bug 729596
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	# the build system is taking a look at `git describe ... --dirty` and
+	# gentoo's modifications to CMakeLists.txt break these
+	sed -e "s/--dirty//" -i cmake/TrojitaVersion.cmake || die "Cannot fix the version check"
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DWITH_CRYPTO_MESSAGES=$(usex crypt)
+		-DWITH_GPGMEPP=$(usex crypt)
+		-DWITH_MIMETIC=$(usex crypt)
+		-DWITH_DBUS=$(usex dbus)
+		-DWITH_QTKEYCHAIN_PLUGIN=$(usex password)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_ZLIB=$(usex zlib)
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	virtx cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2020-06-30 19:56 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2020-06-30 19:56 UTC (permalink / raw
  To: gentoo-commits

commit:     cbd0ff0c1bd3cbf52d9c5f34a93125d8dc751aec
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 30 19:49:56 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 30 19:56:28 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbd0ff0c

mail-client/trojita: Fix metainfo path

Closes: https://bugs.gentoo.org/730140
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/trojita-0.7-desktop-spec-namespace.patch | 57 ++++++++++++++
 .../trojita/files/trojita-0.7-metainfo.patch       | 26 +++++++
 mail-client/trojita/trojita-0.7-r5.ebuild          | 88 ++++++++++++++++++++++
 3 files changed, 171 insertions(+)

diff --git a/mail-client/trojita/files/trojita-0.7-desktop-spec-namespace.patch b/mail-client/trojita/files/trojita-0.7-desktop-spec-namespace.patch
new file mode 100644
index 00000000000..27ffe2c1ad0
--- /dev/null
+++ b/mail-client/trojita/files/trojita-0.7-desktop-spec-namespace.patch
@@ -0,0 +1,57 @@
+From d080f7855707634867593163e7d20ac85694f5be Mon Sep 17 00:00:00 2001
+From: Luigi Toscano <luigi.toscano@tiscali.it>
+Date: Mon, 3 Oct 2016 22:29:22 +0200
+Subject: [PATCH] Add namespace to desktop and appdata files
+
+Add the organization namespace to the desktop and then appdata files,
+according the Desktop Entry specification.
+
+Change-Id: I4c400ef0f120c3f549c0e19b4e74550cc8b54be8
+---
+ CMakeLists.txt                                              | 6 +++---
+ .../{trojita.appdata.xml => org.kde.trojita.appdata.xml}    | 2 +-
+ src/Gui/{trojita.desktop => org.kde.trojita.desktop}        | 0
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+ rename src/Gui/{trojita.appdata.xml => org.kde.trojita.appdata.xml} (99%)
+ rename src/Gui/{trojita.desktop => org.kde.trojita.desktop} (100%)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index da40ddb3..d242eda0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -728,10 +728,10 @@ if(WITH_ABOOKADDRESSBOOK_PLUGIN)
+ endif()
+ 
+ if(WITH_DESKTOP)
+-    copy_desktop_file_without_cruft("${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/trojita.desktop" "${CMAKE_CURRENT_BINARY_DIR}/trojita-DesktopGui.desktop")
++    copy_desktop_file_without_cruft("${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/org.kde.trojita.desktop" "${CMAKE_CURRENT_BINARY_DIR}/org.kde.trojita-DesktopGui.desktop")
+     install(TARGETS trojita RUNTIME DESTINATION bin)
+-    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/trojita-DesktopGui.desktop DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications/" RENAME trojita.desktop)
+-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/trojita.appdata.xml DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/appdata/")
++    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.trojita-DesktopGui.desktop DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications/" RENAME org.kde.trojita.desktop)
++    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/org.kde.trojita.appdata.xml DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/appdata/")
+     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/icons/trojita.png DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps/")
+     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/icons/trojita.svg DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps/")
+ endif()
+diff --git a/src/Gui/trojita.appdata.xml b/src/Gui/org.kde.trojita.appdata.xml
+similarity index 99%
+rename from src/Gui/trojita.appdata.xml
+rename to src/Gui/org.kde.trojita.appdata.xml
+index 39548041..04f9873c 100644
+--- a/src/Gui/trojita.appdata.xml
++++ b/src/Gui/org.kde.trojita.appdata.xml
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="utf-8"?>
+ <component type="desktop">
+-  <id>trojita.desktop</id>
++  <id>org.kde.trojita.desktop</id>
+   <metadata_license>CC0-1.0</metadata_license>
+   <project_license>GPL-2.0+</project_license>
+   <name>Trojitá</name>
+diff --git a/src/Gui/trojita.desktop b/src/Gui/org.kde.trojita.desktop
+similarity index 100%
+rename from src/Gui/trojita.desktop
+rename to src/Gui/org.kde.trojita.desktop
+-- 
+GitLab
+

diff --git a/mail-client/trojita/files/trojita-0.7-metainfo.patch b/mail-client/trojita/files/trojita-0.7-metainfo.patch
new file mode 100644
index 00000000000..705fe714376
--- /dev/null
+++ b/mail-client/trojita/files/trojita-0.7-metainfo.patch
@@ -0,0 +1,26 @@
+From 4706896bbc3d7d9189a64117b75c01399b5271b9 Mon Sep 17 00:00:00 2001
+From: Luigi Toscano <luigi.toscano@tiscali.it>
+Date: Mon, 3 Oct 2016 22:30:22 +0200
+Subject: [PATCH] Use the new directory for metadata (metainfo) files
+
+Change-Id: I06d721c6e082166fc303435b39e42c9f358ecca9
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d242eda0..9393b19c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -731,7 +731,7 @@ if(WITH_DESKTOP)
+     copy_desktop_file_without_cruft("${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/org.kde.trojita.desktop" "${CMAKE_CURRENT_BINARY_DIR}/org.kde.trojita-DesktopGui.desktop")
+     install(TARGETS trojita RUNTIME DESTINATION bin)
+     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.trojita-DesktopGui.desktop DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications/" RENAME org.kde.trojita.desktop)
+-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/org.kde.trojita.appdata.xml DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/appdata/")
++    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/Gui/org.kde.trojita.appdata.xml DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo/")
+     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/icons/trojita.png DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps/")
+     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/icons/trojita.svg DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps/")
+ endif()
+-- 
+GitLab
+

diff --git a/mail-client/trojita/trojita-0.7-r5.ebuild b/mail-client/trojita/trojita-0.7-r5.ebuild
new file mode 100644
index 00000000000..c746c83d059
--- /dev/null
+++ b/mail-client/trojita/trojita-0.7-r5.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} = *9999* ]]; then
+	EGIT_REPO_URI="https://anongit.kde.org/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+	KEYWORDS="amd64 x86"
+fi
+inherit cmake virtualx xdg
+
+DESCRIPTION="A Qt IMAP e-mail client"
+HOMEPAGE="http://trojita.flaska.net/"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+IUSE="+crypt +dbus debug +password test +zlib"
+
+REQUIRED_USE="password? ( dbus )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	dev-qt/linguist-tools:5
+	zlib? ( virtual/pkgconfig )
+"
+RDEPEND="
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtnetwork:5[ssl]
+	dev-qt/qtsql:5[sqlite]
+	dev-qt/qtsvg:5
+	dev-qt/qtwebkit:5
+	dev-qt/qtwidgets:5
+	crypt? (
+		>=app-crypt/gpgme-1.8.0[cxx,qt5]
+		dev-libs/mimetic
+	)
+	dbus? ( dev-qt/qtdbus:5 )
+	password? ( dev-libs/qtkeychain[qt5(+)] )
+	zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+	test? ( dev-qt/qttest:5 )
+"
+
+DOCS=( README LICENSE )
+
+PATCHES=(
+	"${FILESDIR}/${P}-gpgme.patch"
+	"${FILESDIR}/${P}-gpg-tests.patch"
+	"${FILESDIR}/${P}-qt-5.11b3.patch"
+	"${FILESDIR}/${P}-qt-5.13.patch" # bug 730058
+	"${FILESDIR}/${P}-qt-5.15.patch"
+	"${FILESDIR}/${P}-CVE-2019-10734.patch" # KDE-bug 404697
+	"${FILESDIR}/${P}-CVE-2020-15047.patch" # bug 729596
+	"${FILESDIR}/${P}-cmake-cxx11.patch"
+	"${FILESDIR}/${P}-desktop-spec-namespace.patch"
+	"${FILESDIR}/${P}-metainfo.patch" # bug 730140
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	# the build system is taking a look at `git describe ... --dirty` and
+	# gentoo's modifications to CMakeLists.txt break these
+	sed -e "s/--dirty//" -i cmake/TrojitaVersion.cmake || die "Cannot fix the version check"
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DWITH_CRYPTO_MESSAGES=$(usex crypt)
+		-DWITH_GPGMEPP=$(usex crypt)
+		-DWITH_MIMETIC=$(usex crypt)
+		-DWITH_DBUS=$(usex dbus)
+		-DWITH_QTKEYCHAIN_PLUGIN=$(usex password)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_ZLIB=$(usex zlib)
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	virtx cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/
@ 2020-12-07 19:10 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2020-12-07 19:10 UTC (permalink / raw
  To: gentoo-commits

commit:     720d0a58fc320b085432bede30138d1ef2d12504
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  7 19:09:21 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Dec  7 19:10:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=720d0a58

mail-client/trojita: Fix crash when opening attachments

That's patch no.11 and definitely the last one.

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/trojita-0.7-crash-w-attachments.patch    | 68 ++++++++++++++++
 mail-client/trojita/trojita-0.7-r6.ebuild          | 90 ++++++++++++++++++++++
 2 files changed, 158 insertions(+)

diff --git a/mail-client/trojita/files/trojita-0.7-crash-w-attachments.patch b/mail-client/trojita/files/trojita-0.7-crash-w-attachments.patch
new file mode 100644
index 00000000000..38d11316e5e
--- /dev/null
+++ b/mail-client/trojita/files/trojita-0.7-crash-w-attachments.patch
@@ -0,0 +1,68 @@
+From cf2364b80fa8ae844df8350cd5833d47cce235f2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jkt@kde.org>
+Date: Mon, 9 Mar 2020 08:24:48 -0700
+Subject: [PATCH] Fix possible crash when downloading attachments
+
+Turns out we've been happily deleting network replies from the
+QNetworkReply::finished(). That was never a good thing to do, but it did
+not use to crash with older Qt. Now it does.
+
+After changing to deleteLater(), there's a window for
+already-deregistered replies to generate events, therefore the assert
+has to go, too, otherwise Bad Things happen:
+
+ (gdb) bt
+ #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
+ #1  0x00007ffff16bdcd2 in __GI_abort () at abort.c:89
+ #2  0x00007ffff2400bcb in qt_message_fatal (context=..., message=<synthetic pointer>...) at /var/tmp/portage/dev-qt/qtcore-5.13.9999/work/qtcore-5.13.9999/src/corelib/global/qlogging.cpp:1904
+ #3  QMessageLogger::fatal (this=this@entry=0x7fffffffc990, msg=msg@entry=0x7ffff2690b10 "ASSERT: \"%s\" in file %s, line %d") at /var/tmp/portage/dev-qt/qtcore-5.13.9999/work/qtcore-5.13.9999/src/corelib/global/qlogging.cpp:888
+ #4  0x00007ffff23fff7c in qt_assert (assertion=assertion@entry=0x5555558451d7 "reply", file=file@entry=0x555555841a38 "/home/jkt/work/prog/trojita/src/Imap/Network/FileDownloadManager.cpp", line=line@entry=142)
+     at /var/tmp/portage/dev-qt/qtcore-5.13.9999/work/qtcore-5.13.9999/src/corelib/global/qglobal.cpp:3247
+ #5  0x00005555555da840 in Imap::Network::FileDownloadManager::onPartDataTransfered (this=0x555556a20990)
+ #6  0x00007ffff25f1bdf in QtPrivate::QSlotObjectBase::call (a=0x7fffffffcaa0, r=0x555556a20990, this=0x5555569f99c0) at ../../include/QtCore/../../../qtcore-5.13.9999/src/corelib/kernel/qobjectdefs_impl.h:394
+ #7  QMetaObject::activate(QObject*, int, int, void**) () at /var/tmp/portage/dev-qt/qtcore-5.13.9999/work/qtcore-5.13.9999/src/corelib/kernel/qobject.cpp:3787
+ #8  0x00007ffff25f20b7 in QMetaObject::activate (sender=sender@entry=0x555556a21370, m=m@entry=0x7ffff3f96b00 <QNetworkReply::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0)
+     at /var/tmp/portage/dev-qt/qtcore-5.13.9999/work/qtcore-5.13.9999/src/corelib/kernel/qobject.cpp:3658
+ #9  0x00007ffff3d3cbf3 in QNetworkReply::finished (this=this@entry=0x555556a21370) at .moc/moc_qnetworkreply.cpp:385
+ #10 0x0000555555709485 in Imap::Network::MsgPartNetworkReply::slotMyDataChanged() () at /home/jkt/work/prog/trojita/src/Imap/Network/MsgPartNetworkReply.cpp:112
+
+BUG: 417697
+Reported-by: Stefan de Konink <stefan@konink.de>
+Change-Id: I79f340c5a471430a14474472513d0a055c7238d6
+---
+ src/Imap/Network/FileDownloadManager.cpp | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/Imap/Network/FileDownloadManager.cpp b/src/Imap/Network/FileDownloadManager.cpp
+index 16b6c8df..c3f72176 100644
+--- a/src/Imap/Network/FileDownloadManager.cpp
++++ b/src/Imap/Network/FileDownloadManager.cpp
+@@ -139,7 +139,9 @@ void FileDownloadManager::downloadMessage()
+ 
+ void FileDownloadManager::onPartDataTransfered()
+ {
+-    Q_ASSERT(reply);
++    if (!reply) {
++        return;
++    }
+     if (reply->error() == QNetworkReply::NoError) {
+         if (!saving.open(QIODevice::WriteOnly)) {
+             emit transferError(saving.errorString());
+@@ -192,11 +194,11 @@ void FileDownloadManager::onCombinerTransferError(const QString &message)
+ 
+ void FileDownloadManager::deleteReply(QNetworkReply *reply)
+ {
+-    if (reply == this->reply) {
++    if (reply && reply == this->reply) {
+         if (!saved)
+             onPartDataTransfered();
+-        delete reply;
+-        this->reply = 0;
++        reply->deleteLater();
++        this->reply = nullptr;
+     }
+ }
+ 
+-- 
+GitLab
+

diff --git a/mail-client/trojita/trojita-0.7-r6.ebuild b/mail-client/trojita/trojita-0.7-r6.ebuild
new file mode 100644
index 00000000000..7c1b4c0b6fa
--- /dev/null
+++ b/mail-client/trojita/trojita-0.7-r6.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} = *9999* ]]; then
+	EGIT_REPO_URI="https://anongit.kde.org/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+	KEYWORDS="amd64 x86"
+fi
+inherit cmake virtualx xdg
+
+DESCRIPTION="A Qt IMAP e-mail client"
+HOMEPAGE="http://trojita.flaska.net/"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+IUSE="+crypt +dbus debug +password test +zlib"
+
+REQUIRED_USE="password? ( dbus )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	dev-qt/linguist-tools:5
+	zlib? ( virtual/pkgconfig )
+"
+RDEPEND="
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtnetwork:5[ssl]
+	dev-qt/qtsql:5[sqlite]
+	dev-qt/qtsvg:5
+	dev-qt/qtwebkit:5
+	dev-qt/qtwidgets:5
+	crypt? (
+		>=app-crypt/gpgme-1.8.0[cxx,qt5]
+		dev-libs/mimetic
+	)
+	dbus? ( dev-qt/qtdbus:5 )
+	password? ( dev-libs/qtkeychain[qt5(+)] )
+	zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+	test? ( dev-qt/qttest:5 )
+"
+
+DOCS=( README LICENSE )
+
+PATCHES=(
+	"${FILESDIR}/${P}-gpgme.patch"
+	"${FILESDIR}/${P}-gpg-tests.patch"
+	"${FILESDIR}/${P}-qt-5.11b3.patch"
+	"${FILESDIR}/${P}-qt-5.13.patch" # bug 730058
+	"${FILESDIR}/${P}-qt-5.15.patch"
+	"${FILESDIR}/${P}-CVE-2019-10734.patch" # KDE-bug 404697
+	"${FILESDIR}/${P}-CVE-2020-15047.patch" # bug 729596
+	"${FILESDIR}/${P}-cmake-cxx11.patch"
+	"${FILESDIR}/${P}-desktop-spec-namespace.patch"
+	"${FILESDIR}/${P}-metainfo.patch" # bug 730140
+	"${FILESDIR}/${P}-crash-w-attachments.patch" # KDE-Bug 417697
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	# the build system is taking a look at `git describe ... --dirty` and
+	# gentoo's modifications to CMakeLists.txt break these
+	sed -e "s/--dirty//" -i cmake/TrojitaVersion.cmake || die "Cannot fix the version check"
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DWITH_RAGEL=OFF # bug 739866, broken by ragel-7
+		-DWITH_CRYPTO_MESSAGES=$(usex crypt)
+		-DWITH_GPGMEPP=$(usex crypt)
+		-DWITH_MIMETIC=$(usex crypt)
+		-DWITH_DBUS=$(usex dbus)
+		-DWITH_QTKEYCHAIN_PLUGIN=$(usex password)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_ZLIB=$(usex zlib)
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	virtx cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-12-07 19:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-22 15:50 [gentoo-commits] repo/gentoo:master commit in: mail-client/trojita/files/, mail-client/trojita/ Michael Palimaka
  -- strict thread matches above, loose matches on Subject: below --
2016-07-17 18:59 Michael Palimaka
2020-06-25 12:12 Andreas Sturmlechner
2020-06-28 21:55 Andreas Sturmlechner
2020-06-28 21:55 Andreas Sturmlechner
2020-06-30 19:56 Andreas Sturmlechner
2020-12-07 19:10 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox