[EXIM] local_domain!=qualify_domain, check_ancestor doesn't …

Top Page
Delete this message
Reply to this message
Author: Andrew V Kovalev
Date:  
To: exim-users
Subject: [EXIM] local_domain!=qualify_domain, check_ancestor doesn't work
We have following setup:

there are three machines (called horse, hound and tiger). horse and
hound used by users, tiger just routes mail.

I want to receive all mail for domain jet.msk.su on tiger and from there
forward it to horse or hound.

Mail generated on horse or hound should go to tiger and from there be routed
back to horse or to hound (or to outer world).

tiger has a file (NIS map to be exact) specifying where users receive their
mail (horse or hound).

Everything works as expected but the following case:

if a user ivan on say, horse, has a .forward file containing:

someone@???
\ivan

he expects to receive a copy of incoming mail at his mailbox on horse and
another one copy sent to someone@???. But instead the second line
of his .forward generates ivan@??? and the message is passed to
tiger, where it is looked up in forwardtable again, sent back to horse ad
infinitum. It seems that check_ancestor doesn't work when qualify_domain
are not recognized as local domains. Looks like a bug to me.

Of course the second line in that .forward file can be changed to
"/var/mail/ivan", in which case everything works as expected. But I want to
preserve compatibility with other mailers.


Relevant parts of configuration files follow:

tiger global configuration says:

primary_hostname = tiger.jet.msk.su
qualify_domain = jet.msk.su
qualify_recipient = jet.msk.su
local_domains = jet.msk.su:tiger.jet.msk.su:tiger

Tiger also has director forwardtable
forwardtable:
driver = aliasfile;
file = forwardtable,
search_type = nis,


Horse global configuration has:

primary_hostname = horse.jet.msk.su
qualify_domain = jet.msk.su
qualify_recipient = jet.msk.su
local_domains = horse.jet.msk.su !! Note: jet.msk.su is NOT a local domain!

Directors configuartion:

userforward:
driver = forwardfile;
check_ancestor,
file = .forward,


Routers configuration:
lookuphost:
driver = lookuphost,
transport = remote_smtp;
gethostbyname = true
smarthost:
driver = domainlist,
transport = remote_smtp;
route_list = "* tiger.jet.msk.su bydns_a"




--
--
"An NT server can be run by an idiot, and usually is." -- Tom Holub


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