			CHANGELOG for USAGI kit

$USAGI: CHANGELOG.USAGI,v 1.389 2002/07/08 07:16:16 yoshfuji Exp $

<200206>
2002/0708	miyazawa
	* kernel/linux24/{Documentation/Configure.help,net/ipv6/{ipsec6_input.c,
	ipsec6_output.c,ndisc.c}}
	- remove CONFIG_APPLY_ICMPV6_IPSEC
	
2002/07/08	yoshfuji
	* kernel/linux24/net/ipv6/{addrconf.c,route.c}: 
	Update PMTU value to make PMTU increase even if current PMTU 
	is the lowest.  This may cause additional PMTU discovery, but
	we think it is acceptable because this operation is done 
	administratively.  (From Shirley Ma <xma@us.ibm.com>)

2002/07/03	yoshfuji
	* src/dhcpcode: imported DHCPv6 code from Suresh Kodati 
	<skodati@in.ibm.com> with several clean-ups.

2002/06/28	miyazawa
	* kernel/linux24/{include/{linux/ipv6.h,net/{ipv6.h,ipsec6_utils.h}},net/ipv6/exthdrs.c,
	ip6_input.c,ipsec6_input.c}
	- move parse routins of AH and ESP into ipv6_parse_exthdrs
	- it make the kernel parse dst1opt in esp correctly

2002/06/28	mk
	* kernel/linux24/net/ipv6/{tcp_ipv6.c, ip6_output.c}:
	- fixed a kernel panic, which caused by ipsec and mobility support.
	- a performance issue that prevents full-size data packets with TCP.
        reported by "David Stevens" <dlstevens@us.ibm.com>

2002/06/24	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: The new MTU changed during 
	the intraface down must be reflected in the idev as well as routers.
	If the new MTU is lower IPV6_MIN_MTU, stop IPv6 on that interface.
	(From Shirley Ma <xma@us.ibm.com>)

2002/06/21	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/mn.c: fixed to be enable to
	return to the home link managed by the other implementation of
	home agent than MIPL.

2002/06/20	mk
	* kernel/linux24/net/ipcomp, kernel/linux24/net/ipv6/ipcomp.c:
	IPComp.
	It's very unstable, don't use except for developing.

2002/06/19	miyazawa
	* kernel/linux24/{include/ipsec6_utils.h,net/ipv6/{ip6_output.c
	ipsec6_utils.c,ndisc.c}}
	- esp includes dst1opt in outbound packet
	
2002/06/12	yoshfuji
	* kernel/linux24/net/ipv6/{Config.in,ip6_fib.c}: 
	CONFIG_IPV6_SUBTREES, sub-tree in routing table support.
	This is just for testing.

2002/06/10	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/route.c: 
	- ensure to set expire timer for cache route by PMTU discovery.
	- ensure to hold cache route until it expires.
	(from Shirley Ma <xma@us.ibm.com>)

2002/06/08	yoshfuji
	* kernel/linux22/net/ipv6/ndisc.c: ignore invalid DAD packets
	with SLL option.

2002/06/08	yoshfuji
	* kernel/linux2{2,4}/include/{linux/in6.h,net/addrconf.h,net/sock.h},
	net/ipv6/{addrconf.c,ip6_output.c,ipv6_sockglue.c,route.c,tcp_ipv6.c,
	udp.c}, kernel/linux24/net/ipv6/mobile_ip6/mipv6.c, 
	libc/glibc2{1,2}/sysdeps/unix/sysv/linux/bits/in.h,
	usagi/libinet6/include_glibc/bits/in.h: introduced per-connection 
	configuration mechanism on source address selection between
	public addresses and temporary addresses, using IPV6_PRIVACY.
	See doc/HOWTO/PrivacyExtensions for more information.

2002/06/07	miyazawa
	* kernel/linux24/include/{linux/ipsec6.h,net/ipsec6_utils.h},
	kernel/linux24/net/ipv6/{ndisc.c,ipsec6_output.c,ipsec6_utils.c}
	- changes to apply IPsec against ND packets.

<200205>
2002/05/23	yoshfuji
	* kernel/linux22: linux-2.2.21.

2002/05/20	miyazawa
	* kernel/linux24/net/ipv6/{ipsec6_input.c, ipsec6_utils.c,
	raw.c, reassembley.c, udp.c}
	- fix fragment and reassembly process with IPsec from David Stevens
	  <dlstevens@us.ibm.com>

