			CHANGELOG for USAGI kit

$USAGI: CHANGELOG.USAGI.2001,v 1.1.2.1 2002/03/22 18:12:30 yoshfuji Exp $

<200112>
2001/12/31	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: fixed idev leakage in
	neigh_ifdown() with CONFIG_IPV6_PRIVACY.

2001/12/28	yoshfuji
	* src/linux-ftpd/ftpd/ftpcmd.y: fixed memory leak on EPRT.
	(from Hiroyuki YAMAMORI <h-yamamo@db3.so-net.ne.jp>)

2001/12/25    sekiya
	* kernel/linux24/net/ipv6/ip6_fib.c, addrconf.c: re-implemented
	CONFIG_IPV6_EN_DFLT; when a linux box act as an IPv6 router, 
	IPv6 default route is recognized as a REAL default route.

2001/12/20	takamiya
	* kernel/linux24/net/ipv6/netfilter/ip6_tables.c: fixed ip6_nexthdr()
	to skip extension headers correctly.

2001/12/10	yoshfuji
	* kernel/linux24/net/ipv4/ipip.c:
	- fixed ECN decapsulation.

2001/12/09	yoshfuji
	* Makefile: KERNEL_SOURCE to specify kernel source directory
	on make prepare; default is ../../kernel/$(TARGET), which is
	one for usagi kernel.

2001/12/05	sekiya
	* kernel/linux24/net/ipv6/ip6_fib.c, addrconf.c: re-implemented
	CONFIG_IPV6_EN_DFLT; when a linux box act as an IPv6 router,
	IPv6 default route is recognized as a REAL default route.

2001/12/04	yoshfuji
	* usagi/libinet6/{Makefile.in,include_glibc22/Makefile.in}:
	ensure to remove garbage on distclean.  
	(from Masahito Omote <omote@sapmed.ac.jp>)

<200111>
2001/11/28	yoshfuji
	* src/iputils/traceroute6.c: fixed memory allocation size,
	which cause overrun with too small data-size (<12).

2001/11/21	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/route.c: send ICMPv6 Destination
	Unreachable (no route to destination) instead of Destination
	Unreachable (address unreachable) if no route found for the
	destination.
	(This fix was tried to be commited in August, but it was not
	done at all...)

2001/11/20	serizawa
	* kernel/linux24/net/atm/ipv6atm.c:
	- fix bug that incoming packet will always be absorbed into the
	last network interface.

2001/11/15	yoshfuji
	* src/bindtest/bindtest.c:
	- multicast support.
	- removed SO_REUSEPORT things, which had gone.
	- stop with getaddrinfo() failure.
	- sync with KAME.

2001/11/15	yoshfuji
	* kernel/linux2{2,4}/net/{ipv4/{udp,tcp_ipv4},ipv6/{udp,tcp_ipv6}}
	- assume SO_REUSEADDR SO_REUSEPORT for multicast; check for
	multicast was not correct for ipv4.

2001/11/12	takamiya
	* kernel/linux24/net/ipv6/ndisc.c: don't dst_release() with 
	uninitalized argument.

2001/11/12	kunitake
	* kernel/linux22/net/ipv6/addrconf.c,
	kernel/linux22/net/ipv6/Config.in: verbose debugging messages
	for default source address selection. (backport from linux24)

2001/11/12	kunitake
        * kernel/linux22/include/net/addrconf.h,
	kernel/linux22/net/ipv6/addrconf.c: added default source address
	selection based on <draft-ietf-ipngwg-default-addr-select-05.txt>.
	XXX: We don't support Policy Table yet. (backport from linux24)

2001/11/11	yoshfuji
	* kernel/linux22/net/ipv6/addrconf.c: fixed prefix length
	of link-local addresses.

2001/11/10	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/route.c: re-fix default router 
	selection by round-robin rule, that was tried to be fixed on
	22nd August.

2001/11/09	yoshfuji
	* src/iputils/ping6.c: default test pattern was not filled in the 
	last 8 octets of the echo requests.

2001/11/08	yoshfuji
	* kernel/linux2{2,4}/include/net/ndisc.h: fixed alignment issue
	on some platform(s) such as ARM; could not parse NDP messages 
	correctly.  (report from Guido Barzini <guido.barzini@virata.com>)

2001/11/07	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/ip6_input.c: drop packets with possibly
	malicious source/destination addresses:
	- multicast source address
	- unspecified destination address
	- loopback src/dst address from other than loopback device
	XXX: interface local?

2001/11/05	yoshfuji
	* kernel/linux22: linux-2.2.20.

2001/11/04	yoshfuji
	* kernel/linux24/net/ipv6/sit.c: fixed typo that causes dead lock
	with CONFIG_NET_IPIP_IPV6; from Fred L. Templin" <templin@erg.sri.com>.

2001/11/02	mk
	* kernel/linux24/net/ipv6/ipsec6/{ipsec6_input.c,ipsec6_utils.c}:
	handle lifetime bytes

