Allow both -bf and -bF in the same test run.
[exim.git] / doc / doc-txt / NewStuff
index ee9f55c31fd1d0a64a6a3c526a1df66e81d54129..f8e31469df8de8db129be37b9f5d0dccb77fc284 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.12 2004/11/19 09:45:54 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.18 2004/11/25 13:54:31 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -16,7 +16,7 @@ Version 4.44
     CONFIGURE_OWNER. It specifies one additional group that is permitted for
     the runtime configuration file when the group write permission is set.
 
- 2. The "control=submission" facility has a new option /retain_sender. This
+ 2. The "control=submission" facility has a new option /sender_retain. This
     has the effect of setting local_sender_retain true and local_from_check
     false for the incoming message in which it is encountered.
 
@@ -108,7 +108,7 @@ Version 4.44
 
     Previously this was a syntax error.
 
-12. There is now a new "record type" that can be specified in dnsdb lookups. It
+12. There is a new "record type" that can be specified in dnsdb lookups. It
     is "zns" (for "zone NS"). It performs a lookup for NS records on the given
     domain, but if none are found, it removes the first component of the domain
     name, and tries again. This process continues until NS records are found
@@ -129,6 +129,91 @@ Version 4.44
     the name servers for the high-level domains such as .com or .co.uk are not
     going to be on such a list.
 
+13. Another new "record type" is "mxh"; this looks up MX records just as "mx"
+    does, but it returns only the names of the hosts, omitting the priority
+    values.
+
+14. It is now possible to specify a list of domains or IP addresses to be
+    looked up in a dnsdb lookup. The list is specified in the normal Exim way,
+    with colon as the default separator, but with the ability to change this.
+    For example:
+
+      ${lookup dnsdb{one.domain.com:two.domain.com}}
+      ${lookup dnsdb{a=one.host.com:two.host.com}}
+      ${lookup dnsdb{ptr = <; 1.2.3.4 ; 4.5.6.8}}
+
+    In order to retain backwards compatibility, there is one special case: if
+    the lookup type is PTR and no change of separator is specified, Exim looks
+    to see if the rest of the string is precisely one IPv6 address. In this
+    case, it does not treat it as a list.
+
+    The data from each lookup is concatenated, with newline separators (by
+    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.
+
+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
+    newline. To specify a different character, put '>' followed by the new
+    character at the start of the query. For example:
+
+      ${lookup dnsdb{>: a=h1.test.ex:h2.test.ex}}
+      ${lookup dnsdb{>| mxh=<;m1.test.ex;m2.test.ex}}
+
+    It is permitted to specify a space as the separator character. Note that
+    more than one DNS record can be found for a single lookup item; this
+    feature is relevant even when you do not specify a list.
+
+    The same effect could be achieved by wrapping the lookup in ${tr...}; this
+    feature is just a syntactic simplification.
+
+16. It is now possible to supply a list of domains and/or IP addresses to be
+    lookup up in a DNS blacklist. Previously, only a single domain name could
+    be given, for example:
+
+      dnslists = black.list.tld/$sender_host_name
+
+    What follows the slash can now be a list. As with all lists, the default
+    separator is a colon. However, because this is a sublist within the list of
+    DNS blacklist domains, it is necessary either to double the separators like
+    this:
+
+      dnslists = black.list.tld/name.1::name.2
+
+    or to change the separator character, like this:
+
+      dnslists = black.list.tld/<;name.1;name.2
+
+    If an item in the list is an IP address, it is inverted before the DNS
+    blacklist domain is appended. If it is not an IP address, no inversion
+    occurs. Consider this condition:
+
+       dnslists = black.list.tls/<;192.168.1.2;a.domain
+
+    The DNS lookups that occur are for
+
+       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.
+
+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
+    puts the queue time on individual delivery lines), the time is tagged with
+    "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.
+
 
 Version 4.43
 ------------