Bug 260789 - mail/exim: 4.95 breaks SRS
Summary: mail/exim: 4.95 breaks SRS
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dima Panov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-29 08:53 UTC by Martin Waschbüsch
Modified: 2022-04-15 13:10 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Waschbüsch 2021-12-29 08:53:18 UTC
I used to enable SRS in exim via the experimental extension (EXPERIMENTAL_SRS_ALT).
AFAIK, since 4.94, there also is a native SRS option for exim (which you can turn on using SUPPORT_SRS=YES in the Makefile).

After upgrading to exim 4.95, I have the weird situation, that exim still is linked to libsrs_alt (which is only needed for the experimental extension) but exim no longer recognizes the SRS-related options in the config file:

2021-12-29 08:42:11 Exim configuration error in line 49 of /usr/local/etc/exim/configure:
  main option "srs_config" unknown

However, if I try to use the syntax for the native SRS-stuff exim does not understand that either. (I followed the examples under section 5 here: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-dkim_spf_srs_and_dmarc.html):


2021-12-29 08:27:58.281 [13483] 1n2UJR-0003VQ-2v failed to expand condition "${if inbound_srs {$local_part} {}}" for inbound_srs_failure router: unknown condition "inbound_srs"

So, somehow SRS support got borked.
From the FreeBSD Makefile, it still looks as if the old, experimental extension were used, but clearly does not work as is.

For the time being, I reverted to 4.94.
Comment 1 Dima Panov freebsd_committer freebsd_triage 2021-12-29 09:49:32 UTC
try this patch:

https://people.freebsd.org/~fluffy/-patches/exim.diff
Comment 2 Martin Waschbüsch 2021-12-29 10:05:02 UTC
(In reply to Dima Panov from comment #1)

Thank you!!
Works very well. The native module is now active and its syntax recognized.
I also checked it works as advertised. :-)
Comment 3 commit-hook freebsd_committer freebsd_triage 2021-12-29 13:59:09 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=03b2af65b2fd11c9e10ab7c27c5cec0ec2851cd4

commit 03b2af65b2fd11c9e10ab7c27c5cec0ec2851cd4
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2021-12-29 13:53:55 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2021-12-29 13:53:55 +0000

    mail/exim: switch to native SRS implementation (+)

    Years before Exim used alternative SRS library.
    Since 4.95 release, SRS functions was implemented as native code,
    switch build process tu use it insteasd of outdated alternative

    PR:             260789
    Tested by:      Martin Waschbüsch
    Sponsored by:   Netzkommune GmbH

 mail/exim/Makefile | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
Comment 4 Chris Collins 2022-04-15 13:10:03 UTC
Hi guys, is it possible to keep the older SRS as an additional option.

The reason it stopped working for the original reporter is they changed the syntax.

So the correct Makefile snippet is with ALT at end.

LIB_DEPENDS+=   libsrs_alt.so:mail/libsrs_alt
SEDLIST+=       -e 's,XX_SRS_FLAGS_XX,-DEXPERIMENTAL_SRS_ALT,' \
                -e 's,XX_SRS_LIBS_XX,-L${LOCALBASE}/lib -lsrs_alt,'

The reason for my request is that the new native srs has completely different syntax and is currently not compatible with my exim config templates.

Chris