[exim] Bug in Expansion conditions

Top Page
Delete this message
Reply to this message
Author: Forum
Date:  
To: exim-users
Subject: [exim] Bug in Expansion conditions
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
--------------------