[exim-dev] [Bug 1312] New: system filter, multiple recipient…

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1312] New: system filter, multiple recipients, extra > prefix in actual recipient address
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1312
           Summary: system filter, multiple recipients, extra > prefix in
                    actual recipient address
           Product: Exim
           Version: 4.80.1
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: bug
          Priority: medium
         Component: General execution
        AssignedTo: pdp@???
        ReportedBy: pdp@???
                CC: exim-dev@???



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 >molly.fletcher@???
> 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.

>  5957 After routing:
>  5957   Local deliveries:
>  5957     /var/log/exim4/filtertest
>  5957     >molly.fletcher@???


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.

> 5960 set_process_info: 5960 delivering 1TMfc9-0001Xe-R0 to
>>molly.fletcher@??? 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?


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email