On 2008-10-03 at 09:26 +0200, Rejo Zenger wrote: > Still, I am not sure if I have understood you correctl:
That's okay, I had to read it over myself. The "regular user system
code" should be read as "regular system usercode". I knew there was
something wrong with it but was too tired to parse. Sorry.
> So, for example, I have a message for foo@???, which is a
> virtual domain on the server. Messages for foo@??? are to be
> forwarded to local user bar on the same server (say system.example.net).
> The final destination would become bar@???.
>
> The message is going thru the routers twice, first for the delivery of
> the message to foo@??? and then, after expansion, for the second
> address. Right? If this router with this condition is after the one that
> does the alias expansion the router would only check for the username
> bar instead of both foo and bar. Is that what you are saying?
Yes.
Yes.
You have it right. I suspect you need to think over the logic a bit to
account for this case and what you actually want the constraint to be.
It might be that, in a router with check_local_part, so that it's
destined for a system user account (user is in getpwnam() database) then
you want to check $original_local_part instead of $local_part.
Or not. I forget the details of what you were doing, now.