Added the hosts_max_try_hardlimit option. (The removed file is left over
[exim.git] / doc / doc-txt / NewStuff
index f8e31469df8de8db129be37b9f5d0dccb77fc284..5d6e915d3b5c9d5b531352139664d29bfdf6fe1b 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.18 2004/11/25 13:54:31 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.25 2005/01/04 16:36:27 ph10 Exp $
 
 New Features in Exim
 --------------------
 
 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.
 
 
 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
 ------------
 
  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.
 
     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
 
 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
        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
 
 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
@@ -214,6 +231,30 @@ Version 4.44
     This is helpful when the system filter adds header lines or sets filter
     variables that are used by the user filter.
 
     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
 ------------
 
 Version 4.43
 ------------