commit: b9117143f6602a3abbe3261f55b13b90e2298733 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Fri Feb 21 19:41:31 2025 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Fri Feb 21 19:41:31 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9117143
mail-filter/libspf2-1.2.11-r1: add upstream integer underflow patch As suggested by hanno, seems like a good idea to have to fix in any case. Bug: https://bugs.gentoo.org/916493 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> .../files/libspf2-1.2.11-integer-underflow.patch | 26 +++++++++++ mail-filter/libspf2/libspf2-1.2.11-r1.ebuild | 51 ++++++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/mail-filter/libspf2/files/libspf2-1.2.11-integer-underflow.patch b/mail-filter/libspf2/files/libspf2-1.2.11-integer-underflow.patch new file mode 100644 index 000000000000..fabfd6ceacfd --- /dev/null +++ b/mail-filter/libspf2/files/libspf2-1.2.11-integer-underflow.patch @@ -0,0 +1,26 @@ +From d14abff4b544cfc53a8b5ef54cbc2353866b5081 Mon Sep 17 00:00:00 2001 +From: Simon Arlott <sa.me.uk> +Date: Sat, 30 Sep 2023 12:18:51 +0100 +Subject: [PATCH] Fix integer underflow + +--- + src/libspf2/spf_compile.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/libspf2/spf_compile.c b/src/libspf2/spf_compile.c +index b08ffe2..d401028 100644 +--- a/src/libspf2/spf_compile.c ++++ b/src/libspf2/spf_compile.c +@@ -455,7 +455,11 @@ SPF_c_parse_var(SPF_response_t *spf_response, SPF_data_var_t *data, + /* Magic numbers for x/Nc in gdb. */ \ + data->ds.__unused0 = 0xba; data->ds.__unused1 = 0xbe; \ + dst = SPF_data_str( data ); \ +- ds_avail = _avail - sizeof(SPF_data_t); \ ++ if ((_avail) < sizeof(SPF_data_t)) \ ++ return SPF_response_add_error_ptr(spf_response, \ ++ SPF_E_BIG_STRING, NULL, src, \ ++ "Out of memory for string literal");\ ++ ds_avail = (_avail) - sizeof(SPF_data_t); \ + ds_len = 0; \ + } while(0) + diff --git a/mail-filter/libspf2/libspf2-1.2.11-r1.ebuild b/mail-filter/libspf2/libspf2-1.2.11-r1.ebuild new file mode 100644 index 000000000000..b215671557ff --- /dev/null +++ b/mail-filter/libspf2/libspf2-1.2.11-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +GHASH=4915c308d57ff3abac9fb241f09c4bed2ab54815 # 1.2.11 +DESCRIPTION="implementation of Sender Policy Framework (SPF)" +HOMEPAGE="https://www.libspf2.net/" +SRC_URI="https://github.com/shevek/${PN}/archive/${GHASH}.tar.gz -> ${P}.tar.gz" + +LICENSE="|| ( LGPL-2.1 BSD-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.11-memset-include-string-h.patch + "${FILESDIR}"/${PN}-1.2.11-undefined-dn_.patch + "${FILESDIR}"/${PN}-1.2.11-musl.patch + "${FILESDIR}"/${PN}-1.2.11-integer-underflow.patch +) + +S=${WORKDIR}/${PN}-${GHASH} + +src_prepare() { + default + + sed -i -e '/bin_PROGRAMS/s/spfquery_static//' src/spfquery/Makefile.am \ + -e '/bin_PROGRAMS/s/spftest_static//' src/spftest/Makefile.am \ + -e '/bin_PROGRAMS/s/spfd_static//' src/spfd/Makefile.am \ + -e '/bin_PROGRAMS/s/spf_example_static//' src/spf_example/Makefile.am \ + || die + + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac || die + + sed -i -e '/AX_WITH_PERL/d' configure.ac || die # bug 885055 + + eautoreconf +} + +src_configure() { + econf --disable-static +} + +src_install() { + emake DESTDIR="${D}" install + dodoc README TODO INSTALL + + find "${ED}" -name '*.la' -delete || die +}