2002/05/20	yoshfuji
	* usagi/pfkey/pfkey.c: 
	- fixed SEGV if invalid lifetime given.  (from Hiroyuki YAMAMORI
	<h-yamamo@db3.so-net.ne.jp>)
	- fixed SEGV without /proc.

2002/05/20	mk
	* kernel/linux24/net/key/{pfkey_v2_msg.c, pfkey_v2_msg_add.c,
	pfkey_v2_msg_get.c, sadb.c spd.c, spd_utils.c}, 
	kernel/linux24/include/{pfkeyv2.h, sadb.h spd.h ipcomp.h},
	usagi/pfkey/{pfkey.c, pfkey_internal.h, pfkeylib.c}:
	interaction between kernel and userland for ipcomp SA.

2002/05/16	mk
	* kernel/linux24/net/key/{sadb.c, spd.c}:
	removed nested read_lock_bh().
	avoid dead locks related smp.

2002/05/16	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/icmp.c, src/iputils/ping6.c:
	[SECURITY] fixed buffer overrun while calculating node group address.

2002/05/16	yoshfuji
	* kernel/linux24/net/ipv6/ipsec6_utils.c: fixed ESP rouding-up 
	algorithm.

2002/05/15	yoshfuji
	* usagi/libinet6/{getaddrinfo.c,getnameinfo.c,ip6opt.c,
	libc-compat.h,rcmd.c,rexec.c,rthdr.c,tempname.c}: 
	define attribute_hidden to solve compilation problem
	on some platforms.

2002/05/15	kunitake
	* kernel/linux24/net/ipv6/netfilter/{ip6_queue.c, ip6t_ipv6header.c},
	kernel/linux24/include/linux/netfilter_ipv6/ip6t_ipv6header.h,
	usagi/src/iptables, usagi/usagi/ip6tables : sync with iptables-1.2.6a

2002/05/10	mk
	* kernel/linux24/net/ipv6/{ipsec6_input.c, ipsec6_utils.c}:
	bug fix collection. reported by <h-yamamo@db3.so-net.ne.jp>.

2002/05/09	mk
	* kernel/linux24/net/ipv6/ipsec_*.c, kernel/linux24/net/key/:
	smp safe.

2002/05/02	yoshfuji
	* usagi/libc/glibc22: glibc-2.2.5 + linux-threads

<200204>
2002/04/25	mk
	* usagi/radvd/Makefile.in: changed to install radvd.conf.example 
	when "make install".

2002/04/20	yoshfuji
	* usagi/lib{net-tools,netlink}/Makefile.in: added dummy 
	install-includes / install targets to fix errors on "make install"
	or "make install-includes."  (reported by <latten@austin.ibm.com>)

2002/04/10	takamiya
	* kernel/linux24/net/netsyms.c, 
	  kernel/linux24/net/ipv6/mobile_ip6/{ha.c, ioctl.c, mipv6_ioctl.h}, 
	  src/miplv6/{mip6.h, mipdiag.c, mobile-ip6.in, network-mip6.conf}: 
	  - If CONFIG_IPV6_ANYCAST is available, Mobile IPv6 setup script
	    attach the Mobile IPv6 anycast address. Otherwise, no effect is
	    occurred. 

2002/04/07	yoshfuji
	* kernel/linux2{2,4}/{Documentation/Configure.help,
	net/ipv6/{Config.in,mcast.c}}: changed option name for
	disabling optimization of MLD Done message.

2002/04/06	yoshfuji
	* src/iproute2/ip/iptunnel.c: fixed compilation error on linux22;
	define GRE_xxx values by ourselves.

2002/04/05	yoshfuji
	* usagi/configure.in, usagi/{tcpd,tcp_wrappers}: moved from
	tcp_wrappers to tcpd.
	* usagi/configure.in, usagi/{pfkey_util,pfkey}, doc/HOWTO/IPsec: 
	moved from pfkey_util to pfkey.

2002/04/04	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/mdetect.c: fixed not to hang
	up when interface doesn't have link-local address.

2002/04/03	yoshfuji
	* prepare.pl, usagi/radvd/.prepare: force unlink config.h.in;
	to fix an error on make prepare.
	* usagi/libnet-tools/Makefile.in: don't remove config.h on
	make distclean; config.h in the repository will be used.

2002/04/03	yoshfuji
	* usagi/configure.in, usagi/{iptables,ip6tables}: moved from
	iptables to ip6tables.
	* usagi/ip6tables/Makefile.in: use ../include for kernel 
	include.
	* usagi/atm-tools, usagi/pvctool: moved from atm-tools to
	pvctool.