2001/11/01 takamiya
	* kernel/linux24/net/netsyms.c, kernel/linux24/net/ipv6/addrconf.c,
	kernel/linux24/ipv6/mobile_ip6.c: fixed to be is selected home address 
	regarding to the source address selection rule.

2001/11/01	takamiya
	*kernel/linux24/net/ipv6/mobile_ip6/bcache.c:
	fixed for bcache management for CN: reported from
	Krishna Kumar<krkumar@us.ibm.com>.

<200110>
2001/10/28	kunitake
	* src/iptables: iptables-1.2.4

2001/10/28	kunitake
	* kernel/linux24/net/ipv6/netfilter/ip6t_agr.c:
	  - sync with iptables-1.2.4

2001/10/25	yoshfuji
	* kernel/linux24/net/ipv6/{ipv6_sockglue.c,datagram.c}: 
	- changed type of option variable for IPV6_TCLASS from u8 to int; 
	the ID will be integrated into the RFC2292bis with this new 
	definition.
	- getsockopt(2) support for IPV6_TCLASS and IPV6_RECVTCLASS.

2001/10/25	mk 
	* kernel/linux24/net/ipv6/ipsec6/{sadb.c sadb_utils.h, 
	  sockaddrtoa.c spd.c spd_utils.c},
	  usagi/pfkey_util/pfkey.c :
	 - port selection (by Parijat Mishra <parijat@cwc.nus.edu.sg>)

2001/10/24	yoshfuji
	* kernel/linux24: linux-2.4.13.

2001/10/23	yoshfuji
	* kernel/linux22/net/ipv6/addrconf.c: fire addrconf_verify()
	with more accurate interval.

2001/10/23	mk
	* usagi/pfkey_util/ipsec-set.in:
	- for easy testing.

2001/10/22	miyazawa
	* kernel/linux24/include/net/{ipesc6_utils.h,sadb.h,spd.h}
	kernel/linux24/net/ipv6/ipsec6/{calc_hmac.h,ipsec6_input.c,
	ipsec6_output.c,ipsec6_utils.c,pfkey_v2_msg.c,pfkey_v2_msg_add.c,
	pfkey_v2_msg_delete.c,pfkey_v2_msg_flow.c,pfkey_v2_msg_get.c,
	sa_index.c,sadb.c,sadb_utils.h,spd.c,spd_utils.c}:
	- change the definition of sa_indexes in policy from list to pointer 
	of sa_index
	- It was superfluous and cause of confusion that a sa_index was defined
	as list in struct ipsec_sp.

2001/10/22	yoshfuji
	* usagi/libinet6/if{addrs,names}.c, libc/glibc2{1,2}/sysdeps/
	unix/sysv/linux/if{addrs,names}.c: 
	- fixed duplicate free() when memory allocation was failed.
	- stop realloc() if buffer size has reached upper limit.
	(from Arkadiusz Miskiewicz <misiek@pld.ORG.PL> and
	Jakub Bogusz <qboosh@pld.org.pl>)

2001/10/22	yoshfuji
	* kernel/linux24/{include/net/if_inet6.h,net/ipv6/addrconf.c}:
	re-implemented privacy extensions support:
	- fixed kernel oops while tempaddr re-generation.
	- fixed preferred / valid life time calculation of tempaddr.
	- avoid tempaddr re-generation storm.
	XXX: linux22 is still broken.

2001/10/22	mk 
	* kernel/linux24/net/ipv6/ipsec6/{pfkey_v2_msg_flow,
	  pfkey_v2_msg_delete, spd}.c:
	- fixed SADB_{DELETE,DELFLOW} bug.
	  (by <latten@austin.ibm.com>)

2001/10/20	mk
	* kernel/linux24/net/ipv6/ipsec6/ipsec6_{input,output,init}.c:
        - separated ipsec6_main.c into ipsec6 input/output/init files. 
	- split ipsec input_check between esp and ah.

2001/10/16	mk & miyazawa
	* kernel/linux24/net/ipv6/ipsec6/ipsec6_utils.c:
	- fixed a silly esp bug (which caused oops).

2001/10/11	yoshfuji
	* kernel/linux24: linux-2.4.12

2001/10/10	yoshfuji
	* kernel/linux24: linux-2.4.11

2001/10/10	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/mipv6.c: fixed not to change
	source address to care-of address when home address options is not
	attached.

2001/10/10	takamiya
	* kernel/linux24/net/netsyms.c: fixed unresolved symbol. 

2001/10/04	sekiya
	* libc/glibc22: sync with glibc-2.2.4 and
	glibc-linuxthreads-2.2.4.

2001/10/04	yoshfuji
	* src/iputils/ping6.{c,8}: changed name of -a option to -6.

2001/10/03	yoshfuji
	* kernel/linux24/net/ipv6/raw.c: fixed checksum calculation
	of fragmented packets for raw sockets.

