Allow both strings to be omitted in "${if" expansions: the true value
[exim.git] / doc / doc-txt / NewStuff
index f66a9e81a33770b7f0f66fd1fe933272c7b9e355..d5d3407139a2e7a3ec61d353b702b1aabf91c6ea 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.4 2004/10/21 15:24:42 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.11 2004/11/17 16:12:26 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -28,6 +28,86 @@ Version 4.44
     of the current ACL statement. If you want to preserve it, you can use one
     of the ACL variables.
 
+ 5. The redirect router has two new options: forbid_sieve_filter and
+    forbid_exim_filter. When filtering is enabled by allow_filter, these
+    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
 ------------