Re: [exim] Bug in Expansion conditions

Top Page
Delete this message
Reply to this message
Author: Mike Brudenell
Date:  
To: Exim Users
Subject: Re: [exim] Bug in Expansion conditions
Hi, Karsten -

I can't spot anyone replying to this so, belatedly…

You might be looking at the wrong thing. In your message you seem yo say
that your Exim configuration includes this:

acl_check_data:
      condition = ${if < {$message_size}{1M}}



If so then the error is accurate and is telling you that you've forgotten
to start the statement with a verb. That is, you need something like an
*accept*, *deny* or *warn* before your conditions (such as *condition*).

The verb tells Exim what action to take when all the conditions in the ACL
statement are met.

Cheers,
Mike B-)

On 4 July 2017 at 13:03, Forum <forum@???> wrote:

> Hello Exim developers,
>
> end of the last year i already have a similar problem.
> (Bug in string expansion of exim configuration?)
> After much work it was possible to get an exim configuration running.
>
> Now i want to migrate from Exim version 4.84.2 to the latest release
> 4.89-2 in Debian
> and i run again into backward compatibility problems. :-(
>
>
> Jul 04 11:59:38 PC7 exim4[13134]: 2017-07-04 11:59:38 Exim configuration
> error in line 401 of /etc/exim4/exim4.conf:
> Jul 04 11:59:38 PC7 exim4[13134]: error in ACL: unknown ACL verb
> "condition" in "condition = ${if < {$message_size}{1M}}"
> Jul 04 11:59:38 PC7 exim4[13134]: Warning! Invalid configuration file for
> exim4. Exiting....failed.
>
> acl_check_data:
>
>       condition = ${if < {$message_size}{1M}}

>
> This is accepted without problems in Exim version 4.84.2 but not anymore
> after the upgrade.
>
> And this syntax is still in your documentation:
>
> --------------------
> http://www.exim.org/exim-html-current/doc/html/spec_html/ch-
> string_expansions.html
>
> If both strings are omitted, the result is the string |true| if the
> condition is true, and the empty string if the
> condition is false. This makes it less cumbersome to write custom ACL and
> router conditions. For example, instead of
>
> condition = ${if >{$acl_m4}{3}{true}{false}}
>
> you can use
>
> condition = ${if >{$acl_m4}{3}}
>
> --------------------
>
> So how can i migrate my system without getting crazy with the
> configuration?
> Please help.
>
> Best regards
> Karsten
>
>
> Besides some more documentation errors:
>
> --------------------
> http://www.exim.org/exim-html-current/doc/html/spec_html/ch-
> string_expansions.html#SECTexpcond
> There are a number of symbolic operators for doing numeric comparisons.
> They are:
>
> |= | equal
> |== | equal
> --------------------
>
>
> --
> ## List details at https://lists.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/
>




--
Systems Administrator & Change Manager
IT Services, University of York, Heslington, York YO10 5DD, UK
Tel: +44-(0)1904-323811 <01904%20323811>

Web: www.york.ac.uk/it-services
Disclaimer: www.york.ac.uk/docs/disclaimer/email.htm