Allow both strings to be omitted in "${if" expansions: the true value
[users/jgh/exim.git] / doc / doc-txt / NewStuff
index b8cf61cc9396013ad002feba21e930fccc5bdf25..d5d3407139a2e7a3ec61d353b702b1aabf91c6ea 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.5 2004/11/04 10:42:11 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.11 2004/11/17 16:12:26 ph10 Exp $
 
 New Features in Exim
 --------------------
 
 New Features in Exim
 --------------------
@@ -33,6 +33,81 @@ Version 4.44
     options control which type(s) of filtering are permitted. By default, both
     Exim and Sieve filters are allowed.
 
     options control which type(s) of filtering are permitted. By default, both
     Exim and Sieve filters are allowed.
 
+ 6. A new option for callouts makes it possible to set a different (usually
+    smaller) timeout for making the SMTP connection. The keyword is "connect".
+    For example:
+
+       verify = sender/callout=5s,connect=1s
+
+    If not specified, it defaults to the general timeout value.
+
+ 7. The new variables $sender_verify_failure and $recipient_verify_failure
+    contain information about exactly what failed. In an ACL, after one of
+    these failures, the relevant variable contains one of the following words:
+
+      qualify       the address was unqualified (no domain), and the message
+                    was neither local nor came from an exempted host;
+
+      route         routing failed;
+
+      mail          routing succeeded, and a callout was attempted; rejection
+                    occurred at or before the MAIL command (that is, on initial
+                    connection, HELO, or MAIL);
+
+      recipient     the RCPT command in a callout was rejected;
+
+      postmaster    the postmaster check in a callout was rejected.
+
+    The main use of these variables is expected to be to distinguish between
+    rejections of MAIL and rejections of RCPT.
+
+ 8. The command line option -dd behaves exactly like -d except when used on a
+    command that starts a daemon process. In that case, debugging is turned off
+    for the subprocesses that the daemon creates. Thus, it is useful for
+    monitoring the behaviour of the daemon without creating as much output as
+    full debugging.
+
+ 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.
+
 
 Version 4.43
 ------------
 
 Version 4.43
 ------------