2001/10/02	yoshfuji
	* kernel/linux24/net/ipv4/{tcp_ipv4.c,ipv6/tcp_ipv6.c}:
	fixed dead lock with CONFIG_SMP when port allocation fails.

2001/10/01	yoshfuji
	* kernel/linux22/net/ipv4/{tcp_ipv4,udp}.c:
	fixed compilation error without ipv6 (again...).

<200109>
2001/09/29	yoshfuji
	* src/iputils/ping6.{c,8}: added new dummy suboption for -a 
	and -4 options to query NI without flags.

2001/09/24	yoshfuji
	* kernel/linux24/{include/net/neighbour.h,net/core/neighbour.c,
	net/ipv6/ndisc.c,net/ipv6/route.c,net/decnet/dn_neigh.c,
	net/ipv4/arp.c}:
	- reworked neighbor cache mechanism; passed more conformance
	test items.
	- more strict locking.  more check needed.

2001/09/24	yoshfuji
	* kernel/linux24: linux-2.4.10.

2001/09/22	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: fixed kernel hang with
	CONFIG_IPV6_PRIVACY when received RAs.

2001/09/17	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c: fixed oops when received
	Node Information Query for information other than IPv4 addresses
	with IPv4 Subject Address.  People should apply this fix.

2001/09/16	kunitake
	* kernel/linux24/{include/linux/netfilter_ipv6,net/ipv6/netfilter}:
	Integrated patch from iptables-1.2.3.

2001/09/15      kita
	* kernel/linux24/include/net/addrconf.h,
	kernel/linux24/net/ipv6/addrconf.c: added default source address
	selection based on <draft-ietf-ipngwg-default-addr-select-05.txt>.
	XXX: We don't support Policy Table yet.

2001/09/15	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c: don't fill temporary addresses
	into NI Reply for addresses.  Also, subject address should not be 
	a temporary one.

2001/09/15	serizawa
	* kernel/linux24/include/linux/{atmipv6.h,atmioc.h},
        kernel/linux24/include/net/atmiov6.h, 
        kernel/linux24/net/atm/{Makefile,Config.in,ipv6atm.c,common.c,proc.c}:
        src/atm/*: added IPv6 PVC (i.e. IPv6 over ATM) support.

2001/09/13	takamiya
	* kernel/linux24/include/net/{ipv6.h,mipglue.h,ndisc.h},net/netsyms.c:
	to be able to use MIPL even if ipv6 is statically linked.

2001/09/13	takamiya
	* src/miplv6/mipdiag.c: fix against core dump when mipv6_sas.conf
	doesn't have newline at the end of file.

2001/09/13	yoshfuji
	* kernel/linux24/net/ipv6/ndisc.c: drop lladdr option if the size
	of the option is not appropriate; kernel might panic if neighbor
	sends shorter lladdr option.

<200108>
2001/08/30	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/{halist.h,halist.c,mipv6.c}:
	remove router who advertise lifetime with 0 from HA List.
	(Problem reported by Krishna Kumar <kkumar@sequent.com>)

2001/08/29	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: repaired 
	net/ipv6/conf/*/forwarding sysctls:
	- revived sysctls for other than "all".
	- it changed the flag on device with ifindex == 1 (usually lo).
	  (from David Stevens <dlstevens@us.ibm.com>)
	- join / leave link-scope all routers address.
	  (from David Stevens <dlstevens@us.ibm.com>)

2001/08/24	yoshfuji
	* kernel/linux24/net/ipv6/ndisc.c: process RS and update NCE.
	XXX: linux22

2001/08/23	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/route.c: send ICMPv6 Destination
	Unreachable (no route to destination) instead of Destination 
	Unreachable (address unreachable) if no route found for the
	destination.

2001/08/23	yoshfuji
	* kernel/linux24/net/ipv6/exthdr.c: fixed pointer of ICMPv6
	Parameter Problem (erroneous header field) against odd-value header 
	length / non-zero routing type.

