commit: cbf4ae0b94c68b61515b0db19ac301ca8743deb8 Author: Christopher Fore <csfore <AT> posteo <DOT> net> AuthorDate: Mon Apr 22 04:05:04 2024 +0000 Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> CommitDate: Mon Apr 22 15:51:30 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbf4ae0b
net-libs/libetpan: Add patch for CVE-2022-4121 - Also bump EAPI to version 8 - Build succeeds on amd64 - Tests don't seem to run Bug: https://bugs.gentoo.org/891263 Signed-off-by: Christopher Fore <csfore <AT> posteo.net> Closes: https://github.com/gentoo/gentoo/pull/36351 Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org> .../files/libetpan-1.9.4-CVE-2022-4121.patch | 29 ++++++++ net-libs/libetpan/libetpan-1.9.4-r2.ebuild | 78 ++++++++++++++++++++++ 2 files changed, 107 insertions(+) diff --git a/net-libs/libetpan/files/libetpan-1.9.4-CVE-2022-4121.patch b/net-libs/libetpan/files/libetpan-1.9.4-CVE-2022-4121.patch new file mode 100644 index 000000000000..2d97ac8e972e --- /dev/null +++ b/net-libs/libetpan/files/libetpan-1.9.4-CVE-2022-4121.patch @@ -0,0 +1,29 @@ +From 5c9eb6b6ba64c4eb927d7a902317410181aacbba Mon Sep 17 00:00:00 2001 +From: Hoa Dinh <[email protected]> +Date: Mon, 19 Dec 2022 08:16:32 -0800 +Subject: [PATCH] Fixed crash when st_info_list is NULL. Fixes #420. Fixes + CVE-2022-4121. + +--- + src/low-level/imap/mailimap_types.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/low-level/imap/mailimap_types.c b/src/low-level/imap/mailimap_types.c +index 9923125c..79a0cc23 100644 +--- a/src/low-level/imap/mailimap_types.c ++++ b/src/low-level/imap/mailimap_types.c +@@ -1389,9 +1389,11 @@ void + mailimap_mailbox_data_status_free(struct mailimap_mailbox_data_status * info) + { + mailimap_mailbox_free(info->st_mailbox); +- clist_foreach(info->st_info_list, (clist_func) mailimap_status_info_free, +- NULL); +- clist_free(info->st_info_list); ++ if (info->st_info_list != NULL) { ++ clist_foreach(info->st_info_list, (clist_func) mailimap_status_info_free, ++ NULL); ++ clist_free(info->st_info_list); ++ } + free(info); + } + diff --git a/net-libs/libetpan/libetpan-1.9.4-r2.ebuild b/net-libs/libetpan/libetpan-1.9.4-r2.ebuild new file mode 100644 index 000000000000..149c51e7ac5f --- /dev/null +++ b/net-libs/libetpan/libetpan-1.9.4-r2.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit autotools + +DESCRIPTION="A portable, efficient middleware for different kinds of mail access" +HOMEPAGE="https://libetpan.sourceforge.net/" +SRC_URI="https://github.com/dinhviethoa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="berkdb gnutls ipv6 liblockfile lmdb sasl ssl static-libs" + +# BerkDB is only supported up to version 6.0 +DEPEND="sys-libs/zlib + !lmdb? ( berkdb? ( sys-libs/db:= ) ) + lmdb? ( dev-db/lmdb ) + ssl? ( + gnutls? ( net-libs/gnutls:= ) + !gnutls? ( + dev-libs/openssl:0= + ) + ) + sasl? ( dev-libs/cyrus-sasl:2 ) + liblockfile? ( net-libs/liblockfile )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0-nonnull.patch + "${FILESDIR}"/${PN}-1.9.4-berkdb_lookup.patch #519846 + "${FILESDIR}"/${PN}-1.9.4-pkgconfig_file_no_ldflags.patch + "${FILESDIR}"/${P}-CVE-2020-15953.patch #734130 + "${FILESDIR}"/${P}-CVE-2022-4121.patch #891263 +) + +pkg_pretend() { + if use gnutls && ! use ssl ; then + ewarn "You have \"gnutls\" USE flag enabled but \"ssl\" USE flag disabled!" + ewarn "No ssl support will be available in ${PN}." + fi + + if use berkdb && use lmdb ; then + ewarn "You have \"berkdb\" _and_ \"lmdb\" USE flags enabled." + ewarn "Using lmdb as cache DB!" + fi +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # in Prefix emake uses SHELL=${BASH}, export CONFIG_SHELL to the same so + # libtool recognises it as valid shell (bug #300211) + use prefix && export CONFIG_SHELL=${BASH} + local myeconfargs=( + # --enable-debug simply injects "-O2 -g" into CFLAGS + --disable-debug + $(use_enable ipv6) + $(use_enable liblockfile lockfile) + $(use_enable static-libs static) + $(use_with sasl) + $(usex lmdb '--enable-lmdb --disable-db' "$(use_enable berkdb db) --disable-lmdb") + $(usex ssl "$(use_with gnutls) $(use_with !gnutls openssl)" '--without-gnutls --without-openssl') + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name "*.la" -delete || die + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +}
