$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.90 2005/03/15 12:27:54 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- Exim version 4.51 ----------------- TK/01. Added Yahoo DomainKeys support via libdomainkeys. See doc/experimental-spec.txt for details. (http://domainkeys.sf.net) TK/02. Fix ACL "control" statment not being available in MIME ACL. TK/03. Fix ACL "regex" condition not being available in MIME ACL. PH/01. Installed a patch from the Sieve maintainer that allows -bf to be used to test Sieve filters that use "vacation". PH/02. Installed a slightly modified version of Nikos Mavrogiannopoulos' patch that changes the way the GnuTLS parameters are stored in the cache file. The new format can be generated externally. For backward compatibility, if the data in the cache doesn't make sense, Exim assumes it has read an old-format file, and it generates new data and writes a new file. This means that you can't go back to an older release without removing the file. PH/03. A redirect router that has both "unseen" and "one_time" set does not work if there are any delivery delays because "one_time" forces the parent to be marked "delivered", so its unseen clone is never tried again. For this reason, Exim now forbids the simultaneous setting of these two options. PH/04. Change 4.11/85 fixed an obscure bug concerned with addresses that are redirected to themselves ("homonym" addresses). Read the long ChangeLog entry if you want to know the details. The fix, however, neglected to consider the case when local delivery batching is involved. The test for "previously delivered" was not happening when checking to see if an address could be batched with a previous (undelivered) one; under certain circumstances this could lead to multiple deliveries to the same address. A one-line patch to add the appropriate test fixes the bug. A note about Exim versions 4.44 and 4.50 ---------------------------------------- Exim 4.50 was meant to be the next release after 4.43. It contains a lot of changes of various kinds. As a consequence, a big documentation update was needed. This delayed the release for rather longer than seemed good, especially in the light of a couple of (minor) security issues. Therefore, the changes that fixed bugs were backported into 4.43, to create a 4.44 maintenance release. So 4.44 and 4.50 are in effect two different branches that both start from 4.43. I have left the 4.50 change log unchanged; it contains all the changes since 4.43. The change log for 4.44 is below; many of its items are identical to those for 4.50. This seems to be the most sensible way to preserve the historical information. Exim version 4.50 ----------------- 1. Minor wording change to the doc/README.SIEVE file. 2. Change 4.43/35 introduced a bug: if quota_filecount was set, the computation of the current number of files was incorrect. 3. Closing a stable door: arrange to panic-die if setitimer() ever fails. The bug fixed in 4.43/37 would have been diagnosed quickly if this had been in place. 4. Give more explanation in the error message when the command for a transport filter fails to execute. 5. There are several places where Exim runs a non-Exim command in a subprocess. The SIGUSR1 signal should be disabled for these processes. This was being done only for the command run by the queryprogram router. It is now done for all such subprocesses. The other cases are: ${run, transport filters, and the commands run by the lmtp and pipe transports. 6. Added CONFIGURE_GROUP build-time option. 7. Some older OS have a limit of 256 on the maximum number of file descriptors. Exim was using setrlimit() to set 1000 as a large value unlikely to be exceeded. Change 4.43/17 caused a lot of logging on these systems. I've change it so that if it can't get 1000, it tries for 256. 8. "control=submission" was allowed, but had no effect, in a DATA ACL. This was an oversight, and furthermore, ever since the addition of extra controls (e.g. 4.43/32), the checks on when to allow different forms of "control" were broken. There should now be diagnostics for all cases when a control that does not make sense is encountered. 9. Added the /retain_sender option to "control=submission". 10. $recipients is now available in the predata ACL (oversight). 11. Tidy the search cache before the fork to do a delivery from a message received from the command line. Otherwise the child will trigger a lookup failure and thereby defer the delivery if it tries to use (for example) a cached ldap connection that the parent has called unbind on. 12. If verify=recipient was followed by verify=sender in a RCPT ACL, the value of $address_data from the recipient verification was clobbered by the sender verification. 13. The value of address_data from a sender verification is now available in $sender_address_data in subsequent conditions in the ACL statement. 14. Added forbid_sieve_filter and forbid_exim_filter to the redirect router. 15. Added a new option "connect=