Re: [exim-dev] testsuite breakage

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Jeremy Harris
CC: exim-dev
Subject: Re: [exim-dev] testsuite breakage
On 2012-05-12 at 21:00 +0100, Jeremy Harris wrote:
> Basic-ipv6/1001 recognizing IPv6 address in HELO/EHLO
> ===============f test-mainlog-munged with log/1001 failed
> Line 11 of "test-mainlog-munged" does not match line 11 of "log/1001".
> ----------
> 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 (IPv6 with IPv4)
> ----------
> 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 (IPv6 and IPv4)


> Note the one-word difference (with vs. and). It relates to
> how interfaces and addresses are laid out, somehow
> (cf. daemon.c 1640, 1644).


On some OSes, an IPv6 socket can accept connections made with both IPv4
and IPv6 protocols, and will use IPv6-mapped IPv4 addresses in that case
(::ffff:ipv4 I think).

On some OSes, an IPv6 socket can't.

On some OSes, it's choosable, both as a system-wide default and as a
per-socket option. OpenBSD defaulted this off, reasoning that unaware
developers not knowing how to handle ::ffff:ipv4 address forms would
mess up their ACL logic.

Eg, FreeBSD sysctl "net.inet6.ip6.v6only" for the system-wide knob. And
later socket standards added IPV6_V6ONLY as a sockopt at socket level
IPPROTO_IPV6.

Are you testing on two different systems with different defaults, or
could some daemon's startup script be doing something stupid like tuning
the system-wide default?

-Phil