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
signature.asc
Description: Digital signature