On Wed, 2009-10-28 at 11:16 +0300, Vasiliy G Tolstov wrote:
> I have this acl to protect from mail forgery:
>
> deny message = X-ACL-DKIM: Possible mail
> forgery
> !dkim_status = pass
> dkim_signers = SYS_DOMAINS_LOCAL
> condition = ${if {match_domain{${domain:
> $h_From:}}{SYS_DOMAINS_LOCAL}}{yes}{no}}
> !hosts = +SYS_HOSTS_WHITE
>
> Why i get now in exim logs this message:
>
> Oct 22 10:15:21 selfip exim[22391]: [1\17] [22391] 1N0qxF-0005p9-7l
> H=[UNAVAILABLE] (62-47-210-44.adsl.highway.telekom.at)
> [62.47.210.44]:40428 I=[127.0.0.1]:25 temporarily rejected DKIM : failed
> to expand ACL string "${if {match_domain{${domain:
> $h_From:}}{SYS_DOMAINS_LOCAL}}{yes}{no}}": condition name expected, but
> found "{match_domain{${"
You need:
${if match_domain{${domain:$h_From:}}{SYS_DOMAINS_LOCAL}{yes}{no}}
Your second opening brace is superfluous and separates the condition
from the "if".
Graeme