Re: exim, local resolver, host name lookups and IPv6
* Marc Haber <email@example.com> [080412 10:30]:
> >I think the main problem is that Debian is by default setting up those
> >ipv6 stuff into the interface even when you are in an pure ipv4
> >environment. That way exim4 cannot do anything to avoid ipv6 stuff
> >and evil things like this can happen.
> Another process on the local system might actually use IPv6 on the
> local links, so I'd vouch for tweaking the system (or exim) to not
> break if IPv6 is enabled but not fully connected.
Yes, that might even be better. Sadly while getaddrinfo(3) has
AI_ADDRCONFIG, it says "IPv6 addresses are only returned if the local
system has at least one IPv6 address configured". (Dunno if something
like "has a working ipv6 setup" instead would be properly detectable
> >I don't think that is only limited to additional lookups. I think I've
> >also seen a message not being sent on etch, because the target host
> >also had a AAAA record. (At least I think that is the reason, after
> >disabling ipv6 in exim4.conf it was sent).
> I'd call that a bug, since exim should have a "destination
> unreachable" error upon trying to open the IPv6 connection in absence
> of a IPv6 default route.
I'd consider that a bug, too. What it should do is use the IPv4 address
of the target host instead.
> >So I fear the solution might not easily be reachable globally. If exim
> >can be fixed here depends on why it does does lookups. (As far as I
> >remember it does not only lookup the hostname, but also things like
> >"localhost", dunno whether this is caused by the term showing up in
> >some configuration file or if it is something hardcoded).
> The only lookup that is still visible on the network (and only in some
> cases that I haven't yet fully nailed down) is an AAAA lookup for the
> local host name on exim startup.
Yes, "localhost" requests are not visible on the network, as long as there
is a localhost ipv6 address in /etc/hosts. What I cannot recall is how good
Debian is/was in also adding those items on upgrade. Perhaps not having
that line in there was a user error.
Bernhard R. Link