On Mon, Apr 12, 2010 at 11:12:36AM -0700, Russ Allbery wrote: > Salvo Tomaselli <tipos...@tiscali.it> writes: > > On Monday 12 April 2010 18:19:08 Marco d'Itri wrote: > >> You keep missing the point. Let me try with shorter sentences, if you > >> still do not get it maybe I can try a puppets show.
"Standards good. BSD bug bad." I hope that's short enough. > > So we introduce bugs in kernel to workaround bugs in daemons? > > The way to fix the bug in the daemon is to always use IPV6_V6ONLY in the > networking code because no other way of handling listening sockets with a > dual stack is even remotely sane. > > Until the daemon is modified to either use IPV6_V6ONLY or to deal with > IPv4-mapped addresses, it's going to be broken, A daemon that's not modified to support anything but IPv4 uses the old style interface. If you support getaddrinfo() from start, you know about IPv6. > > Open a bugreport _IF_ you can find any real daemon with this kind of > > problem. > > Just about every daemon I've ever seen had this problem in its original > conversion to IPv6 support. I've fixed it in all of my code by using > IPV6_V6ONLY as soon as I became aware of its existence. Instead of listening on a single socket, you need to change every single daemon to include a select() loop. That's explicitely allowed by all relevant RFCs and by POSIX, so breaking that is quite a regression. -- 1KB // Microsoft corollary to Hanlon's razor: // Never attribute to stupidity what can be // adequately explained by malice. -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100412195303.ga18...@angband.pl