On Fri, Oct 12, 2012 at 7:10 AM, Molly Fletcher
<[email protected]> wrote:
>> If you run a second exim on a different port, started with -d on the
>> command-line, that _should_ propagate.

> That worked:
>
>  5958 3095 bytes read from /etc/exim4/exim.filter
>  5958 data is an Exim filter program
>  5958 Filter: start of processing
<snip>
>  5958 Filter: save message to: /var/log/exim4/filtertest
>  5958 Filter: mail to: [email protected]

The above plain address becomes:

>  5957   original recipients ignored (system filter)
>  5957 system filter added >[email protected]

This is processed and detected starting at line 5018 in src/deliver.c.
 It is the original code since Philip Hazel imported it, so I don't
think it's the problem.  It detects it properly.  The '>' is a flag of
sorts, it indicates to the upcoming code that it is a local delivery
and not a file or pipe.

Comments at line 5321 indicate that the '>' are used a little more at
that point, but I can't see what use it provides past this point.

      /* If a filter file specifies two deliveries to the same pipe or file,
      we want to de-duplicate, but this is probably not wanted for two mail
      commands to the same address, where probably both should be delivered.
      So, we have to invent a different unique string in that case. Just
      keep piling '>' characters on the front. */

>  5957 system filter added /var/log/exim4/filtertest
>  5957 Delivery address list:
>  5957   >[email protected]
>  5957   /var/log/exim4/filtertest

It does seem that by this it should have removed the '>' from the
front of the email address.

Has nobody ever used this before and noticed that email addresses
still have this '>' character in front of them?  Googling didn't find
any for me.

<snip>
>  5957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>  5957 Considering: >[email protected]
>  5957 unique = >[email protected]:system-filter
>  5957 queued for local_delivery transport
>  5957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>  5957 Considering: /var/log/exim4/filtertest
>  5957 unique = /var/log/exim4/filtertest:system-filter
>  5957 queued for address_file transport
>  5957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>  5957 After routing:
>  5957   Local deliveries:
>  5957     /var/log/exim4/filtertest
>  5957     >[email protected]

Shortly after the above, line 5994 calls do_local_deliveries().  No
checking of the leading character for '>' was done past this point
that I could find.

<snip>
>  5959 changed uid/gid: local delivery to /var/log/exim4/filtertest
> </var/log/exim4/filtertest> transport=address_file
>  5959   uid=104 gid=112 pid=5959
>  5959   auxiliary group list: <none>
>  5959   home=NULL current=/
>  5959 set_process_info:  5959 delivering 1TMfc9-0001Xe-R0 to
> /var/log/exim4/filtertest using address_file
<snip>
>  5957 --------> >[email protected] <--------

And when do_local_deliveries() calls deliver_local (actually does the
transport delivery), it seems like it definitely should have been
stripped by then.

<snip>
>  5960 changed uid/gid: local delivery to >[email protected]
> <>[email protected]> transport=local_delivery
>  5960   uid=104 gid=112 pid=5960
>  5960   auxiliary group list: <none>
>  5960   home=NULL current=/
>  5960 set_process_info:  5960 delivering 1TMfc9-0001Xe-R0 to
>>[email protected] using local_delivery

This line is printed in src/transport.c:1862 by:
  set_process_info("delivering %s to %s using %s", message_id,
     addr->local_part, addr->transport->name);

...so that means it thinks local_part is the whole email address plus
the > on the front.

IMHO, it's possible that these '>' should be stripped somewhere in the
do_local_deliveries() function in src/receive.c:2126.  But why has
this never been noticed before?  If just the email address or just the
maildir are defined, does it still do this?

...Todd
-- 
The total budget at all receivers for solving senders' problems is $0.
 If you want them to accept your mail and manage it the way you want,
send it the way the spec says to. --John Levine

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to