		CHANGELOG for USAGI linux24

$USAGI: CHANGELOG.USAGI-LINUX24.2000,v 1.1 2001/02/19 06:14:23 yoshfuji Exp $

<200012>
2000/12/29	yoshfuji
	* net/ipv6/addrconf.c: removed changes between 1.40 and 1.42
	done on 23rd December; kernel might not shutdown cleanly etc. 
	with those changes.

2000/12/29	yoshfuji
	* include/linux/in6.h, include/net/{ipv6,transp_v6}.h, 
	net/ipv6/{datagram,icmp,ip6_flowlabel,ip6_output,ipv6_sockglue,
	raw,udp}.c: support IPV6_{RECVTCLASS,TCLASS} sockopt
	defined in draft-itojun-ipv6-tclass-api-01.
	Base on patch from Sampo Saaristo <sambo@cs.tut.fi>.
	XXX: TCP

2000/12/29	yoshfuji
	* net/ipv6/exthdrs.c: fixed sanity check with routing header;
	packet with multicast address in routing header and/or in
	destination address was not discarded.
	* net/ipv6/exthdrs.c: refer RFC 2460.

2000/12/27	yoshfuji
	* net/ipv6/ndisc.c: fixed NA validation to ignore multicasted NA 
	with solicited flag set.

2000/12/27	yoshfuji
	* net/ipv4/ip_gre.c: fixed compilation error with CONFIG_IPV6_MODULE.
	from Hiroyuki YAMAMORI <h-yamamo@db3.so-net.ne.jp>
	* net/ipv4/ip_gre.c: more modulized ipv6 compliance.

2000/12/26	yoshfuji
	* net/ipv6/reassembly.c: consider unfrag_len in ip6_frag_queue().

2000/12/24	yoshfuji
	* include/linux/icmpv6.h, net/ipv6/af_inet6.c: CONFIG_IPV6_IM:
	export icmpv6_send() via the inter module interface.
	* net/ipv4/ip_gre.c: CONFIG_IPV6_MODULE_IP_GRE: support 
	modulized ipv6.
	XXX: not well tested.

2000/12/23	yoshfuji
	* include/net/ndisc.h, net/ipv6/{addrconf,ndisc}.c:
	ensure to set source address of DAD packet unspecified address.

2000/12/23	yoshfuji
	* net/ipv6/addrconf.c: CONFIG_IPV6_ACONF_MIN_VALID_LFT
	Do not update valid-lifetime with small value to avoid particular 
	DoS attack.  See RFC 2461 section 6.3.6 and RFC 2462 section
	5.5.3.

2000/12/23	yoshfuji
	* net/ipv6/addrconf.c: run prefix state transition based on 
	valid-lifetime / prefered-lifetime.
	XXX: should we put another timer in struct inet6_ifaddrs?

2000/12/22	yoshfuji
	* net/ipv6/tcp_ipv6.c: fixed oops (or panic) in tcp_v6_do_rcv().
	This bug was introduced on December 13th.

2000/12/22	yoshfuji
	* include/net/addrconf.h: call panic() if argument for 
	in6_dev_{get,hold,put}(), in6_ifa_{get,hold,put}() and their
	variants.
	
2000/12/21	yoshfuji
	* net/ipv6/reassembly.c: fixed dev flaw in ip6_frag_expire().

2000/12/20	yoshfuji
	* net/ipv6/ipv6_sockglue.c: repair getsockopt(IPV6_V6ONLY).

2000/12/16	yoshfuji
	* net/ipv6/addrconf.c: CONFIG_IPV6_ACONF_NEW_20001216:
	Fixed Prefix Information option on-link flag in RA:
	Delete prefix route if valid lifetime is 0 with on-link flag set;
	Previously, it is done when lifetime if 0 with on-link flag unset.

2000/12/16	yoshfuji
	* net/ipv6/{addrconf,ip6_flowlabel,mcast}.c: use get_random_bytes()
	instead of net_random().

2000/12/16	yoshfuji
	* net/ipv6/addrconf.c: Interval between DAD packets should be 
	RetransTimer (1 sec)

2000/12/13	yoshfuji
	* linux-2.4.0-test12

2000/12/12	yoshfuji
	* lib/md5.c: fixed MD5 calculation on little-endian systems.

2000/12/12	yoshfuji
	* net/ipv6/neigh.c: provide neighbor states via /proc/net/neigh
	if CONFIG_IPV6_NDISC_DEBUG is set even if CONFIG_RTNETLINK is set.

2000/12/11	yoshfuji
	* net/ipv6/reassembly.c: discard fragments if insufficient
	fragments are received to complete reassembly of a packet within
	60 seconds of the reception of the first-arriving fragment of 
	that packet.  Previously, we erroneously resset the timer by each 
	fragment of that packet.  See RFC 2460.

2000/12/11	yoshfuji
	* net/ipv6/ndisc.c: fiexed RA validation if it is from link-local 
	unicast address.

2000/12/11	yoshfuji
	* net/ipv6/ndisc.c: fixed ND option length calculation / 
	validation with CONFIG_IPV6_NDISC_NEW_200012120.

2000/12/10	yoshfuji
	* net/ipv6/ndisc.c, include/net/ndisc.h, ...: new option
	CONFIG_IPV6_NDISC_NEW_20001210 enables new ND option 
	handling logic.

2000/12/09	yoshfuji
	* net/ipv6/ndisc.c: ignore RA packet without link-scope unicast 
	source.

2000/12/09	yoshfuji
	* net/ipv6/utils.c: suck <linux/config.h> to be happy with non-x86
	platforms.  (from Daiki Matsuda <dyky@df-usa.com>)

