Date: Thu, 30 Jul 2009 16:51:39 +0300 From: Mykola Dzham <freebsd@levsha.org.ua> To: Jamie Gritton <jamie@FreeBSD.org> Cc: freebsd-current@FreeBSD.org, "Bjoern A. Zeeb" <bz@FreeBSD.org>, freebsd-jail@FreeBSD.org Subject: Re: 8.0 still allow creating ipv6 udp socket in jail without ipv6 ip Message-ID: <20090730135139.GF20855@expo.ukrweb.net> In-Reply-To: <4A708261.7000509@FreeBSD.org> References: <20090725163207.GP39538@expo.ukrweb.net> <20090727141808.R245@maildrop.int.zabbadoz.net> <20090729113638.GC20855@expo.ukrweb.net> <20090729121834.B245@maildrop.int.zabbadoz.net> <4A708261.7000509@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Jamie Gritton wrote: > Bjoern A. Zeeb wrote: > > On Wed, 29 Jul 2009, Mykola Dzham wrote: > >> Bjoern A. Zeeb wrote: > >>> On Sat, 25 Jul 2009, Mykola Dzham wrote: > >>>> After r188146 creating tcp ipv6 socket in jail without ipv6 ip is not > >>>> allowed, but udp socket is allowed. > >>> > >>> I cannot really follow what you are trying to say as wrt IPv4 and IPv6 > >>> sockets and what about UDP. > >>> > >>> Your sample further down is trying to use an IPv4 address on an IPv6 > >>> Datagram socket which is an error either way. > >> > >> Some java programms attempt to use ipv6 sockets, then use ipv4 if > >> socket(AF_INET6,...) fail. My sample imitate this > >> > >>> Prior to FreeBSD 7.2 IPv6 hadn't been supported at all for jails. > >>> > >>> With 7.2 it was possible to create IPv6 sockets (but only shortly and > >>> then fail on bind/connect/...). With the commit you reference the > >>> "Protocol not supported" came back in case there was no address of > >>> that address family for a given jail. > >>> > >>> With 8 the primary syntax for jails has changed and the "backward > >>> compat mode" again allows you to create a socket on a jail even if > >>> no address of the same family was configured for the jail. > >>> > >>> This should be addressed by the following patch: > >>> http://people.freebsd.org/~bz/20090727-01-jail8-legacy.diff > >>> > >>> Can you give it a try and report if that fixes your problem? > >> > >> Patch aplied cleanly on r195820 , but jail can not start after patching: > >> > >> # jail -l -U root -i /usr/home/d/guests/tap2 tap2.my.domain.com > >> 10.112.0.151 /bin/sh /etc/rc > >> jail: ip6: unknown boolean value "disable" > > > > r195820 is too old; but Jamie has a better solution; I would suggest > > to backout the jail(8) patch and wait for the next two commits of > > Jamie to HEAD and then update the machine again. > > OK, with r195945 things should be back to disallowing sockets when no > addresses were assigned for that family. You'll need to rebuild the > kernel for the fix, and libjail and possibly jail(8) to get past the > "unknown boolean value" error. On r195949 test program work correctly: it fail on socket(AF_INET6,...) on jail without ipv6 address. Thanks! -- Mykola Dzham, LEFT-(UANIC|RIPE) JID: levsha@jabber.net.ua
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090730135139.GF20855>
