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

[usagi-announce] 2001/05/28 snapshot

Hello !

We will release the latest snapshots.
Sorry for delay of releasing.

During the last two weeks, the USAGI kernel was introduced many
changes regarding bind(2) semantics. We tried to clarify the
behaviors of IPv6 and IPv4 bind(2). Currently each of OS has
different bind(2) behavior. As for programming of dual stack
capable application, it is a confusing issue,  we decided our
policy of IPv6 and IPv4 bind(2) behaviors including SO_REUSEPORT
and SO_REUSEADDR options. It inherits and respect the behaviors
most of original Linux kernel, but we introduce IPV6_V6ONLY rule. 
If you use IPV6_V6ONLY option, you can bind both of IPv6 and IPv4
sockets on the same port. As for REUSE options, we removed
SO_REUSPORT option once which was introduced in USAGI kernel.
As for detail, we should write IMPLEMENTATION document... please

BTW, we will be able to release the first beta version ofUSAGI
IPsec stack very soon :-)

Please try today's snaps.
        usagi-20010528-linux24.tar.bz2  (for linux24 systems)
        usagi-20010528-linux22.tar.bz2  (for linux22 systems)
You can get them from <ftp://ftp.linux-ipv6.org/pub/usagi/snap/kit/>.

Here is changelogs.
2001/05/26      yoshfuji
        * kernel/linux2{2,4}/{include/asm-*/socket.h,net/ipv4/udp.c,
        - as a result of local discussion, we've decided not to introduce
        SO_REUSEPORT socket options.
        - By theory, SO_REUSEPORT-like behavior is allowed only if the
        addresses are multicast addresses.
        - Don't mix SO_REUSEADDR and SO_REUSEPORT.
        * kernel/linux2{2,4}/{net/ipv4/udp.c,net/ipv4/tcp_ipv4.c,
        - Re-introduce uid check when binding by IPV6_V6ONLY rule.
        * kernel/linux24/net/{ipv4/udp.c,ipv4/tcp_ipv4.c,ipv6/udp.c,
        ipv6/tcp_ipv6.c}: fixed moderate-reuse support.

        and CONFIG_IPV6_DOUBLE_BIND will become default soon.

2001/05/23      yoshfuji
        * kernel/linux2{2,4}/net/{ipv4/udp,ipv4/tcp_ipv4,ipv6/udp,
        ipv6/tcp_ipv6}.c: Removed uid check when binding by IPV6_V6ONLY

2001/05/23      yoshfuji
        * kernel/linux24/net/{ipv4/tcp_ipv4,ipv6/tcp_ipv6}.c:
        fixed bind(2) semantics for TCP sockets with
        CONFIG_NET_NEW_BIND_SEMANTICS; binding socket with SO_REUSExxx
        should be succeeded even if existing sockets were in listen state.
        (found by bindtest(1) tool)

2001/05/22      yoshfuji
        * {usagi,src}/bindtest: build and install bindtest. (from KAME)

2001/05/22      yoshfuji
        * kernel/linux2{2,4}/net/ipv6/raw.c: Do not allow user to do
        bind(2)/sendmsg(2) with port number other than 0 or protocol that
        has been specified to the socket(2) call for raw sockets.

2001/05/22      takamiya
        * src/radvd/send.c: ensure to initialize destination socket address
        structure when sendint RA message; previously, bind(2) failed with

2001/05/22      yoshfuji
        * src/iputils/ping6.c: fixed typo, which all subsequent replies
        were considered as DUPs after receiving 1024 replies.
        (from Andreas Ferber <aferber@xxxxxxxxxxxxxxxxxxxxxxxx>)

2001/05/21      yoshfuji
        * kernel/linux2{2,4}/net/ipv4/udp.c: fixed typo with
        CONFIG_NET_NEW_BIND_SEMANTICS, which caused strange behavior
        in specific ipv4 vs specific ipv4 case.

2001/05/20      yoshfuji
        * kernel/linux2{2,4}/net/ipv6/icmp.c:
        - icmpv6 checksum error is now considered as KERN_WARNING level.
        - print type, code and source address against unknown icmpv6 message
        if CONFIG_IPV6_DEBUG is set; otherwise, don't print anything.
        - Silent discard invalid Node Information Query message without
        * kernel/linux2{2,4}/net/ipv6/mcast.c:
        - socket creation failure is now on KERN_ERR level.
        - MLD6 without linklocal address is now on KERN_WARNING level.

2001/05/17      takamiya
        * kernel/linux24/net/ipv6/mobile_ip6/ha.c: fixed ND option parsing
        in ha_nsol_rcv().

2001/05/17      yoshfuji
        * kernel/linux24/net/ipv6/mobile_ip6/mipv6.c: fixed kernel oops while
        receiving icmpv6 message; bug was introduced while sync'ing with linux
        * kernel/linux24/net/ipv6/mobile_ip6/tunnel.c: more sync with
        linux-2.2.4; likewise.
        * kernel/linux24/net/ipv6/mobile_ip6/ha.c: fixed ND source lladdr
        option handling; this bug was introduced on March 6th.

2001/05/16      yoshfuji
        * kernel/linux2{2,4}/{net/ipv4/ipip.c,net/ipv6/sit.c,
        src/iproute2/ip/iptunnel.c, src/net-tools/iptunnel.c:
        tunlXX device can transport ipv6 packet with CONFIG_NET_IPIP_IPV6;
        IPv6 over IPv4 support and IPv4 over IPv4 support has been integrated
        and sitXX will be dissappeared.

        Note: You should use patched command(s) to manipulate tunnels.

        XXX: modulized ipv6 and ip tunneling interactions.

        * usagi/configure{,.in},usagi/iptunnel: build and install iptunnel.

2001/05/16      yoshfuji
        * kernel/linux24/net/ipv4/utils.c: fixed in6_addr{} human-readable
        format in in_ntop(); 128 and above was printed as negative.

2001/05/16      yoshfuji
        * kernel/linux2{2,4}/net/ipv4/{ipip,ip_gre}.c: ensure to set
        tunnel device name to internal tunnel parameter; now the ip
        command (in iproute2 package) and iptunnel command (in net-tools
        package) should work well.

2001/05/15      yoshfuji
        * src/iputils/tracepath6.c: fixed SEGV with -n/-b option but
        without target.

-- Yuji Sekiya @ USAGI Project