Corrected several mis-calls of is_ip_address() that treated the result
[exim.git] / doc / doc-txt / NewStuff
index 0496b39c529a3d7014ab427c8137a99a582c7392..5d6e915d3b5c9d5b531352139664d29bfdf6fe1b 100644 (file)
@@ -1,4 +1,4 @@
-$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
 --------------------
@@ -9,7 +9,7 @@ updated when there is a relatively large batch of changes). The doc/ChangeLog
 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
@@ -151,9 +151,22 @@ Version 4.44
     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
@@ -198,7 +211,11 @@ Version 4.44
        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
@@ -206,6 +223,38 @@ Version 4.44
     "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
 ------------