Re: [exim-dev] [Bug 1507] New: ":" expected after "def" insi…

Top Page
Delete this message
Reply to this message
Author: Heiko Schlichting
Date:  
To: exim-dev
Subject: Re: [exim-dev] [Bug 1507] New: ":" expected after "def" inside "and{...}" condition
> Kirill Miazine <km@???> (Mi 23 Jul 2014 15:21:20 CEST):
> >
> > I have had the following options on my remote smtp transport for ages:
> >
> >     headers_add = ${if and{\
> >                            {def:sender_host_authenticated}\
> >                            {def:authenticated_id}\
> >                           }\
> >                     {X-Anonymized-by: $smtp_active_hostname
> > ($tod_log)\nADD_HEADERS}\
> >                     {ADD_HEADERS}}
> >     headers_remove = ${if and{\
> >                               {def:sender_host_authenticated}\
> >                               {def:authenticated_id}\
> >                              }\
> >                        {received : dkim-signature : x-mailer : REMOVE_HEADERS}\
> >                        {REMOVE_HEADERS}}

>
> can you verify:
>
>     exim -be '${if and{{def:sender_host_authenticated}{def:primary_hostname}}{YES}{NO}}'

>
> It works for me with 4.83. Does it work for you?


I assume that it is a side effect of commit 7614697 and two possible
solution is given in ChangeLog:

| JH/12 Expand items in router/transport headers_add or headers_remove lists
|       individually rather than the list as a whole.  Bug 1452.

|
|       Required for reasonable handling of multiple headers_ options when
|       they may be empty; requires that headers_remove items with embedded
|       colons must have them doubled (or the list-separator changed).


Colon was overloaded in headers_remove as it is already used as
list-separator. You can change the list-separator (e.g. "<;" for semicolon)
or you double the colons for the def expressions.

This is not a bug.

Heiko

Heiko Schlichting                Freie Universität Berlin
heiko.schlichting@???   Zentraleinrichtung für Datenverarbeitung
Telefon +49 30 838-54327         Fabeckstraße 32
Telefax +49 30 838454327         14195 Berlin