2001/08/23	sekiya
	* usagi/src/netkit-telnet/telnetd/{telnetd.c,utility.c}: fixed
	a buffer overflow security hole of in.telnetd.
	(from SecurityFocus <http://www.securityfocus.com/archive/1/203000>)

2001/08/22	sekiya & yoshfuji
	* kernel/linux2{2,4}/net/ipv6/route.c:
	- fixed kernel oops if it couldn't select a default router
	In such case, use the addrconf default route.  If failed, give up.
	Bug was introduced on 20th August.
	- don't forget a default router even if no default routers found
	because it may be for other hosts.

2001/08/21	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: Implemented the
	Jim Bound's rule.  Without this change, auto-configured
	addresses with short valid lifetime may expire every valid 
	lifetime even if RAs received with in their lives.
	(Problem reported by Alakoski Teemu <alakoski@cs.tut.fi>,
	commented by Pekka Savola <pekkas@netcore.fi>)

2001/08/20	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/route.c: 
	- ensure to respect outgoing interface when selecting the default 
	router.
	- select the default router not only from routers in REACHABLE state 
	but also from routers in STALE, DELAY or PROBE states. 
	- always select the same router from Default Router List if it
	is known to be (probably) reachable.  Otherwise, a possibility 
	of PMTU changing should increase.
	- ensure to select the default router from Default Router List in a
	round-robin fashion when none of them are known to be (probably) 
	reachable.
	* kernel/linux22/net/ipv6/route.d: don't be too verbose in
	the default router selection.

2001/08/19	yoshfuji
	* kernel/linux24/net/core/neghbour.c: refined timer for NDP states.
	XXX: linux22

2001/08/17	yoshfuji
	* kernel/linux24/net/ipv6/mobile_ip6/mipv6.c: repair checksum 
	calculation.  bug was introduced on 2nd August.

2001/08/17	yoshfuji
	* kernel/linux24: linux-2.4.9.

2001/08/16	yoshfuji
	* kernel/linux24: linux-2.4.8.

2001/08/15	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/mcast.c: fixed device multicast list 
	leakage with listeners without specifying device index.
	(from David Stevens <dlstevens@us.ibm.com>)

2001/08/10	yoshfuji
	* kernel/linux22/net/ipv6/addrconf.c: rewrite not to get negative 
	value as a result of lifetime calculation.
	* kernel/linux24/net/ipv6/addrconf.c: removed redundant and 
	problematic code that causes arithmetic overflow.

2001/08/10	sekiya
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: forbid to assign a same IPv6
	address on a same interface.

2001/08/10	takamiya
	* usagi/mipdiag/configure.in: set the directory for the lock file to 
	/var/lock/subsys or /var/lock.

2001/08/10	takamiya
	* src/miplv6/network-mip6.conf: set the location of mipv6_sas.conf
	to /usr/local/v6/etc.

2001/08/08	yoshfuji
	* usagi/libinet6/ifaddrs.c, libc/glibc2{1,2}/sysdeps/unix/sysv/
	linux/ifaddrs.c: use sockaddr_ll{} to represent link-layer addresses.
	Note: all applications that get link-layer addresses via getifaddrs()
	should be updated.

2001/08/08	yoshfuji
	* src/iputils/ping6.c: don't try to reverse lookup without -H 
	option.

2001/08/07	miyazawa
	* kernel/linux24/arch/{alpha,arm,i386,m68k,mips,ppc,sparc,
	sparc64}/config.in, kernel/linux24/drivers/block/loop.c, 
	kernel/linux24/include/linux/loop.h, kernel/crypto, 
	kernel/include/asm-{alpha,arm,i386,m68k,mips,ppc,sparc,sparc64}/
	wordops.h, kernel/include/linux/{crypto,wordops}.h:
	Merged these kerneli codes.
	License / patent of some algorithms in kerneli is not obvious.
	These are base on kerneli for 2.4.3, but we've changed some code 
	to avoid license / patent matter and fit version 2.4.7.
	Supported algorithms are DES, 3DES, SHA1, MD5.
	<http://www.kerneli.org>

2001/08/06	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: fixed address validation
	timer; some address might not become invalid when two or more
	addresses were deprecated at the same timer period.

2001/08/06	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: fixed typo that causes
	adress did not change betbeen boots.

2001/08/06	yoshfuji
	* kernel/linux24/include/net/mipglue.h,
	kernel/linux24/net/ipv6/exthdrs.c, 

2001/08/02	takamiya
	kernel/linux24/net/ipv6/mobile_ip6,
	src/mipv6, usagi/mipdiag: imported HUT Mobile IPv6 implementation
	<http://www.mipl.mediapoli.com/download/mipv6-0.9-v2.4.7.tar.gz>
	XXX: compiled but not tested.

2001/08/06	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c: Fill the TTL fields in
	NI IPv6 Address reply.

2001/08/05	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: more fixes against leakage 
	with CONFIG_IPV6_PRIVACY; that causes kernel stuck on
	netdevice_unregister().

<200107>
2001/07/31	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/{access.c,access.h}: fixed for
	compile error of multiple definition variables.

2001/07/26	yoshfuji
	* usagi/libinet6/{getifaddrs.3,Makefile.in}: manpage for 
	getifaddrs(3).

2001/07/24	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: fixed a idev leakage with
	CONFIG_IPV6_PRIVACY; that causes kernel stuck on 
	netdevice_unregister().

2001/07/24	yoshfuji
	* kernel/linux24: linux-2.4.7.

2001/07/20	yoshfuji
	* src/net-tools/ifconfig.c: default prefix length is 128.

2001/07/19	miyazawa & mk
	* usagi/pfkey_util : manipulate ipsec SA/SP database.

2001/07/18	mk
	* kernel/linux24/net/ipv6/ipsec6/ksadbd.c: ipsec SA lifetime handling
	daemon.

2001/07/18	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: if use_tempaddr > 1, prefer a
	temporary address as a source address, otherwise prefer a public 
	address as a source address.

2001/07/17	yoshfuji
	* kernel/linux2{2,4}/net/{ipv4/{udp.c,tcp_ipv4.c},
	ipv6/{udp.c,tcp_ipv6.c}}: removed !CONFIG_NET_NEW_BIND_SEMANTICS and
	!CONFIG_IPV6_DOUBLE_BIND things.
	* kernel/linux2{2,4}/{include/net/sock.h,net/{ipv4/{udp.c,tcp_ipv4.c},
	net/ipv6/{udp.c,tcp_ipv6.c}}: use uid_t to hold uids.
	* kernel/linux22/{include/net/tcp.h,net/ipv4/{tcp_input.c,tcp_ipv4.c},
	net/ipv6/tcp_ipv6.c}, kernel/linux24/{include/net/tcp.h,
	net/ipv4/{tcp_minisocks.c,tcp_ipv4.c},net/ipv6/tcp_ipv6.c}: fixed 
	oops with CONFIG_NET_MODERATE_REUSE and/or 
	CONFIG_IPV6_MODERATE_DOUBLE_BIND.

2001/07/16	yoshfuji
	* kernel/linux22/net/ipv6/addrconf.c: don't try to add the
	same timer twice.

2001/07/14	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: 
	- ensure to re-generate temporary addresses.
	- fixed handling of valid / preferred lifetime in RAs.
	- added temporary interface identifier validation described in
	  <draft-ietf-ipngwg-temp-addresses-v2-00.txt>.
	- prefer public addresses over temporary addresses on source
	address selection.

2001/07/13	yoshfuji
	* kernel/linux24/{include/net/{addrconf.h,if_inet6.h},
	include/linux/{sysctl.h,rtnetlink.h},net/ipv6/addrconf.c}: 
	Privacy extension (RFC 3041) support.
	XXX: linux22

2001/07/12	yoshfuji
	* kernel/linux22/{include/net/addrconf.h,net/ipv6/addrconf.c,
	net/ipv6/ndisc.c,net/ipv6/Config.in}: EUI-64 format is now 
	mandatory; removed provider-based things.
	* kernel/linux2{2,4}/{include/net/addrconf.h,
	net/ipv6/addrconf.c/net/ipv6/Config.in}: 
	CONFIG_IPV6_ACONF_MIN_VALID_LFT is now mandatory.
	clean-up.  fixed ifp leak on small lifetime.

2001/07/11	yoshfuji
	* src/mipv6 and usagi/mipv6: build and install mipdiag mobile
	ipv6 tool.  Update kernel configuration checking tool.

2001/07/10	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: prevent users from 
	configuring a multicast address as a local address.
	XXX: anycast
	XXX: source address selection
	(comment from Yuchung Cheng <yccheng@stsl.siemens.com.tw>)

2001/07/09	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/tcp_ipv4.c, 
	kernel/linux24/net/ipv4/udp.c: fixed compilation error without
	ipv6.  (from KUSUNOKI Masanori <masanori@linux.or.jp>)

2001/07/07	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c:
	- prefix length of link-local scope address is now 64, not 10.
	- prefix length of ipv6/ipv4 tunnel is;128 for p-2-p devices,
	64 for non-p-2-p devices.

2001/07/07	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: perform state
	changes with more sufficient accuracy.  That was done every
	120 secs.

2001/07/06	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: set RTF_NONEXTHOP for
	P-2-P tunlXX device.

2001/07/05	yoshfuji
	* kernel/linux22/net/ipv4/arp.c: fixed kernel oops; don't
	perform neigh_release(NULL).  (from Jacek Konieczny 
	<jajcus@bnet.pl>)

2001/07/05	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: fixed interface identifier
	of ARCnet interfaces.

2001/07/04	yoshfuji
	* kernel/linux24: linux-2.4.6.

2001/07/03	miyazawa & mk
	* kernel/linux24: IPsec transport mode AH support.
	At this moment, you need to install FreeS/WAN userland commands.
	Please read doc/README.USAGI-IPSEC for further details.

<200106>
2001/06/29	yoshfuji
	* Makefile and so on: use <linux/*> and <asm/*> only from
	userland codes; don't use kernel internal <net/*> headers.

2001/06/28	yoshfuji
	* {usagi/libinet6,libc/glibc21/sysdeps/unix/sysv/linux,
	libc/glibc22/sysdeps/unix/sysv/linux}/ifaddrs.c:
	IPIP6 tunnel (ARPHRD_TUNNEL6) support.

2001/06/28	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/ipip.c: fixed compilation 
	error without CONFIG_IPV6_6TO4_NEXTHOP.

2001/06/26	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: fixed typo:
	ipv6_addr_cmp() used by source address selection algorythm
	considered only the first 4 bytes.  (from David Stevens 
	<dlstevens@us.ibm.com>)

2001/06/24	yoshfuji
	* kernel/linux2{2,4}/{net/ipv4/ipip.c,net/ipv6/sit.c}: 
	CONFIG_IPV6_6TO4_NEXTHOP: Allow 6to4 addresses as
	next-hop.  (from Pekka Savola <pekkas@netcore.fi>)

2001/06/23	yoshfuji
	* kernel/linux2{2,4}/net/{,ipv6/}Config.in: stick
	CONFIG_NET_NEW_BIND_SEMANTICS and CONFIG_IPV6_DOUBLE_BIND 
	options enabled.

2001/06/23	yoshfuji
	* src/net-tools/{ifconfig.c,lib/interfaces.c,include/interfaces.h}:
	print tunnel source and destination addresses.

2001/06/21	takamiya
	* src/radvd/device-linux.c: fixed Segmentation fault when sending RA.

2001/06/21	yoshfuji
	* Makefile: make a link to kernel include directory;
	please perform "make prepare" with TARGET argument.
	* doc/INSTALL.USAGI: TARGET argument has been added.

2001/06/21	yoshfuji
	* {src,usagi}/radvd: radvd-0.6.2pl4.

2001/06/20	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: SIOCSIFDSTADDR ioctl
	support with CONFIG_NET_IPIP_IPV6.

2001/06/20	takamiya
	* kernel/linux24/net/ipv6/exthdrs.c: fix length calculation of
	AH header.

2001/06/20	yoshfuji
	* kernel/linux24/net/core/dev.c: don't copy too many bytes on
	SIOC{GIFHWADDR,GIFHWBROADCAST,SIFHWBROADCAST} ioctls.

2001/06/19	yoshfuji
	* kernel/linux24/net/ipv6/exthdrs.c: ensure to parse TLV options in
	dst / hbh options; bug was introduced in linux-2.4.4.

2001/06/19	yoshfuji
	* kernel/linux2{2,4}/net/core/dev.c: implemented SIOCGIFHWBROADCAST
	ioctl.  XXX: magic number is not assigned.

2001/06/19	yoshfuji
	* kernel/linux2{2,4}/include/linux/skbuff.h: icmp6h as a "transport 
	layer" header.

2001/06/19	yoshfuji
	* kernel/linux2{2,4}/net/core/dev.c: respect dev->addr_len on 
	SIOC{GIFHWADDR,SIFHWBROADCAST} ioctl.

2001/06/18	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c: reply null or truncated hostname
	if hostname is invalid.

2001/06/18	yoshfuji
	* kernel/linux24/net/ipv4/ipip.c: do not allow too small packet.

2001/06/16	yoshfuji
	* kernel/linux22/net/ipv4/ipip.c: SIOC{ADD,CHG}TUNNEL ioctl did not
	accept ipv6/ipv4 tunneling.

2001/06/14	yoshfuji
	* usagi/libinet6/Makefile.in: define _USAGI to use SA_LEN() and
	fixed unresolved symbol in rexec_af() on glibc22 platforms.
	* usagi/iptunnel/{version.h,.prepare}: fixed compilation
	error; version.h was not included / generated.

2001/06/14	yoshfuji
	* kernel/linux24/net/ipv6/ndisc.c: repair ND / SAA; bug was introduced
	on May 30th.

2001/06/13	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c: don't reply hostname with
	zero-length label, which is invalid.

2001/06/12	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/ha.c: fixed unresolved symbol.

2001/06/12	yoshfuji
	* kernel/usagi/lib/md5.c: Don't use static storage on big-endian
	architectures.

2001/06/11	yoshfuji
	* kernel/linux24/net/ipv6/icmp.c: repair PMTU discovery.
	(from Daiki Ueno <ueno@unixuser.org>)

2001/06/10	yoshfuji
	* src/iputils/traceroute6.c: Don't print bogus scope-id with
	kernel without scope-id support.

2001/06/06	yoshfuji
	* src/linux-ftpd/ftpd.c: wake-up IPv6 only support;
	- you can run another ftpd for IPv4 clients other than server for
	IPv6 clients.
	- if you want to serve for IPv4 clients via ipv4-mapped address, 
	use -4 option.

2001/06/05	yoshfuji
	* kernel/linux22/{include/net/sock.h,net/ipv4/udp.c,
	net/ipv4/tcp_ipv4.c,net/ipv6/udp.c}: fixed oops with 
	CONFIG_NET_MODERATE_REUSE and CONFIG_IPV6_MODERATE_DOUBLE_BIND;
	sk->socket could be NULL.

2001/06/05	yoshfuji
	* kernel/linux22/net/ipv6/icmp.c: fixed some typo to repair ICMPv6 
	Node Information Queries support.  Bug was introduced on May 7.

<200105>
2001/05/30	yoshfuji
	* kernel/linux24: linux-2.4.5

2001/05/26	yoshfuji
	* kernel/linux2{2,4}/{include/asm-*/socket.h,net/ipv4/udp.c,
	net/ipv4/tcp_ipv4.c,net/ipv6/udp.c,net/ipv6/tcp_ipv6.c}:
	CONFIG_NET_NEW_BIND_SEMANTICS:
	- 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,
	net/ipv6/udp.c,net/ipv6/tcp_ipv6.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.

	Note: CONFIG_NET_NEW_BIND_SEMANTICS, CONFIG_NET_MODERATE_REUSE
	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
	rule with CONFIG_NET_NEW_BIND_SEMANTICS.

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 
	EINVAL.

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@techfak.uni-bielefeld.de>)

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
	CONFIG_IPV6_NODEINFO_DEBUG.
	* 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
	2.2.4.
	* 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,
	net/ipv6/addrconf.c,net/ipv6/af_inet6.c,Documentation/Configure.help},
	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.

