[EXIM] Obscure director bug in Prefix/Suffix + Unseen

Top Page
Delete this message
Reply to this message
Author: Troy Cobb
Date:  
To: 'exim-users@exim.org'
Subject: [EXIM] Obscure director bug in Prefix/Suffix + Unseen

I recently discovered what I believe is a bug when one uses the
combination of prefix/suffix and unseen in a director.

Typically, using prefix or suffix matches on local parts with that
string in the beginning or end. The local_part is stripped of that
string and this new address is passed along for transport/routing/etc.
if matched.

However, if the director is also set as unseen, to allow the address it
is directing to be tried by other directors in line, then the address
that is passed along as unseen is the STRIPPED local_part, not the
original. My expectation would be that further directors would be given
a shot at the prefixed/suffixed address, but this original address does
not seem to be being pushed back onto the director stack, instead being
replaced by the stripped address.

Here's a quick example:

director_one:
unseen,
prefix=local-,
transport=local_delivery,
driver=localuser;

director_two:
prefix=local-
driver=aliasfile;
file=/path/to/special/aliasfile/for/additional/addresses

In this case, an address of "local-somebody@???" will get
matched by director_one, which sends it to local_delivery. In addition,
it is marked as unseen and sent along to director_two, which WILL NOT
MATCH the address, because the address being sent along is just
somebody@???.

Of course, this could all be by design, and I'm just misinterpreting the
documentation. :) I'll look into the code later to determine the place
this is occuring.

- Troy

--
*** Exim information can be found at http://www.exim.org/ ***