The release of Exim 4.70 is on the horizon. A lot of stuff has
accumulated in CVS since January 2008. Since we want to give the current
code some wider exposure, please accept this invitation to test a 4.70
pre-release. You can get the current code by pulling a snapshot from
David's GIT shadow:
git clone git://git.exim.org/exim-src.git
Or wget a tarball here:
http://duncanthrax.net/temp/exim-4.70-RC-20091013.tar.gz
Feel free to post testing results to this list - no matter if positive
or negative.
The main new features are:
* Native DKIM support without an external library.
Docs:
http://www.exim.org/~tom/doctest/ch54.html
* Experimental DCC support via dccifd (contributed
by Wolfgang Breyha). See further below for docs.
Other changes:
* PCRE removed from Exim distribution. You will need
a separate PCRE library (and matching headers) to
compile Exim.
* Experimental Yahoo! Domainkeys support dropped in
favor of native DKIM support.
Here's the full changelog:
TK/01 Added patch by Johannes Berg that expands the main option
"spamd_servers" if it starts with a dollar sign.
TK/02 Write list of recipients to X-Envelope-Sender header when building
the mbox-format spool file for content scanning (suggested
by Jakob Hirsch)
TK/03 Added patch by Wolfgang Breyha that adds experimental DCC
(http://www.dcc-servers.net/) support via dccifd. Activated by
setting EXPERIMENTAL_DCC=yes in Local/Makefile. Check out
experimental_spec.txt for more documentation.
TK/04 Bugzilla 673: Add f-protd malware scanner support. Patch submitted
by Mark Daniel Reidel <mr@???>.
NM/01 Bugzilla 657: Embedded PCRE removed from the exim source tree.
When building exim an external PCRE library is now needed -
PCRE is a system library on the majority of modern systems.
See entry on PCRE_LIBS in EDITME file.
NM/02 Bugzilla 646: Removed unwanted C/R in Dovecot authenticator
conversation. Added nologin parameter to request.
Patch contributed by Kirill Miazine
TF/01 Do not log submission mode rewrites if they do not change the
address.
TF/02 Bugzilla 662: Fix stack corruption before exec() in daemon.c.
NM/03 Bugzilla 602: exicyclog now handles panic log, and creates empty
log files in place. Contributed by Roberto Lima
NM/04 Bugzilla 667: close socket used by dovecot authenticator
TF/03 Bugzilla 615: When checking the local_parts router precondition
after a local_part_suffix or local_part_prefix option, Exim now
does not use the address's named list lookup cache, since this
contains cached lookups for the whole local part.
NM/05 Bugzilla 521: Integrated SPF Best Guess support contributed by
Robert Millan. Documentation is in experimental-spec.txt
TF/04 Bugzilla 668: Fix parallel build (make -j).
NM/05 Bugzilla 437: Prevent Maildix aux files being created with
mode 000
NM/05 Bugzilla 598: Improvement to Dovecot authenticator handling.
Patch provided by Jan Srzednicki
TF/05 Leading white space used to be stripped from $spam_report which
wrecked the formatting. Now it is preserved.
TF/06 Save $spam_score, $spam_bar, and $spam_report in spool files, so
that they are available at delivery time.
TF/07 Fix the way ${extract is skipped in the untaken branch of a
conditional.
TF/08 TLS error reporting now respects the incoming_interface and
incoming_port log selectors.
TF/09 Produce a more useful error message if an SMTP transport's hosts
setting expands to an empty string.
NM/06 Bugzilla 744: EXPN did not work under TLS.
Patch provided by Phil Pennock
NM/07 Bugzilla 769: Extraneous comma in usage fprintf
Patch provided by Richard Godbee
NM/08 Fixed erroneous documentation references to smtp_notquit_acl to be
acl_smtp_notquit, added index entry.
NM/09 Bugzilla 787: Potential buffer overflow in string_format
Patch provided by Eugene Bujak
NM/10 Bugzilla 770: Problem on some platforms modifying the len
parameter to accept()
Patch provided by Maxim Dounin
NM/11 Bugzilla 749: Preserve old behaviour of blanks comparing equal to
zero.
Patch provided by Phil Pennock
NM/12 Bugzilla 497: Correct behaviour of exiwhat when no config exists.
NM/13 Bugzilla 590: Correct handling of Resent-Date headers.
Patch provided by Brad "anomie" Jorsch
NM/14 Bugzilla 614: Added timeout setting to transport filter.
Patch provided by Dean Brooks
TK/05 Add native DKIM support (does not depend on external libraries).
Documentation for experimental dccifd support
---------------------------------------------
*) Building exim
In order to build exim with DCC support add
EXPERIMENTAL_DCC=yes
to your Makefile. (Re-)build/install exim. exim -d should show
EXPERIMENTAL_DCC under "Support for".
*) Configuration
In the main section of exim.conf add at least
dccifd_address = /usr/local/dcc/var/dccifd
or
dccifd_address = <ip> <port>
In the DATA ACL you can use the new condition
dcc = *
After that "dcc_header" contains the X-DCC-Header.
*** WARNING: return codes changed from previous releases!
Return values are:
"fail" for overall "R", "G" from dccifd
"defer" for overall "T" from dccifd
"accept" for overall "A", "S" from dccifd
dcc = */defer_ok works as for spamd.
dcc_result contains the overall result from DCC answer
usually you'll use
defer !dcc = *
to greylist with DCC. If
dcc_direct_add_header = true
is set, then the dcc header will be added "in deep" and if the spool
file was already written it gets removed. This forces exim to write it
again if needed.
This helps to get the DCC Header through to eg. SpamAssassin.
If you want to pass even more headers in the middle of the DATA stage
you can use $acl_m_dcc_add_header to add information from eg. ClamAV.
Be careful. Header syntax is not checked and added "as is".