2001/05/14	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/{udp,tcp_ipv4}.c:
	fixed compilation error while building modulized ipv6
	with CONFIG_NET_NEW_BIND_SEMANTICS.

2001/05/11	yoshfuji
	* usagi/libinet6/include_glibc22/bits/socket.h:
	#define __flexarr for glibc-2.2 or earlier glibc22 systems to
	fix compilation error.  (found by Seiichi YAMAMOTO 
	<yama@hongo.wide.ad.jp>)

2001/05/07	yoshfuji
	* kernel/linux24/net/ip6/mobile_ipv6/ha.c: more sync with linux-2.4.4.
	XXX: compiled but not tested.

2001/05/07	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c and so on:
	Use sk_buff{} to build Node Information Reply packet.
	CONFIG_IPV6_NODEINFO_MAX_ADDRS has been disappeared.

2001/05/02,07	yoshfuji
	* kernel/linux24: linux-2.4.4.

2001/05/01	sekiya
	* usagi/ndp/: provide ndp command which is compatible with KAME.
	It is based on KAME ndp and iproute2 package.
	XXX: implemented only '-a' option.
	XXX: expire times of each ndp entry

2001/05/01	sekiya
	* libc/glibc22: sync with glibc-2.2.3 and glibc-linuxthread-2.2.3.

