Heiko Schlittermann <[email protected]> (Do 22 Dez 2016 13:41:42 CET):
…
> > temporarily rejected after DATA: failed to expand ACL string
> > "${if >{$spam_score_int}{${eval:10*{${lookup mysql{ SELECT DISTINCT 
> > spam_threshold FROM user WHERE
> > username='${quote_mysql:$local_part}' AND domain='${quote_mysql:$domain}' 
> > AND SMTP_allowed='YES'}}}}}{true}{false}}":
> > error in expression evaluation: expecting number or opening parenthesis 
> > (after processing "10*")
> > 
> > From my point of view the syntax is correct.
> > Can you help me to see the error?
> 
> Syntax is correct, but not the idea behind. In the DATA ACL you can't
> use $local_part, $domain, since you may have multiple recipients.

I've to correct my self. The syntax above isn't correct

    ${eval:10*{…}}      # WRONG

and probably never was.  It *may* be, that older version of Exim
accepted it.

    ${eval:10*${…}}     # RIGHT

should be correct.

The documentation is simple an clear on ${eval:<string>}: String must
(after expansion) yield a conventional arithmetic expression. (my
wording). In the example marked as wrong, the "string" is 10*{…},
which isn't a valid arithmetic expression.

I'm not sure, if there can be even more examples. (Refer to the
spec file around line 9100 (as of 4.84_2, as part of the current stable
debian).

    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
 gnupg encrypted messages are welcome --------------- key ID: F69376CE -
 ! key id 7CBF764A and 972EAC9F are revoked since 2015-01 ------------ -

Attachment: signature.asc
Description: Digital signature

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

Reply via email to