X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/4b2241d2228351057f63f954de46b0449288e3ba..6a8de8541c16d12eceab2c6610cd209e7641217a:/doc/doc-docbook/spec.xfpt diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 7a9698e57..8254bee51 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -1,4 +1,4 @@ -. $Cambridge: exim/doc/doc-docbook/spec.xfpt,v 1.82 2010/06/06 02:08:50 pdp Exp $ +. $Cambridge: exim/doc/doc-docbook/spec.xfpt,v 1.84 2010/06/07 08:23:20 pdp Exp $ . . ///////////////////////////////////////////////////////////////////////////// . This is the primary source of the Exim Manual. It is an xfpt document that is @@ -9812,6 +9812,17 @@ For example: ${if bool{$acl_m_privileged_sender} ... .endd +.vitem &*bool_lax&~{*&<&'string'&>&*}*& +.cindex "expansion" "boolean parsing" +.cindex "&%bool_lax%& expansion condition" +Like &%bool%&, this condition turns a string into a boolean state. But +where &%bool%& accepts a strict set of strings, &%bool_lax%& uses the same +loose definition that the Router &%condition%& option uses. The empty string +and the values &"false"&, &"no"& and &"0"& map to false, all others map to +true. + +Note that where &"bool{00}"& is false, &"bool_lax{00}"& is true. + .vitem &*crypteq&~{*&<&'string1'&>&*}{*&<&'string2'&>&*}*& .cindex "expansion" "encrypted comparison" .cindex "encrypted strings, comparing" @@ -15669,6 +15680,9 @@ router is skipped, and the address is offered to the next one. If the result is any other value, the router is run (as this is the last precondition to be evaluated, all the other preconditions must be true). +This option is unique in that multiple &%condition%& options may be present. +All &%condition%& options must succeed. + The &%condition%& option provides a means of applying custom conditions to the running of routers. Note that in the case of a simple conditional expansion, the default expansion values are exactly what is wanted. For example: @@ -15679,6 +15693,12 @@ Because of the default behaviour of the string expansion, this is equivalent to .code condition = ${if >{$message_age}{600}{true}{}} .endd +A multiple condition example, which succeeds: +.code +condition = ${if >{$message_age}{600}} +condition = ${if !eq{${lc:$local_part}}{postmaster}} +condition = foobar +.endd If the expansion fails (other than forced failure) delivery is deferred. Some of the other precondition options are common special cases that could in fact be specified using &%condition%&.