Re: [exim] add/remove header error after 4.84 update

Top Page
Delete this message
Reply to this message
Author: Jeremy Harris
Date:  
To: exim-users
Subject: Re: [exim] add/remove header error after 4.84 update
On 05/10/14 12:42, Steve Wilson wrote:
> I'm trying to upgrade exim from 4.80 to 4.84 but when running 4.84 I get
> the below error in the logs, an empty message ends up in the mailbox and
> the real message is deferred. I've rolled back as I need this to be
> working but obviously want to get it resolved promptly.
>
> 2014-10-02 07:58:04 1XZaKw-0002K1-GW == user@??? R=mysql_user
> T=local_dovecot_lda defer (-25): Failed to expand headers_add or
> headers_remove: missing } at end of string
>
> Here's the relevant options from the local_dovecot_lda transport.
>
>   headers_remove = Subject
>   headers_add   = "X-SWS-Spam-Threshold: ${lookup mysql{ \
>     SELECT spam_threshold \
>     FROM user \
>     WHERE username='${quote_mysql:$local_part}' \
>     AND domain='${quote_mysql:$domain}' \
>     AND SMTP_allowed='YES' \
>     }{$value}{ERROR}}\n\
>    X-SWS-Spam-Flag: ${if def:header_X-SWS-Spam-Score-Int:{\

[...]

Remove the doublequotes.

The argument for headers_add is a list of strings, newline-separated,
where each string is expanded separately. Quoting the whole thing
confuses the parser.

(The parser had to change to support repeated use of the headers_add
option).

--
Cheers,
Jeremy