<200104>	
2001/04/30	yoshfuji
	* kernel/linux2{2,4}/include/asm-*/socket.h, 
	kernel/linux2{2,4}/include/net/sock.h, kernel/linux2{2,4}/core/sock.c: 
	implemented SO_REUSEPORT.
	* kernel/linux2{2,4}/net/{ipv4/udp.c,ipv4/tcp_ipv4.c,
	ipv6/udp.c,ipv6/tcp_ipv6.c} etc.: New bind(2) semantics has been 
	introduced with CONFIG_NET_NEW_BIND_SEMANTICS.  Hilights are:
	- Now we do not allow double bind as default;  it is allowed only if 
	IPV6_V6ONLY socket option is set to the inet6 socket.
	- implemented SO_REUSExxx more strictly.
	- binding more specific interfaces attack are forbidden.
	XXX: fast-reuse
	XXX: more description

2001/04/19	yoshfuji
	* usagi/src/net-tools: net-tools-1.60
	<http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-1.60.tar.bz2>.

2001/04/17	yoshfuji
	* usagi/{finger,talkd,write}/configure.in, 
	src/bsd-finger/{lprint.c,sprint.c}, src/netkit-ntalk/talkd/announce.c,
	src/netwrite/write/write.c et.al.: check for <time.h> and <sys/time.h>
	and include them where it is needed.

