On Wed, 23 Jan 2002, Edmund GRIMLEY EVANS wrote:
> *: edmund
> edmund: ege
>
> in /etc/aliases, and no mention of ege, a local part like foobar
> causes a cycle: foobar -> edmund -> ege -> edmund -> ...
Ah well, yes, it would.
> Now, exim seems to resolve a cycle by rewriting exactly once, which
> fails in this case because "edmund" is a not a real local user.
A strict statement is: Exim resolves by not rewriting the same address
twice in the same director (which is I guess what you were saying).
> It might be helpful if exim -bt -d10 could give some kind of warning
> about there being a cycle.
It should have included a line like this:
system_aliases director skipped: previously directed edmund@...
which is its way of saying that.
> It seems that using "*" in /etc/aliases is not the way to do it
> because probably you want to check for local users before applying the
> default rule. So probably I should use a separate director in
> exim.conf added after all the other directors. What I have done is to
> duplicate the director quoted above, but with the file name
> /etc/aliases2, where that file has a single line "*: edmund". I think
> it's working now.
>
> Perhaps this solution, or a neater one, should be given in the FAQ, if
> it's not already there.
A neater one is to use a smartuser director with the new_address option.
Saves you having to have an alias file with a single line.
There is an item in the FAQ about this, but it recommends using * in
/etc/aliases. It probably needs tidying up. I'll put this on a list for
the Exim 4 FAQ.
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.