Since upgrading to Exim 4.88, exim would not launch due to not being able to handle parameters 'spamd_address' and 'spam = ' in the configuration. These parameters don't appear to have been deprecated by upstream as they're still mentioned in all the docs and sample configuration. root@jazz:/usr/local/etc/exim # /usr/local/etc/rc.d/exim start Starting exim. 2017-01-08 10:59:13 Exim configuration error in line 151 of /usr/local/etc/exim/configure: error in ACL: unknown ACL condition/modifier in "warn spam = nobody:true" /usr/local/etc/rc.d/exim: WARNING: failed to start exim I also tried the * exim-sa-exim 4.88+4.2 package * exim-sa-exim from ports * building the 'exim' port with SA_EXIM enabled. I can see at build time warnings from sa-exim.c about implicit casts taking place; so it does appear to be being built. I used SVN ports to extract Exim 4.87.1 to get the mail server running again, and this works.
On investigation, I think I know what's going on here; slightly different to what I stated originally. I think that the port (and package) should have config CONTENT_SCAN enabled by default, to maintain behaviour of previous versions of the port/package. * I have conflated the purpose of sa-exim. The "spam =" configuration does not come from sa-exim, but the local "Content_Scanning" code. * Prior to 4.88, "Content_Scanning" was enabled in the build, regardless of the setting of the port's CONTENT_SCAN configuration * In exim 4.88, the CONTENT_SCAN needs to be switched on to enable "Content_Scanning" in the build and restore the old behaviour. I am new to looking at ports, so its possible I missed something here or made a mistake. But a build of 4.88 with CONTENT_SCAN is now working for me. That difference is: Exim version 4.88 #0 (FreeBSD 10.3) built 04-Jan-2017 03:59:57 Copyright (c) University of Cambridge, 1995 - 2016 (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2016 Probably Berkeley DB version 1.8x (native mode) Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc OpenSSL DKIM DNSSEC Event I18N OCSP PRDR TCP_Fast_Open Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch passwd Authenticators: cram_md5 dovecot plaintext spa Routers: accept dnslookup ipliteral manualroute queryprogram redirect Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp Fixed never_users: 0 Configure owner: 0:0 Size of off_t: 8 2017-01-10 14:14:25 Exim configuration error in line 159 of /usr/local/etc/exim/configure: error in ACL: unknown ACL condition/modifier in "warn spam = nobody:true" versus: Exim version 4.88 #0 (FreeBSD 10.3) built 10-Jan-2017 13:49:48 Copyright (c) University of Cambridge, 1995 - 2016 (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2016 Probably Berkeley DB version 1.8x (native mode) Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning DKIM DNSSEC Event I18N OCSP PRDR TCP_Fast_Open Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch passwd Authenticators: cram_md5 dovecot plaintext spa Routers: accept dnslookup ipliteral manualroute queryprogram redirect Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp Fixed never_users: 0 Configure owner: 0:0 Size of off_t: 8 Configuration file is /usr/local/etc/exim/configure And for reference, here's a build of the older port. The CONTENT_SCAN configuration was left unchecked (the default) but still slips into the build: Exim version 4.87_1 #0 (FreeBSD 10.3) built 10-Jan-2017 13:36:03 Copyright (c) University of Cambridge, 1995 - 2016 (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2016 Probably Berkeley DB version 1.8x (native mode) Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning Old_Demime DKIM DNSSEC I18N OCSP PRDR Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch passwd Authenticators: cram_md5 dovecot plaintext spa Routers: accept dnslookup ipliteral manualroute queryprogram redirect Transports: appendfile/maildir/mailstore/mbx autoreply pipe smtp Fixed never_users: 0 Size of off_t: 8 Configuration file is /usr/local/etc/exim/configure
I have got similar problems with the new package for exim 4.88 as several long-used configuration options don't exist anymore because the "Content_Scanning" option was not enabled during build. As far as I'm aware this option is not included in any package so I'm kind of stuck with exim 4.87.1 because one should not mix ports and packages as far as I'm aware. So my humble request would be to either enable "Content_Scanning" again in the main package (as has been the case for years now) or create a new package (e.g. exim-contentscan-4.88) that has this option included.
This was caused by OLD_DEMIME option that was enabled by default. This option has been removed from Exim, however, it implied CONTENT_SCAN when it was enabled.
A commit references this bug: Author: vsevolod Date: Mon Jan 16 13:03:28 UTC 2017 New revision: 431639 URL: https://svnweb.freebsd.org/changeset/ports/431639 Log: - Remove obsoleted OLD_DEMIME option - Enable CONTENT_SCAN by default to compensate OLD_DEMIME removal PR: 215871 Submitted by: Mark Hills mark-freebsd at xwax.org Changes: head/mail/exim/Makefile head/mail/exim/options