[exim] Commas in redirect data

Pàgina inicial
Delete this message
Reply to this message
Autor: Chris Wilson
Data:  
A: exim-users
Assumpte: [exim] Commas in redirect data
Hi all,

Section 22.6 of the manual says of pipe commands:

> If the command contains a comma character, it is necessary to put the
> whole item in double quotes, for example:
>
> "|/some/command ready,steady,go"


I'm trying to write a redirect router that sends data into Redmine's email
handler, which needs commas in some of the parameters, but the technique
mentioned above appears not to work. I have the following router (changed
to use /bin/echo to hide the private key and for a simple repro):

redmine:
# suffix is not optional
local_part_suffix = -redmine
driver = redirect
data = "|/bin/echo foo,bar"
pipe_transport = address_pipe

So it's quoted with double quotes as suggested above, but debugging shows
that the address is split anyway:

--------> redmine router <--------
local_part=pd-redmine domain=aptivate.org
stripped suffix -redmine
checking domains
calling redmine router
rda_interpret (string): |/bin/echo foo,bar
expanded: |/bin/echo foo,bar
file is not a filter file
parse_forward_list: |/bin/echo foo,bar
extract item: |/bin/echo foo
extract item: bar
redmine router generated bar@???
errors_to=NULL transport=NULL
uid=unset gid=unset home=NULL
set transport address_pipe
redmine router generated |/bin/echo foo
pipe, file, or autoreply
errors_to=NULL transport=address_pipe
uid=unset gid=unset home=NULL
routed by redmine router
envelope to: pd-redmine@???
transport: <none>
pd-redmine@??? -> |/bin/echo foo
transport = address_pipe
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing bar@???

So, note that the expanded string has been dequoted, and is subsequently
split in two at the comma. Doubling the quotes in exim.conf results in a
fatal configuration error. What am I doing wrong? Is there a bug in Exim
or the manual?

Cheers, Chris.