2001/04/12	yoshfuji
	* kernel/usagi/drivers/net/jt1lin.c et.al: Imported
	driver for Level One Communications's GN-1000SX gigabit
	ethernet adapter.
	XXX: linux22 only.
	XXX: modules only.

2001/04/02	sekiya
	* kernel/linux24: linux-2.4.3

2001/04/02	sekiya
	* src/radvd: radvd-0.6.2

<200103>
2001/03/30	yoshfuji
	* kernel/linux22/net/ipv6/ipv6_sockglue.c: fixed optlen checks for
	IPV6_{JOIN,LEAVE}_GROUP setsockopt(2); it must be sizeof (struct
	ipv6_mreq), not sizeof(int).  (reported by NAKAMURA Takumi 
	<canalian@owari.ne.jp>)

2001/03/28	yoshfuji
	* kernel/linux22: linux-2.2.19

2001/03/21	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/{udp.c,tcp_ipv4.c}:
	fixed bind(2) behavior without CONFIG_IPV6_DOUBLE_BIND:
	one6->one4 case was not allowed.

2001/03/20	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/{udp.c,tcp_ipv4.c},
	kernel/linux2{2,4}/net/ipv6/{udp.c,tcp_ipv6.c}:
	Changed CONFIG_IPV6{_,_MODERATE_}DOUBLE_BIND bahavior;
	Now you don't need the same uid for
	1) {wild4,one4,map4} -> one6
	2) one6 -> one4

