diff options
author | Jory Pratt <anarchy@gentoo.org> | 2019-10-31 09:46:07 -0500 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2019-10-31 09:46:07 -0500 |
commit | 477f3f13b9a398476d3deacd835d3dd2f41b3540 (patch) | |
tree | b37c05e11d7a9e18cb76b86343340613c552dc97 /x11-plugins | |
parent | media-plugins/kodi-visualization-shadertoy: 1.2.3 version bump (diff) | |
download | gentoo-477f3f13b9a398476d3deacd835d3dd2f41b3540.tar.gz gentoo-477f3f13b9a398476d3deacd835d3dd2f41b3540.tar.bz2 gentoo-477f3f13b9a398476d3deacd835d3dd2f41b3540.zip |
x11-plugins/enigmail: Fix incorrect newline treat of PGP/MIME
Closes: https://bugs.gentoo.org/698926
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Jory Pratt <anarchy@gentoo.org>
Diffstat (limited to 'x11-plugins')
-rw-r--r-- | x11-plugins/enigmail/enigmail-2.1.2-r1.ebuild | 85 | ||||
-rw-r--r-- | x11-plugins/enigmail/files/enigmail-2.1.2-mimeverify.patch | 44 |
2 files changed, 129 insertions, 0 deletions
diff --git a/x11-plugins/enigmail/enigmail-2.1.2-r1.ebuild b/x11-plugins/enigmail/enigmail-2.1.2-r1.ebuild new file mode 100644 index 000000000000..596a08529286 --- /dev/null +++ b/x11-plugins/enigmail/enigmail-2.1.2-r1.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 + +DESCRIPTION="Mozilla extension to provide GPG support in mail clients" +HOMEPAGE="https://www.enigmail.net/" + +SLOT="0" +LICENSE="MPL-2.0 GPL-3" +IUSE="" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.code.sf.net/p/enigmail/source" + S="${WORKDIR}/${P}" +else + if [[ ${PV} = *_beta* ]] ; then + SRC_URI="https://www.enigmail.net/download/beta/${P/_/-}.tar.gz" + else + SRC_URI="https://www.enigmail.net/download/source/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + fi + S="${WORKDIR}/${PN}" +fi + +RDEPEND=" + ( >=app-crypt/gnupg-2.0 + || ( + app-crypt/pinentry[gtk(-)] + app-crypt/pinentry[qt5(-)] + ) + ) + !<mail-client/thunderbird-52.5.0 +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-arch/zip + dev-lang/perl + " + +PATCHES=( "${FILESDIR}/enigmail-no_pEp_auto_download.patch" + "${FILESDIR}/${PN}-2.1.2-mimeverify.patch" ) + +src_compile() { + # Required or parallel make fails + emake -C stdlib createlib + + emake ipc public ui package lang stdlib + emake xpi + +} + +src_install() { + local emid=$(sed -n '/"id":/!d; s/.*\({.*}\).*/\1/; p; q' build/dist/manifest.json) + [[ -n ${emid} ]] || die "Could not scrape EM:ID from install.rdf" + + mv build/enigmail*.xpi build/"${emid}.xpi" || die 'Could not rename XPI to match EM:ID' + + # thunderbird + insinto "/usr/share/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}" + doins build/"${emid}.xpi" + + # seamonkey + insinto "/usr/share/mozilla/extensions/{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}" + doins build/"${emid}.xpi" +} + +pkg_postinst() { + local peimpl=$(eselect --brief --colour=no pinentry show) + case "${peimpl}" in + *gtk*|*qt*) ;; + *) ewarn "The pinentry front-end currently selected is not one supported by thunderbird." + ewarn "You may be prompted for your password in an inaccessible shell!!" + ewarn "Please use 'eselect pinentry' to select either the gtk or qt front-end" + ;; + esac + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog + elog "Please restart thunderbird and/or seamonkey in order for them to use" + elog "the newly installed version of enigmail." + fi +} diff --git a/x11-plugins/enigmail/files/enigmail-2.1.2-mimeverify.patch b/x11-plugins/enigmail/files/enigmail-2.1.2-mimeverify.patch new file mode 100644 index 000000000000..8d3830c14586 --- /dev/null +++ b/x11-plugins/enigmail/files/enigmail-2.1.2-mimeverify.patch @@ -0,0 +1,44 @@ +From 745d8a0e6929e61a66b0e6c1474175d4b0a84cd6 Mon Sep 17 00:00:00 2001 +From: Jonas Witschel <diabonas@gmx.de> +Date: Sun, 29 Sep 2019 22:07:52 +0200 +Subject: [PATCH] mimeVerify: fix incorrect newline treatment in PGP/MIME + messages + +RFC 3156 specifies: + +Upon receipt of a signed message, an application MUST: + +(1) Convert line endings to the canonical <CR><LF> sequence before + the signature can be verified. This is necessary since the + local MTA may have converted to a local end of line convention. + +The code in this commit was originally added in +ab1b9a2d1c023c5bdf9c058681b93da99ee95465 to fix SourceForge bugs #209 +and #4, but was later accidentally removed during refactoring. This +commit restores the previous state so that signed messages created by +MUAs such as alot or NeoMutt can be verified successfully. + +Fixes: c36bef32a70ee9f2eac1b839cb8644e2fddb32ca +Closes: #1020 (SourceForge) +--- + package/mimeVerify.jsm | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/package/mimeVerify.jsm b/package/mimeVerify.jsm +index 7cc1b228..a6e01d86 100644 +--- a/package/mimeVerify.jsm ++++ b/package/mimeVerify.jsm +@@ -497,6 +497,10 @@ MimeVerify.prototype = { + mimeSignatureFile: sigFileName + }; + const cApi = EnigmailCryptoAPI(); ++ ++ // ensure all lines end with CRLF as specified in RFC 3156, section 5 ++ this.signedData = this.signedData.replace(/\r\n/g, "\n").replace(/\n/g, "\r\n"); ++ + this.returnStatus = cApi.sync(cApi.verifyMime(this.signedData, options)); + this.exitCode = this.returnStatus.exitCode; + +-- +2.22.0 + |