2002/04/02	yoshfuji
	* {src/iproute2,usagi}/ip: fixed mis-commited / missing files 
	on March 31st; now it is compiled well.
	* src/{iproute2/ip,net-tools/iptunnel.c: fixed compilation 
	error on linux22.

<200203>
2002/03/31	yoshfuji
	* src/radvd: radvd-0.7.1.

2002/03/31	yoshfuji
	* usagi/{configure.in,libnetlink,ip}: ip from iproute2.

2002/03/30	yoshfuji
	* usagi/{configure.in,libnetlink,ndp}: libnetlink from iproute2.

2002/03/30	yoshfuji
	* kernel/linux24: sync with LINUS branch to fix random conflicts(?).
	In fact, we do not understand why we need to commit these files while 
	we have't changed anything...

2002/03/21(CST)	takamiya
	* kernel/linux24/include/linux/ipv6.h,
	kernel/linux24/include/net/ipv6.h, kernel/linux24/net/ipv6/exthdrs.c, 
	kernel/linux24/net/ipv6/mobile_ip6/mipv6.c: 
	  - fixed to be enable to communicate with mobile node: Destination
	    Option Header when the packet includes Home Address Options must
	    exist after Routing Header.

2002/03/20(CST)	yoshfuji
	* kernel/linux24/{include/net/ip6_route.h,net/netsyms.c,
	net/ipv6/ip6_output.c,net/ipv6/netfilter/ip6_queue.c}: export
	route6_me_harder(), which was static; fixed undefined reference
	on compilation with CONFIG_NETFILTER and modulized IPv6.

2002/03/17	yoshfuji
	* kernel/linux24/net/ipv6/addrconf.c: fixed an inet6_ifaddr{} leakage
	in temprary address creation; this fixes the "unregister_netdevice: 
	waiting for ethX to become free. Usage count = N" (N is usually 2)
	bug.

2002/03/13	yoshfuji
	* kernel/linux2{2,4}/{include/{linux/sysctl.h,net/if_inet6.h},
	net/ipv6/{af_inet6.c,addrconf.c}}: added net.ipv6.conf.all.bindv6only
	sysctl to control default value for IPV6_V6ONLY socket option.
	Default is 0, which means ipv6 socket will receive ipv4 traffic on
	the same port like vanilla linux kernels.

2002/03/07	yoshfuji
	* kernel/linux24/net/key/af_key.c: fixed compilation error when 
	CONFIG_IPSEC=y and CONFIG_IPSEC_DEBUG=n.  (from KUSANO Takayuki 
	<AE5T-KSN@asahi-net.or.jp>)

2002/03/06	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/{auth_subopt.c, auth_subopt.h,
	dstopts.c sendopts.c}
	  - fixed the check logic for Authentication Sub-option calculation.
          - interoperability with KAME Mobile IPv6 using Authentication
	    Sub-option.

2002/03/06	yoshfuji
	* usagi/libinet6/ifaddrs.c, libc/glibc2{1,2}/sysdeps/unix/sysv/
	linux/ifaddrs.c}: fixed local address and destination address
	of point-to-point links in getifaddrs(3) result.

2002/03/05	mk
	* kernel/linux24/include/net/{spd.h,sadb.h},
	  kernel/linux24/net/key/{pfkey_v2_msg_getspi.c,spd.c,
	  pfkey_v2_msg_flow.c, pfkey_v2_msg_add.c},
	  kernel/linux24/net/ipv6/{ipsec6_output.c, ipsec6_input.c},
	  usagi/pfkey_utils/pfkey.c:
	- control default non-ipsec packet processing policy.
	  (Joy Latten <latten@authin.ibm.com>)
	    
2002/03/04	yoshfuji
	* kernel/linux24/{include/net/if_inet6.h,net/ipv6/addrconf.c}:
	clean-up on plefix-list.

2002/03/01	yoshfuji
	* kernel/linux24/{include/net/if_inet6.h,net/ipv6/addrconf.c}:
	- renamed prefix_{desc,element} to {ipv6,inet6}_prefix{}.
	- use list_for_each_safe to iterate over a list; the loop may 
	delete an item.
	- clean-up.

