[exim-dev] [Bug 1141] remote_smtp reuse when should not be

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1141] remote_smtp reuse when should not be
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1141

Phil Pennock <pdp@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED





--- Comment #1 from Phil Pennock <pdp@???> 2011-10-04 10:27:22 ---
The current logic is in deliver.c do_remote_deliveries().

It iterates through remaining addresses, at line 3575, performing the
comparisons.

If we compare the interfaces at this point, based on the transport definitions,
they'll always match, because we'll be expanding the interface strings in the
exact same context.

So I believe that to fix this, we need to:
* add a "interface" field to the struct address_item.
* populate that field during routing, in each router, just after
rf_get_transport() (which deals with transport being expandable).
* it might make sense to do this in rf_queue_add() for the remote case?
* then add a same_hostlist() comparator to deliver.c and use it in the block
at line 3575.

I'm not currently 100% sure that this catches all the cases. So I'm not going
to put this into the 4.77 RC series, it needs more analysis.


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