X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/d4eb88df5bdd76827decfbaed23341ba775fa03e..33397d198607bb789306b1856a9a38aaf9aa9561:/doc/doc-txt/NewStuff diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff index 6de893814..ee9f55c31 100644 --- a/doc/doc-txt/NewStuff +++ b/doc/doc-txt/NewStuff @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/NewStuff,v 1.9 2004/11/11 11:40:36 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/NewStuff,v 1.12 2004/11/19 09:45:54 ph10 Exp $ New Features in Exim -------------------- @@ -70,6 +70,64 @@ Version 4.44 9. $host_address is now set to the target address during the checking of ignore_target_hosts. +10. There are four new variables called $spool_space, $log_space, + $spool_inodes, and $log_inodes. The first two contain the amount of free + space in the disk partitions where Exim has its spool directory and log + directory, respectively. (When these are in the same partition, the values + will, of course, be the same.) The second two variables contain the numbers + of free inodes in the respective partitions. + + NOTE: Because disks can nowadays be very large, the values in the space + variables are in kilobytes rather than in bytes. Thus, for example, to + check in an ACL that there is at least 50M free on the spool, you would + write: + + condition = ${if > {$spool_space}{50000}{yes}{no}} + + The values are recalculated whenever any of these variables is referenced. + If the relevant file system does not have the concept of inodes, the value + of those variables is -1. If the operating system does not have the ability + to find the amount of free space (only true for experimental systems), the + space value is -1. + +11. It is now permitted to omit both strings after an "if" condition; if the + condition is true, the result is the string "true". As before, when the + second string is omitted, a false condition yields an empty string. This + makes it less cumbersome to write custom ACL and router conditions. For + example, instead of + + condition = ${if eq {$acl_m4}{1}{yes}{no}} + + or the shorter form + + condition = ${if eq {$acl_m4}{1}{yes}} + + (because the second string has always defaulted to ""), you can now write + + condition = ${if eq {$acl_m4}{1}} + + 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. Version 4.43