<200202>
2002/02/28	takamiya
	* kernel/linux24/net/netsyms.c, kernel/linux24/net/ipv6/addrconf.c, 
	kernel/linux24/net/ipv6/mobile_ip6/halist.c, 
	kernel/linux24/net/ipv6/mobile_ip6/mipv6.c: fixed to send Dynamic Home 
	Agent Address Discovery Reply Message.

2002/02/28	miyazawa
	* kernel/linux24/net/key/pfkey_v2_msg_flow.c:
	support SADB_X_SAFLAGS_REPLACEFLOW to replace IPsec policy

2002/02/28	miyazawa
	* kenrel/linux24/net/key/{pfkey_v2_msg.c,pfkey_v2_msg_add.c},
	kernel/linux24/crypto/ciphers/{Makefile,Config.in,cipher-null.c}:
	Change SADB_ELAGS_NULL processing to the same of other algorithm.

2002/02/27	yoshfuji
	* kernel/linux24: linux-2.4.18.

2002/02/25	takamiya
	* kernel/linux24/include/net/{if_inet6.h,addrconf.h},
	kernel/linux24/net/ipv6/addrconf.c: enabled to store prefix
	information in accordance with RFC2461.
	(input from Krishna Kumar<kumarkr@us.ibm.com>)

2002/02/21	takamiya
	* src/miplv6/mipdaig.c: fixed not to include the last newline
	code when using the hexadecimal key in the mipv6_sas.conf.

2002/02/21	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/raw.c: a positive odd value as
	offset is invalid for IPV6_CHECKSUM socket option.  RFC2292bis
	agrees with me.

2002/02/20	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/dhaad.c: fixed the Dynamic
	Home Agent Address Discovery Request packet format regarding to
	the draft-ietf-mobileip-ipv6-15.txt.

2002/02/11,14	miyazawa
	* src/freeswan, usagi/pluto:
	IKE daemon derived from FreeS/WAN.
	It has been modified to to support our implementation.
	XXX: re-keying is broken because of the difference of 
	semantics of userland/kernel interaction between FreeS/WAN and ours.

<200201>
2002/01/31	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/ha.c: fixed to send
	Proxy Neighbor Advertisement for the link local address of mobile
	node derived from home address.

2002/01/30	takamiya
	* kernel/linux24/net/ipv6/mobile_ip6/{procrcv.c, bcache.h,
	bcache.c}: fixed not send to the old care-of address when
	the sequence number in the Binding Update is smaller than the Binding
	cache.

2002/01/28	takamiya
	* src/miplv6/mobile-ip6.in: fixed for the environment that
	doesn't have /sbin/ip.

2002/01/28	takamiya
	* src/miplv6/mobile-ip6.in, usagi/mipdiag/configure.in: fixed the
	wrong logic.

2002/01/28	takamiya
	* src/miplv6, usagi/{mipdiag,ipv6tunnel}: sync userland tool with
	HUT's MIPLV6 as of 2001/12/26.

2002/01/27	yoshfuji
	* kernel/linux24/net/ipv4/ipip.c: fixed inner header length check.
	* kernel/linux2{2,4}/net/ipv4/ipip.c: drop unsupported / unconfigured
	protocol.

2002/01/26	yoshfuji
	* kernel/linux2{2,4}/net/ipv6/addrconf.c: disable the Privacy 
	Extentions on loopback or over-ipv4 tunnels by default.
	We should not use temporary addresses especially on ISATAP tunnels.
	(recognized as a problem on 3rd TAHI interop event)

2002/01/24	takamiya
	* kernel/linux24/include/net/mipv6.h: modify alternate care-of
	address sub-option and authentication sub-option number following
	to the draft-15.

2002/01/24	yoshfuji
	* kernel/linux24/net/ipv6/ipsec6_utils.c: Zero-out mutable
	TLV (destination/hop-by-hop) options when calculating AH
	data.  (input from Joy Latten <latten@austin.ibm.com>)

2002/01/24	miyazawa, yoshfuji
	* kernel/linux24/include/linux/ip6packetootls.h,
	  kernel/linux24/net/ipv6/{ipsec6_input.c,ipsec6_output.c,
	  ipsec6_utils.c,ip6packettools.c}:
	fixed analyze_ip6_packet based on yoshifuji's patch to check over run

2002/01/24	serizawa
	* kernel/linux24/net/{atm/Makefile,Config.in}, doc/HOWTO/ATM:
	fix problem in case that linux24 kernel can not be compiled
	when CONFIG_ATM_IPV6 is defined without CONFIG_ATM_CLIP.

