-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.17 2004/11/24 16:36:19 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.25 2005/01/04 16:36:27 ph10 Exp $
New Features in Exim
--------------------
file contains a listing of all changes, including bug fixes.
-Version 4.44
+Version 4.50
------------
1. There is a new build-time option called CONFIGURE_GROUP which works like
default - see 14 below), in the same way that multiple DNS records for a
single item are handled.
- The lookup fails only if all the DNS lookups fail. As long as at least one
- of them yields some data, the lookup succeeds. However, if there is a
- temporary DNS error for any of them, the lookup defers.
+ The dnsdb lookup fails only if all the DNS lookups fail. If there is a
+ temporary DNS error for any of them, the behaviour is controlled by
+ an optional keyword followed by a comma that may appear before the record
+ type. The possible keywords are "defer_strict", "defer_never", and
+ "defer_lax". With "strict" behaviour, any temporary DNS error causes the
+ whole lookup to defer. With "never" behaviour, a temporary DNS error is
+ ignored, and the behaviour is as if the DNS lookup failed to find anything.
+ With "lax" behaviour, all the queries are attempted, but a temporary DNS
+ error causes the whole lookup to defer only if none of the other lookups
+ succeed. The default is "lax", so the following lookups are equivalent:
+
+ ${lookup dnsdb{defer_lax,a=one.host.com:two.host.com}}
+ ${lookup dnsdb{a=one.host.com:two.host.com}}
+
+ Thus, in the default case, as long as at least one of the DNS lookups
+ yields some data, the dnsdb lookup succeeds.
15. It is now possible to specify the character to be used as a separator when
a dnsdb lookup returns data from more than one DNS record. The default is a
2.1.168.192.black.list.tld and a.domain.black.list.tld
Once a DNS record has been found (that matches a specific IP return
- address, if specified), no further lookups are done.
+ address, if specified), no further lookups are done. If there is a
+ temporary DNS error, the rest of the sublist of domains or IP addresses is
+ tried. The dnslists item itself defers only if none of the other DNS
+ lookups in this sublist succeeds. In other words, a successful lookup for
+ any of the items in the sublist overrides a defer for a previous item.
17. The log selector queue_time_overall causes Exim to output the time spent on
the queue as an addition to the "Completed" message. Like queue_time (which
"QT=", and it is measured from the time that the message starts to be
received, so it includes the reception time.
+18. It is now possible to use both -bF and -bf on the same command, in order to
+ test a system filter and a user filter in the same run. For example:
+
+ exim -bF /system/filter -bf /user/filter </test/message
+
+ This is helpful when the system filter adds header lines or sets filter
+ variables that are used by the user filter.
+
+19. The Exiscan patch is now merged into the main source. See src/EDITME for
+ parameters for the build.
+
+20. If the key for a dnsdb PTR lookup is not an IP address, it is used
+ verbatim, without component reversal and without the addition of
+ in-addr.arpa or ip6.arpa.
+
+21. Two changes related to the smtp_active_hostname option:
+
+ (1) $smtp_active_hostname is now available as a variable. Its value
+ sticks with the message and is therefore available in routers and
+ transports at delivery time.
+
+ (2) The default for smtp_banner uses $smtp_active_hostname instead
+ of $primary_hostname.
+
+22. The hosts_max_try_hardlimit option (default 50) is added to the smtp
+ transport. Exim will never try more than this number of IP addresses; if it
+ hits this limit and they are all timed out, the message is bounced, even
+ though not all IP addresses may have been tried. Compare hosts_max_try,
+ which is a "soft" limit, because Exim will exceed it when hosts time out.
+ The new limit is a protection against lunatic DNS configurations with
+ hundreds of IP addresses.
+
Version 4.43
------------