>>>>> Mark Baker writes:
Mark> I had problems with a machine on the local network not being allowed to
Mark> relay, when it definitely should have been allowed to (it matches
Mark> 10.0.0.0/8, which was in host_accept_relay).
Mark> I traced the problem to a line in check_host() where it converts the textual
Mark> form of the IP address back into binary to test it. It does:
Mark> insize = host_aton(host_address, incoming);
Mark> All the documentation I can find for host_aton suggests that it isn't
Mark> supposed to return a length, but merely any positive value on success, and
Mark> that it only works for IPv4 addresses. With linux (glibc 2.1.1) it does
Mark> appear to return a length, and to work with proper IPv6 addresses, but fails
Mark> to cope (fills in incoming with garbage) with IPv4 compatibility addresses
Mark> (like ::ffff:10.0.0.3) which, in a world where most people still use IPv4,
Mark> makes a copy of exim compiled with IPv6 support unusable.
host_aton is a exim internal function. There was a bug in glibc
2.1.1pre2 which had some problems with matching all numeric hosts (see
PR libc/1096 and 1109) but there's no known problem in glibc 2.1.1.
If you're running 2.1.1pre2, please upgrade to 2.1.1 final - otherwise
please explain in more details what's wrong - with glibc or with
exim. I've to admit that your report doesn't make sense to me.
Andreas
--
Andreas Jaeger aj@??? jaeger@???
for pgp-key finger ajaeger@???
--
*** Exim information can be found at
http://www.exim.org/ ***