2002/01/22	takamiya
	* kernel/linux/net/ipv6/mobile_ip6/{dstopts.c,sendopts.c}:
	fixed the calculation of padding.

2002/01/22	mk
	* kernel/linux24/net/key/{pfkey_v2_msg.c,pfkey_v2_msg_add.c,sadb.c},
	  kernel/linux24/net/ipv6/{ipsec6_input.c,ipsec6_utils.c},
	  kernel/linux24/include/net/sadb.h:
	dynamic allocation cipher_context and digest_context in esp/auth_algo{}

2002/01/21	takamiya
	* kernel/linux24/net/ipv6/af_inet6.c: enable to make ipv6_tunnel.o
	staticaly linked.
	NOTE: When you make ipv6.o as a module and ipv6_tunnel.o as a
	      static, ipv6_tunnel.o is linked to ipv6.o.

2002/01/21	takamiya
	* kernel/linux24/net/netsyms.c: resolved conflicts of exported
	functions.

2002/01/21	takamiya, yoshfuji
	* kernel/linux24: sync with HUT's MIPv6 implementation
	as of 2001/12/26 based on draft-15.
	XXX: maybe broken.  userland is not included.

2002/01/21	miyazawa
	* kernel/linux24/include/linux/calc_hmac.h,
	  kernel/linux24/net/key/{Makefile,calc_hmac.c},
	  kernel/linux24/net/netsyms.c,
	remove original calc_hmac

2002/01/21	miyazawa
	* kernel/linux24/crypto/cryptoapi,crypto/digest/{digest-md5.c,
	  digest-sha1.c,gen-hmac.h},
	  kernel/linux24/net/ipv6/{ipsec6_input.c,ipsec6_utils.c},
	  kernel/linux24/include/linux/crypto.h:
	merge calc_hmac routine to cryptoapi

2002/01/16	mk
	* kernel/linux24/net/key/{pfkey_v2_msg.c,pfkey_v2_msg.h,sadb_utils.c},
	  usagi/pfkey_util/{pfkey.c,pfkeylib.c}:
	support AES(128-bit key) <see draft-ietf-ipsec-ciph-aes-cbc-03.txt>
	and also I added AES definitions in linux24/pfkeyv2.h (rev 1.5).
	NOTE: currently not yet well tested.


2002/01/15	miyazawa
	* kernel/linux24/include/net/{pfkeyv2.h,sadb.h}
	  kernel/linux24/net/key/{af_key.c,pfkey_v2_msg.h,pfkey_v2_msg.c,
	  sadb.c}, usagi/pfkey_util/{pfkey.c,pfkeylib.h,pfkeylib.c}:
	make flush message specify SATYPE and add flush Policy with 
	SADB_X_FLUSH_SP.

2002/01/12	mk
	* kernel/linux24/net/ipv6/{ipsec6_input.c, ipsec6_utils.c},
	  kernel/linux24/net/pfkey/sadb.c: 
	keep IV value in esp_algo_info {} because cryptoapi removed iv in cx{}.

2002/01/11	miyazawa
	* kernel/linux24/net/key/{pfkey_v2_msg_add.c,pfkey_v2_msg_getspi.c}
	add restriction for reserved SPI by IANA.

2002/01/11	miyazawa
	* kernel/linux24/net/key/{sa_index.c,sadb.c}
	Support SPI=any in policy. If you specify SPI=any(0xFFFFFFFF), IPsec's 
	behavior is:
	OUTBOUND:
		Policy searches a SA by the Destination Address and IPsec 
		protocol.  If there are two or more SAs matched the policy 
		condition in SADB, Policy use the first configured one
		till the SA expires.
	INBOUND:
		Policy searches a SA by the Destination Address and IPsec 
		protocol.  If there are two or more SAs matched the policy 
		condition in SADB, Policy accepts those SAs to process 
		INBOUND packets.

2002/01/10	yoshfuji
	* kernel/linux24/net/ipv6/{ip6_output,tcp_ipv6}.c: fixed typo;
	packet was not encrypted if AH had been already added.

2002/01/09      miyazawa
        * kernel/linux24/net/key/{pfkey_v2_msg_flow.c,sa_index.c,spd.c}:
	fixed prefixlen_d handling in sa_index of ipsec_sp.

2002/01/08	mk
	* kernel/linux24/crypto, kernel/linux24/drivers/block/loop.c: 
	updated cryptoapi 2.4.17.0 and loop-hvr-2.4.16.0.
