* [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