Re: [Exim] strange behaviour with .forward files

Página Principal
Apagar esta mensagem
Responder a esta mensagem
Autor: Philip Hazel
Data:  
Para: Phil Chambers
CC: exim-users
Assunto: Re: [Exim] strange behaviour with .forward files
On Wed, 14 Jul 1999, Phil Chambers wrote:

> backtoexacuk:
> driver = smartuser
> domain = user
> no_rewrite
> new_address = ${local_part}@???
> new_director = system_aliases
>
> anotherdirector:
> ...
> ...
>
> system_aliases:
> driver = aliasfile
> ...
>
> userforward:
> driver = forwardfile
> ...
>
> localuser:
> etc.
> etc.
>
> The problem is:
> For an address in the "user" domain, the first time through the path is into the
> backtoexacuk director which sets up the new address and then to the system_aliases
> director and then to the userforward director. Here the user has "\username" in
> the .forward file, so that is picked up and we start again. When it gets to the
> backtoexacuk director again Exim says "backtoexacuk director skipped: previously
> directed to username@user" and it passes on to the "anotherdirector" director
> instead of going the same way as the first time! I can see that the address must
> not loop, so it should not look in the .forward file again, but if it had not
> found a .forward file in the first place it would have dropped through for local
> delivery. Now it gets munged by "anotherdirector"!



One concept you may have got wrong. When an aliasfile or forwardfile
generates a new name, it is reprocessed *from the top*; it doesn't drop
through to the next director (otherwise you couldn't have aliases
generating other aliases).

I don't understand the problem properly. You start off with
localpart@user, and this gets turned into localpart@??? and passed
to the alias and forward handling. The user's forwardfile turns this
into "username", but that \ should cause it to retain the incoming
domain, so it should be username@???. In that case, I don't see why
it is giving out that error about "previously directed" since it should
skip that director because the domain isn't "user". It would still end
up at anotherdirector, of course.

Now, if the forward file didn't have the \ and your qualify_domain was
set to "user" then I would expect the behaviour you have reported.




-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.