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
--------------------