X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/063b1e99b3c8f8fd646b4db4ad87f36952cc9366..7bb56e1f44b539c8b81ef526b9e814e735614168:/doc/doc-txt/NewStuff?ds=sidebyside diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff index d5d340713..810607a5b 100644 --- a/doc/doc-txt/NewStuff +++ b/doc/doc-txt/NewStuff @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/NewStuff,v 1.11 2004/11/17 16:12:26 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/NewStuff,v 1.13 2004/11/19 15:18:57 ph10 Exp $ New Features in Exim -------------------- @@ -108,6 +108,64 @@ 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 + 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 + or there are no more components left (or there's a DNS error). In other + words, it may return the name servers for a top-level domain, but it never + returns the root name servers. If there are no NS records for the top-level + domain, the lookup fails. + + For example, ${lookup dnsdb{zns=xxx.quercite.com}} returns the name + servers for quercite.com, whereas ${lookup dnsdb{zns=xxx.edu}} returns + the name servers for edu, assuming in each case that there are no NS + records for the full domain name. + + You should be careful about how you use this lookup because, unless the + top-level domain does not exist, the lookup will always return some host + names. The sort of use to which this might be put is for seeing if the name + servers for a given domain are on a blacklist. You can probably assume that + the name servers for the high-level domains such as .com or .co.uk are not + going to be on such a list. + +13. 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. + +14. 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{>| mx=<;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. + Version 4.43 ------------