https://bugs.exim.org/show_bug.cgi?id=2335
--- Comment #2 from Jeremy Harris <jgh146exb@???> ---
There's a worrying comment in retry.c :-
/* If this is a deferred address, and retry processing was requested by
means of one or more retry items, and they all timed out, move the address
to the failed queue, and restart this loop without updating paddr.
If there were several addresses batched in the same remote delivery, only
the original top one will have host retry items attached to it, but we want
to handle all the same. Each will have a pointer back to its "top" address,
and they will now precede the item with the retries because addresses are
inverted when added to these final queues. We have saved information about
them in passing (below) so they can all be cut out at once. */
First off, for this situation I see (with added instrumentation) two retry
items (one for each host tried) for each of the two addresses (in the
testcase),
and they are attached to the addresses separately. So the comment is wrong in
that. I don't see _why_ "we want to handle all the same". It's unclear which
"all" we mean.
The coding and comment goes all the way back to version 2.03 in 1998.
--
You are receiving this mail because:
You are on the CC list for the bug.