Re: [exim] Bug in exim 4.67 string expansion parser?

Top Page
Delete this message
Reply to this message
Author: Marc Sherman
Date:  
To: exim-users
Subject: Re: [exim] Bug in exim 4.67 string expansion parser?
Thomas Jacob wrote:
> The following ACL clause causes an error
>
> accept condition = ${if and { {!def:h_STUFF} \
>          {eq {$h_From:} {hq@???}} } {true}{false} }

>
>
> "temporarily rejected after DATA: failed to expand ACL string "${if and
> {{!def:h_STUFF} {eq {$h_From:} {hq@???}}} {true}{false}}":
> missing } at end of condition inside "and" group"
>
> but using two (equivalent?) condition clauses works
>
>   accept   condition = ${if !def:h_STUFF {true}{false}}
>            condition = ${if eq {$h_From:} {hq@???} {true}{false}}


Put a colon at the end of h_STUFF. Without the colon, exim tries to work
out what you meant, but in the case where there's no whitespace, it
can't, because the } is a valid character in a header name.

- Marc