2001/03/17	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/{udp.c,tcp_ipv4.c},
	kernel/linux2{2,4}/net/ipv6/{udp.c,tcp_ipv6.c}: 
	CONFIG_IPV6_MODERATE_DOUBLE_BIND: Moderate double bind bahavior; 
	later socket's uid must be the same as previoues ones.

2001/03/17	yoshfuji
	* kernel/linux22/net/ipv4/{udp.c,tcp_ipv4.c}, 
	kernel/linux22/net/ipv6/{udp.c,tcp_ipv6.c}: 
	implemented moderate SO_REUSEADDR semantics; prevent other users
	from performing 'bind closer' type attacks.

2001/03/17	yoshfuji
	* kernel/linux22/net/ipv6/icmp.c: fixed arg for in_ntoa() 
	used with CONFIG_IPV6_NODEINFO_DEBUG.

2001/03/14	yoshfuji
	* kernel/linux22/net/ipv6/icmp.c: improved ICMPv6 Node 
	Information Queries support.
	- support NODEADDR and IPV6ADDR qtypes.
	- refine subject address validation.
	- clean-up: sync with linux24.

2001/03/14	yoshfuji
	* kernel/linux22/net/ipv6/{reassembly.c,tcp_ipv6.c}: correct 
	pointer type: struct net_device{} in linux24 should be struct 
	device{} in linux22.

2001/03/12	yoshfuji
	* kernel/linux24/include/net/ndisc.h: external reference.
	* kernel/net/netsyms.c: don't export ndisc_next_option() and 
	and ndisc_parse_options() for moodulized ipv6.
	- problem reported from Pekka Savola <pekkas@netcore.fi>

2001/03/09	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/udp.c: clarify ip version in
	debug message.

2001/03/08	yoshfuji
	* kernel/linux22/net/ipv6/{datagram,tcp_ipv6}.c: fixed typos;
	scope_id support did not work well for tcpv6 on linux22.
	(report from Arkadiusz Miskiewicz <misiek@pld.org.pl>, found by
	<agaran@pld.org.pl>)

2001/03/07	yoshfuji
	* kernel: unify common sources between linux22 and linux24;
	moved lib/md5.c, include/linux/md5.d, net/ipv6/utils.c from
	kernel/linux2{2,4} into kernel/usagi.

2001/03/06	yoshfuji
	* kernel/linux24/{Documentation/Configure.help,
	include/net,net}: imported HUT Mobile IPv6 implementation
	<http://www.mipl.mediapoli.com/download/mipv6-0.8.1-v2.4.2.tar.gz>.

2001/03/05	sekiya
	* kernel/linux2{2,4}/net/ipv6/af_inet6.c, route.c
	* kernel/linux22/include/linux/proc_fs.h: add an rt6_default
	entry under /proc/net directory; the file shows	a current IPv6
	default router; delete an old debug message for	current
	default	router.

2001/03/05	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/ndisc.c: RA messages do not print
	kernel messages without verbose option.

2001/03/05	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/raw.c: fixed 1-byte buffer overrun
	in checksum calculation.

2001/03/02	yoshfuji
	* src/tcp_wrappers: tcp_wrappers-7.6; applied ipv6 patch 
	by Hajimu UMEMOTO <ume@imasy.org>.
	* usagi/configure.in, usagi/tcp_wrappers: build and install 
	tcp_wrappers.

2001/03/01	yoshfuji
	* usagi/configure.in, usagi/comsat: build and install comsat.
	* src/biff+comsat/comsat/comsat.c: usagi friendly.
	* usagi/configure.in: build and install write and writed.

2001/03/01	yoshfuji
	* usagi/fingerd/Makefile.in: fixed a typo in manpage installation
	path.

<200102>
2001/02/28	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/raw.c: perform checksum check
	for raw sockets with IPV6_CHECKSUM sockopt.  

2001/02/24	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/raw.c: repair checksum for
	raw packets with uninitialized checksum field.  (Problem
	reported by Yasuhiro Ohara <yasu@sfc.wide.ad.jp>)

2001/02/23	sekiya
	* libc/glibc22:  sync with glibc-2.2.2 + glibc-linuxthread-2.2.2

2001/02/23	yoshfuji
	* kernel/linux2{2,4}/net/ipv4/ip_options.c: Do not overrun
	while paring ip options.  (reported from itojun@iijlab.net)

2001/02/22	yoshfuji
	* usagi/{rwhod,telnetd}/configure{,.in}: fixed default prefix to
	/usr/local/v6.

2001/02/22	yoshfuji
	* kernel/linux24: sync with linux-2.4.2

2001/02/19	sekiya and yoshfuji
	* Unify repositories.

*** see under CHANGELOG.USAGI.OLD for old history.

