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

Reply via email to