2000/12/09	yoshfuji
	* net/ipv6/ndisc.c: clean-up.
	- renamed ndisc_router_discovery() to ndisc_ra_rcv().
	- pass length of icmp portion to ndisc_{ns,na,ra,redirect}_rcv().
	- removed #if 0 ... #endif things; our structure is defined by 
	ourselves.

2000/12/08	yoshfuji
	* net/ipv6/ndisc.c: ensure to ignore invalid NA with multicast
	target address.

2000/12/07	yoshfuji
	* include/net/ndisc.h, net/ipv6/ndisc.c: clean-up structures
	related to ND / SAA.
	* net/ipv6/ndisc.c: clean-up validation of redirect packet.

2000/12/07	yoshfuji
	* net/ipv6/ndisc.c: silently ignore icmpv6 redirect with 
	invalid code / length / source address.

2000/12/06	sekiya
	* net/ipv6/addrconf.c: In ipv6_get_ifaddr() function, add a
	case of linklocal address. The function should be return not
	only a global address but also a linklocal address.

2000/12/05	yoshfuji
	* net/ipv6/mcast.c: Allow you to disable the 'suppress Report
	by another Report' optimization by new configuration option
	CONFIG_IPV6_MLD6_NO_SUPPRESS_DONE.  See RFC 2710.

2000/12/04	sekiya
	* net/core/neighbour.c: removed a bug introduced by 1.2;
	still need a correct lladr check for NUD_STALE.

2000/12/04	yoshfuji
	* net/ipv6/udp.c: fixed updv6 multicast delivery in multiple
	listeners case; contributed to netdev.

2000/12/03	yoshfuji
	* net/ipv6/mcast.c, include/net/addrconf.h: perform MLD
	for link-scope multicast addresses (exept for link-socpe
	all-nodes address)
	* net/ipv6/mcast.c: Don't perform MLD for multicast addresses
	that is 'narrower' than link-scope.

2000/12/02	yoshfuji
	* net/ipv6/mcast.c: ignore MLD packet if it carries invalid 
	(non-multicast (or unspecified)) address.

<200011>
2000/11/24	yoshfuji
	* net/ipv6/ip6_{input,output}.c: fixed idev leak in
	ipv6_rcv() and ip6_forward().

2000/11/22	yoshfuji
	* linux-2.4.0-test11

2000/11/21	yoshfuji
	* net/ipv{4,6}/{udp,tcp_ipv{4,6}}.c: improved bind(2) 
	(especially SO_REUSEADDR and IPV6_V6ONLY) semantics; 
	ambiguous reuse should not be allowed and IPV6_V6ONLY should
	not affect bind behavior.
	* net/ipv{4,6}/{udp,tcp_ipv{4,6}}.c ... : new option named
	CONFIG_NET_MODERATE_REUSE is defined to prevent other users
	from performing 'bind closer' type attacks.
	* include/net/sock.h: define sock_i_uidp() to get uid safely.

2000/11/18	yoshfuji
	* include/linux/in6.h, net/ipv4/{ip_gre,tcp_ipv4,udp}.c: define 
	RFC2553 IN6_IS_ADDR_xxx() macros and use them outside inet6 module.
	(hint from Takeshi KUSUNE <kusune@sfc.wide.ad.jp>)
	* net/ipv6/Config.in, net/ipv4/{tcp_ipv4,udp}.c: re-enable 
	CONFIG_IPV6_DOBLE_BIND feature for modulized inet6.

2000/11/18	yoshfuji
	* net/ipv4/tcp_ipv4.c: Fixed tcpv4 random connection refused bug.
	(reported from Takeshi KUSUNE <kusune@sfc.wide.ad.jp>)

2000/11/14	yoshfuji
	* include/linux/in6.h: Renamed IPV6_FLOWINFO_PRIORITY 
	IPV6_FLOWINFO_TCLASS.
	* include/linux/in6.h: Removed obsolete IPV6_PRIORITY_xxx definitions.

2000/11/14	yoshfuji
	* include/linux/in6.h, README.USAGI: Renamed IPV6_ONLY socket 
	option IPV6_V6ONLY.  Previous name was typo in spec.

2000/11/06	yoshfuji
	* net/ipv6/reassembly.c: Don't kfree_skb() twice. (from Aki M 
	Laukkanen <amlaukka@cc.helsinki.fi>)

2000/11/06	yoshfuji
	* include/linux/ipv6.h: traffic class as of RFC2460.
	(reported from Aki M Laukkanen <amlaukka@cc.helsinki.fi>)

2000/11/06	yoshfuji
	* include/linux/ipv6.h, net/ipv6/exthdrs.c:  strict routing is now
	depricated.  (from Aki M Laukkanen <amlaukka@cc.helsinki.fi>)

2000/11/06	yoshfuji
	* net/ipv6/icmp.c: fixed coding style.

2000/11/04      sekiya
	* net/ipv6/{addrconf,ndisc,route}.c: added more debigging 
	messages.

2000/11/04	yoshfuji
	* net/netsyms.c: fixed "undefined reference to 'in6_ntop'" error.

2000/11/01	yoshfuji
	* Documentation/Configure.help, net/khttpd/Config.in,
	net/khttpd/sockets.c: CONFIG_KHTTPD_IPV6: whether khttpd use inet6
	socket.

2000/11/01	yoshfuji
	* sync with linux-2.4.0-test10

2000/11/01	yoshfuji
	* net/ipv4/ip_sockglue.c: raise an error EINVAL if optlen for
	getsockopt(), setsockopt() was negative.
	XXX: this check is not strict because of old spec.
	* net/ipv6/ipv6_sockglue.c: raise an error if optval/optlen 
	argument for getsockopt() and setsockopt() was invalid.
