[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Default value of net.ipv6.bindv6only should revert to 0



Quoting "Salvo Tomaselli" <tiposchi@tiscali.it>:

On Tuesday 13 April 2010 07:46:10 Russ Allbery wrote:
It's not an assumption.  It's reality that one has to write code against,
because different platforms do different things.  Even if you could remove
the option from the Linux kernel (retroactively, changing time to remove
all the systems that already exist), that doesn't change the fact that
Solaris and BSD behave differently.
Solaris is a little bit tricky, i would be very careful talking about it.
I've tried opensolaris and it is not posix by default, many calls behave in a
non-posix way because they were introduced in solaris before they were
introduced in posix, so they have different parameters or semantic.

To have posix in solaris, one must use a bunch of flags at compile-time, for
example: -D_POSIX_PTHREAD_SEMANTICS -lsocket -lnsl
After having enabled the posix compatibility, it works as expected on posix
with ipv6only=0.

The bug is bsd-only.

This is the wrong conclusion. The bug is in the apps which rely on a certain default global value to be ever set the way they expect, and behave incorrectly when the default is changed. It is legit to change a default value (regardless what standards says, if you can't change a default value it it then a hard-coded one), and it is pretty lame to assume a default value will never be changed. This assumption also fails on systems where IPv6 sockets are always IPv6-only.


Reply to: