RE: [Exim] Problems with hosts_treat_as_local in exim 4.12

Top Page
Delete this message
Reply to this message
Author: Richard.Hall
Date:  
To: 'exim-users@exim.org'
Subject: RE: [Exim] Problems with hosts_treat_as_local in exim 4.12
On Wed, 28 May 2003, Philip Hazel wrote:

> On Wed, 28 May 2003, Kai Risku wrote:
>
> > For those of you loving to read lots of debugging output, here goes:
>
> Thanks for the full information. I will work through it in due course.
> There does seem to be prima facie evidence of a bug, though:
>
> >    domainlist local_domains = !zaphod.arrak.fi : !raingod.arrak.fi : \
> >        arrak.fi : *.arrak.fi : \
> >        partial-lsearch;/etc/exim/virtuals
> >    hosts_treat_as_local = +local_domains

>
> > raingod.arrak.fi in "!zaphod.arrak.fi : !raingod.arrak.fi : arrak.fi :
> > *.arrak.fi : partial-lsearch;/etc/exim/virtuals"? no (matched
> > "!raingod.arrak.fi")
>
> That's correct.
>
> > raingod.arrak.fi in "! +local_domains"? yes (end of list)
>                        ^^^^^^^^^^^^^^^^

>
> Something wrong there, because your setting is "+local_domains", not
> "! +local_domains". I wonder where that additional ! is coming from?


I may well be wildly wrong, but that looked to me like the domains
condition on a typical dnslookup router instance ...

> --------> dnslookup router <--------
> local_part=krisku domain=raingod.arrak.fi
> checking domains
> raingod.arrak.fi in "!zaphod.arrak.fi : !raingod.arrak.fi : arrak.fi :
> *.arrak.fi : partial-lsearch;/etc/exim/virtuals"? no (matched
> "!raingod.arrak.fi")
> raingod.arrak.fi in "! +local_domains"? yes (end of list)


... would correspond to a router like

dnslookup:
driver = dnslookup
domains = ! +local_domains
...etc...

... which makes sense (to me; YMMV)

What struck me as more interesting was what came next ...

[...]
> calling dnslookup router
> dnslookup router called for krisku@???
> domain = raingod.arrak.fi
> DNS lookup of raingod.arrak.fi (MX) succeeded
> raingod.arrak.fi in hosts_treat_as_local? no (end of list)
> mail.arrak.fi in hosts_treat_as_local? no (end of list)

[...]

... shouldn't that last one be 'yes'? As indeed it was in the 'corrected'
version:-

> Changing the exim.conf as follows:
>
>     hosts_treat_as_local = !zaphod.arrak.fi : !raingod.arrak.fi : \
>             arrak.fi : *.arrak.fi : \
>             partial-lsearch;/etc/exim/virtuals

>
> results in the following correct behaviour:

[...]
> raingod.arrak.fi in hosts_treat_as_local? no (matched "!raingod.arrak.fi")
> mail.arrak.fi in hosts_treat_as_local? yes (matched "*.arrak.fi")
> local host in host list - removed hosts:
> mail.arrak.fi 195.163.186.67 10
> mail.digemo.fi 194.100.79.129 20

[...]


HTH,
Richard