Skip to content

Commit

Permalink
mail-mta/exim: bump stable release to include SLOT dep for opendmarc
Browse files Browse the repository at this point in the history
Unfortunately opendmarc broke their API without telling, and we need to
ensure Exim instances are rebuilt that link against an upgraded
opendmarc.  Also, need to ensure that once opendmarc-1.4 goes stable,
Exim is properly rebuilt.  Unfortunately this requires a conditional
patch, so we're all extremely unhappy here.

Closes: https://bugs.gentoo.org/788343
Package-Manager: Portage-3.0.18, Repoman-3.0.2
RepoMan-Options: --force
Signed-off-by: Fabian Groffen <[email protected]>
  • Loading branch information
grobian committed May 8, 2021
1 parent ce2498a commit 9a3e0ed
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ COMMON_DEPEND=">=sys-apps/sed-4.0.5
sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 )
redis? ( dev-libs/hiredis )
spf? ( >=mail-filter/libspf2-1.2.5-r1 )
dmarc? ( mail-filter/opendmarc )
dmarc? ( mail-filter/opendmarc:= )
srs? ( srs-alt? ( mail-filter/libsrs_alt ) )
X? (
x11-libs/libX11
Expand Down Expand Up @@ -117,6 +117,12 @@ src_prepare() {
eapply "${FILESDIR}"/exim-4.69-r1.27021.patch
eapply "${FILESDIR}"/exim-4.94-localscan_dlopen.patch

# for this reason we have a := dep on opendmarc, they changed their
# API in a minor release
if use dmarc && has_version ">=mail-filter/opendmarc-1.4" ; then
eapply "${FILESDIR}"/exim-4.94-opendmarc-1.4.patch
fi

if use maildir ; then
eapply "${FILESDIR}"/exim-4.94-maildir.patch
else
Expand Down
14 changes: 14 additions & 0 deletions mail-mta/exim/files/exim-4.94-opendmarc-1.4.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
https://bugs.exim.org/show_bug.cgi?id=2728


--- a/src/dmarc.c
+++ b/src/dmarc.c
@@ -446,7 +446,7 @@
vs == PDKIM_VERIFY_INVALID ? DMARC_POLICY_DKIM_OUTCOME_TMPFAIL :
DMARC_POLICY_DKIM_OUTCOME_NONE;
libdm_status = opendmarc_policy_store_dkim(dmarc_pctx, US sig->domain,
- dkim_result, US"");
+ sig->selector, dkim_result, US"");
DEBUG(D_receive)
debug_printf("DMARC adding DKIM sender domain = %s\n", sig->domain);
if (libdm_status != DMARC_PARSE_OKAY)

0 comments on commit 9a3e0ed

Please sign in to comment.