On Tue, Sep 15, 2009 at 07:51:00AM +0200, Roland Clobus wrote:
> On Sat, 2009-09-12 at 15:57 +0200, Bas Wijnen wrote:
> > I'm a bit confused: this is a Debian bug, so the problem presumably
> > exists on Debian systems.  This may be different on GNU/kFreeBSD, but
> > the reporter is using GNU/Linux, like the system I'm testing on.
> > 
> > Anyway, I'm attaching the patch.
> 
> That patch does not work as advertised. I get the error, and the result
> (according to netstat) is that the server only listens on IPv4.
> 
> Somewhere when I upgraded to kernel 2.6.30 Pioneers broke, so I assume
> that the automatic IPv6<->IPv4 bridge was removed.

In that case, the bug may not actually be in Pioneers.  At least it
explains my confusion: I tested it on a stable system, with a 2.6.26
kernel.

I don't see how this can be fixed, if the approach of the patch to
listen twice doesn't work.  In the ipv6(7) man page, it says:

        IPv4 connections can be handled with the v6 API by using the
        v4-mapped-on-v6  address type; thus a program only needs only to
        support this API type to support both protocols.  This is
        handled transparently by  the address handling functions in
        libc.

The reverse does not seem to be the case, however.  So the problem is
that the IPv4 address is returned first, it is listened on, then the
IPv6 address is returned, and the address is already in use.

A solution might be to do the listening in two rounds, first ignoring
all IPv4 addresses and after that using only them (and not warning about
address already in use failures there).  While this works, I consider it
a kernel bug if it really is so hard to do it right.

Steve, do you know more about this?

> I still think that this bug report now contains two bugs reports:
> 1) Fixing playing games with localhost (especially for computer players)
> 2) Making the server IPv6 compliant
> 
> No 1. is fixed, and that fix alone should be enough to make a new
> release.
> It would be nice if no 2. would be fixed, but that can be done slightly
> later.

I agree that they are separate problems, and that 1. is more severe.
However, since IPv6 support is a release goal for Debian, I would like
to have 2. fixed at least before the freeze as well.  (It was originally
planned in november, I think, but is probably a bit later still.)  So if
it can be fixed in the same release, I would prefer that.

Thanks,
Bas

Attachment: signature.asc
Description: Digital signature

Reply via email to