			CHANGELOG for KAME kit
$KAME: CHANGELOG.2004,v 1.1 2005/01/01 01:45:36 suz Exp $

<200412>
2004-12-31  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/mldv2.c: fixed a bug that MLDv2 report is
	not retransmitted RobustnessVariable times.

2004-12-27  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/mldv2.c: corrected an MLD-query handling
	  when MaxResponseDelay=0.  (ToDo. Same thing for IGMPv3)

2004-12-09  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/net/{if_stf.c, if_ist.c}: added a per-I/F timer to
	refresh a (possibly) stale cached route towards the tunnel end.
	(same as the fix to in_gif.c at Oct 23 2001)

2004-12-09  MOMOSE, Tsuyoshi  <momose@az.jp.nec.com>
	* Mobile IPv6 codes are entirly changed. Most of codes are
	moved to userland from kernel. And now it also supports NEMO
	basic. It works on FreeBSD4, FreeBSD5 and NetBSD.

Thu Dec  9 12:55:19 JST 2004 <sakane@tanu.org>
	* kame/kame/racoon/ipsec_doi.c:
	In main mode with pre-shared key, the address type is only allowed
	in the Interop consensus.  however Cisco PIX uses the FQDN type often.
	so the FQDN type is allowed as the phase1 ID.

2004-12-07  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c (getaddrinfo): fixed missing
	initialization of the addrconfig structure.  KAME snaps since
	20041129 must be upgraded to apply this fix.

2004-12-07  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c: synchronized with FreeBSD5.3's
	getaddrinfo implementation:
	- ensure thread-safeness
	- use nsswitch.conf instead of host.conf

2004-12-03  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* freebsd5/lib/libinet6/res_send.c (res_send): made sure this
	function return a valid value.

2004-12-03  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6/common.c: silenced strict-aliasing warnings.
	Otherwise dhcp6 could not be built with -O2 on FreeBSD 5.3.
	(KAME-PR 851)

2004-12-02  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6/config.c (configure_commit): corrected list
	management operation.  (mostly harmless, but it was incorrect.)
	From: Nicolas Dichtel

2004-12-02  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* freebsd5/lib/libinet6: imported some res_* files and related
	header files from FreeBSD's source tree to be synchronized with
	KAME's local changes.  libinet6 now includes getaddrinfo().

2004-12-02 SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd4/sys/miscfs/procfs/procfs_status.c,
	  freebsd5/sys/fs/procfs/procfs_status.c,
	  freebsd5/sys/compat/linprofcs/linprocfs.c:
	FreeBSD Security Advisory: FreeBSD-SA-04:17.procfs

2004-12-02  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* *bsd/sys/netinet/tcp_subr.c (tcp[6]_notify):  implemented quick
	fall-back optimization as described in
	draft-gont-tcpm-tcp-soft-errors-01.

2004-12-01 SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd5/sys/netinet/tcp_subr.c,
	  kame/sys/netinet6/ah_core.c,
	  kame/sys/netkey/{key.[ch],keydb.h}:
	supports TCP-MD5(IPv4) on FreeBSD5.

2004-12-01 SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/man/man4/ist.4, kame/sys/net/if_ist.[ch],
	  kame/sys/netinet6/{in6.h, in6_ifattach.c, ip6_input.c},
	  kame/kame/rtadvd, kame/kame/rtsold,
	  *bsd/sys/if_types.h, *bsd/sys/*/conf/files, *bsd/*/GENERIC.KAME
	  *bsd/sbin/ifconfig:
	revived ISATAP, since the IPR issue has been solved!

<200411>
2004-11-28  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: catch up draft-ietf-dhc-lifetime-02.
	Specifically,
	- renamed "lifetime" to "refreshtime".  Note that configuration
	  compatibility was lost
	- implemented the default and minimum timer values
	- clarified that the refresh time option can only be available for
	  Information-request and reply exchanges

2004-11-28  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c (res_queryN): set an
	appropriate limit of query timeouts in order to mitigate hopeless
	delay due to misbehaving DNS servers ignoring AAAA queries.
	getaddrinfo() now sends A queries first with this change, but the
	query ordering does not affect the ordering of the resulting
	addrinfo list.
	(FreeBSD only at the moment)

2004-11-27  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c (set_source): fixed a bug that
	deprecated source addresses were not correctly identified for
	address ordering (RFC3484).

2004-11-27  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c: suppress AAAA queries if the
	node does not have IPv6 addresses other than the loopback and
	link-local addresses.  Additionally, AI_ADDRCONFIG is now more
	specification compliant in that getaddrinfo() issues AAAA queries
	only when the node has non-loopback addresses.

2004-11-18  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/in6.c (in6_if2idlen): introduced a new
	function, which was previously a local module "if2idlen", and
	called it when necessary.  With this change we do not store the
	IFID length in in6_ifextra{}.  It did not always work as intended
	due to initialization timing issues.

2004-11-18  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/route6.c (route6_input): removed the previous
	fix on Nov 12, since it can lead to a buffer overrun.

Tue Nov 16 14:50:50 JST 2004  itojun@iijlab.net
	* openbsd: switch to 3.6.

2004-11-12  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/route6.c (route6_input): conformance fix;
	  a Type-0 Routing-header is skipped if Segments Left is set to 
	  zero, regardless of the Hdr-Ext-Len value. (RFC2460 section 4.4)

2004-11-12  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd5: Upgrade to 5.3-RELEASE
	ToDo:   - test ...
		- additional features like ALTQ, MIP6, SSM, ...

2004-11-08  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* freebsd4/sys/netinet/tcp_input.c (tcp_mssopt): corrected the
	default MSS computation for TCP/IPv6.

<200410>
Tue Oct 26 JST 2004  itojun@iijlab.net
	* sys/netinet6/nd6_rtr.c: remove "onlink assumption" handling code.

Tue Oct 26 15:42:56 JST 2004	keiichi@iij.ad.jp
	* kame/sys/netinet6/icmp6.c: fixed a freebsd5 kernel crash due to a
	LOR caused by ICMPv6 redirect.

2004-10-21  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/nd6_rtr.c (in6_ifadd): made sure that the
	"new" address does not happen to have been configured already.
	Otherwise, the same address can be doubly configured under some
	rare conditions.

2004-10-05  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/in6_rmx.c: fixed a freebsd5 kernel crash due to a
	  LOR caused by ICMPv6 redirect

2004-10-05  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd5/sys/dev/syscons/syscons.c: FreeBSD Security Advisory:
	  FreeBSD-SA-04:15.syscons 

2004-10-01  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/in6_rmx.c (in6_clsroute):
	* freebsd4/sys/netinet/in_rmx.c (in_clsroute):
	avoided duplicate free (and system crash) when
	net.inet[6].ip[6].rtexpire is set to 0.

<200409>
2004-09-29  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/net,netinet,netinet6: removed a "Bad malloc flag" warning
	on freebsd5.

2004-09-07  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: provided a new command "dhcp6ctl", deprecating
	dhcp6sctl.  This new command controls the client as well as the
	server.  For the client, the "start" and "stop" (which can specify
	a particular interface) commands are available.

2004-09-04  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: added the ability of dhcp6c to work on multiple
	interfaces simultaneously.

<200408>
Thu Aug 12 12:54:25 JST 2004	keiichi@iij.ad.jp
	* kame/sys/netinet6/nd6.c,in6_src.c
	made it possible to specify the address of the other side of
	a p2p interface as nexthop when sending a packet with
	the NEXTHOP pktoption.

2004-08-11  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/ndp/ndp.c (ifinfo): supported the "disabled" ndp flag
	to view or modify the status of whether IPv6 operation is disabled
	on the interface. (see also the next log entry)

2004-08-11  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/nd6_nbr.c (nd6_dad_duplicated):
	* kame/sys/netinet6/ip6_input.c (ip6intr):
	* kame/sys/netinet6/nd6.c (nd6_output):
	disabled IPv6 operation if DAD fails for an address whose
	interface identifier is based on an EUI-64 ID which is supposed to
	be unique (a clarification in rfc2462bis).

2004-08-11  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/freebsd5/sbin/ifconfig/ifconfig.c: stopped unnecessary kernel
	module loading

2004-08-11  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/nd6_rtr.c (prelist_update): applied
	clarification on the prefix length check in rfc2462bis:
	- any prefix length is now accepted for on-link determination
	- determine the appropriate length based on the link type, rather
	  than on the prefix value (visible behavior should be same
	  though)

2004-08-10  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/pmsft: protocol-independent Multicast-Source-Filter
	testing tool to test IGMPv3/MLDv2.

2004-08-01  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/freebsd5/usr.sbin/dhcp6: builds DHCPv6 in FreeBSD5

Sun Aug  1 04:07:45 2004  SUMIKAWA Munechika  <sumikawa@ebina.hitachi.co.jp>
	* freebsd4: Upgrade to 4.10-RELEASE

<200407>
2004-07-31  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6/dhcp6c.c (main): made sure to dump the correct
	PID in the background mode.
	* kame/kame/dhcp6/dhcp6s.c (process_auth): corrected the timing to
	set the realm length.  Without this, dhcp6s could crash when
	processing authentication information.
	From: Kensaku Fujimoto

2004-07-30  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: relocated some configuration files.
	Automatically-generated DUID files are now in /var/db.  All the
	other configuration files should be put under /usr/local/v6/etc
	by default for consistency.
	Note: This change may affect the compatibility with old
	configurations.

2004-07-30  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6/dhcp6s.c: allowed a Request/Renew/Release
	message to be unicasted when it is forwarded from a relay agent.
	From: Bilal Ahmed

2004-07-27  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/net/if*.c: removed a "malloc() failure" warning message
 	  at start-up time on freebsd5.

Mon Jul 26 17:21:06 JST 2004	keiichi@iij.ad.jp
	* freebsd[45]/sys/netinet/tcp_syncache.c tcp_var.h:
	Initialize IPv6 flowinfo field in syncache/syncookie mechanism.

2004-07-26  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/ping6/ping6.c: removed a one-second delay in the
	  ICMPv6 ECHO advertisement.
	* kame/sys/netinet6/nd6.c: fixed a freebsd5 kernel crash due to a
	  LOR in a TCPv6 session.

Wed Jul 21 13:14:08 JST 2004  itojun@iijlab.net
	* libinet6/name6.c: no need query ip6.int reverse tree any more.

2004-07-16  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/kame/pim6sd/mld6v2_proto.c: fixed a wrong S-flag handling.
	* kame/sys/netinet6/icmp6.c: uses TCP-hostcache framework for pMTU
	  discovery in freebsd5, so that pMTU discovery on TCP works fine.

2004-07-14  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/in6.c: fixed a freebsd5 kernel crash by "ndp -P"
	command.

2004-07-12  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/in6.c: fixed a freebsd5 kernel crash due to LOR.
	* freebsd5/sys/netinet6/in6_pcb.c: fixed a bug that some TCP/UDP
	packets do not go outside on freebsd5.

2004-07-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* *bsd/usr.sbin/Makefile: stopped building KAME bgpd.  It has
	reached the end of life.

2004-07-09  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/pim6sd/timer.c: fixed a bug that that MLDv1/v2 query 
	is not advertised when a router becomes a new querier

2004-07-09  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/{icmp6.c,mld6.c,mldv2.c}, kame/sys/netinet/icmp6.h:
	implemented a sysctl option to force MLD version in MLDv2-ready kernel.

2004-07-07  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/{in6.c, in6_src.c, nd6.c, nd6_rtr.c):
	freebsd5+kame starts up properly (other behavior is to be
	confirmed).

2004-07-06  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netkey/key.c (key_spddump, key_dump): fixed possible
	infinite loops.

2004-07-06  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/pim6[sd]d/vif.c: fixed a bug that pim6[sd]d cannot receive
	PIM messages on MLDv2-ready kernel.

2004-07-05  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/nd6_rtr.c (prelist_update): ignored manually
	configured addresses to decide whether to autoconfigure a new
	address from an RA. (This is a clarification in rfc2462bis-02.)

2004-07-05  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/mld6.c: use as high clock granularity as
	possible (i.e., per 10 msec) for protocol timers.

2004-07-05  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/(many places): revised delay for DAD according
	to rfc2462bis-02: impose a random delay (when necessary) before
	sending the corresponding MLD report, while still listening to the
	multicast group, not just delaying a DAD NS.

2004-07-03  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_output.c (ip6_ctloutput): fixed the use of
	an uninitialized pointer for the IPV6_IPSEC_POLICY socket option
	on FreeBSD.  All FreeBSD users using IPv6 IPsec must apply this
	fix.  Snaps since 20040524 are affected.

<200406>
2004-06-30  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/name6.c (_dns_ghbyaddr): plugged a memory
	leak.  All KAME snaps need this fix, and it is recommended to
	update libinet6 and all snap applications with this fix.

2004-06-16  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/in6.c (in6_update_ifa): do not attempt to join
	multicast groups or to perform DAD when an existing address is
	modified.  This change will avoid unnecessary memory
	consumption in this case.

2004-06-14  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/pim6sd/{mld6,mld6v2}_proto.[ch]
	- changed MLDv1-compatible-mode behavior as is stated in RFC3810
	- fixed a bug that initial MLDv2 report (IN{NULL}->IN{s1}) is ignored.
	- initializes some variables properly when entering into 
	  MLDv1-compat-mode

2004-06-12  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: added control channel for the server so that
	the administrator can reload the server or remove a particular
	binding.  A new command "dhcp6sctl" was added for this purpose.
	This is a very experimental support, and may change in the near
	future.

2004-06-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: supported the delayed authentication protocol
	as specified in RFC3315 for secure DHCPv6 exchanges between the
	client and the server(s).

2004-06-09  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/pim6sd/vif.[ch], mld6v2_proto.c mld6_proto.c:
	- fixed a bug that pim6sd never return from MLDv1-compat-mode
	  to MLDv2-mode if MLDv1 listener disappears but MLDv2 listener
	  remains.

	* kame/pim6sd/mld6_proto.[ch], mld6v2.[ch], mld6v2_proto.[ch]:
	- transmits MLDv2 Group-Specific Query, if necessary.
	- doesn't increment MLD statistics counter when an MLD packet
	  is not transmitted by some reason.

2004-06-08  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/pim6sd/mld6_proto.c, mld6v2_proto.c:
	- accepts MLDv2 Group-Specific Query
	- specifies MLDv2 filter_mode based on the received MLDv2 report type

	* kame/pimsd/mld6_proto.[ch], mld6v2_proto.c:
	decides the MLD-compat-mode based on an arriving MLDv1/v2 packet.

	* kame/pimsd/mld6_proto.[ch], mld6v2.c, mld6v2_proto.[ch]:
	When pim6sd receives a MLDv1 done from an interface, it advertises 
	a group-specific Query in MLDv2 unless the interface is configured
	only with MLDv1.  This is to prevent MLDv2 hosts from shifting to
	MLDv1-compatible-mode unnecessarily.

2004-06-08  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* freebsd4/sys/net/rtsock.c: FreeBSD Security Advisory: 
	FreeBSD-SA-04:12.jailroute

2004-06-07  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/pim6sd/mld6v2_proto.c: discard ALLOW_NEW_SOURCES without 
	any source in MLDv1 compat mode, since it's a meaningless MLDv2-REPORT.

2004-06-06  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/pim6sd/mld6.c: discard MLDv2 packets with hoplimit != 1
	(draft-vida-mld-v2-08.txt section 6.2 mandates it, although 
	RFC2710 does not explicitly mention it).

2004-06-01  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_input.c (ip6_savecontrol): do not check
	the current process or thread in the input path.  It is
	unnecessary and can even prohibit a legitimate process from
	getting the information.

<200405>
2004-05-31  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/kame/pim6sd/mld6v2_proto.c: MLDv2 bug fixes:
	 - recognizes source list in CHANGE_TO_INCLUDE_MODE report.
	 - initializes MLD compatibile mode field when MLD group record
	   is created.
	* kame/kame/pim6sd/mld6v2.c: sanity check not to advertise MLDv2 Query
	  in non-querier state.

2004-05-28  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* freebsd[45]/sys: FreeBSD Security Advisory: FreeBSD-SA-04:11.msync

Thu May 27 17:55:28 JST 2004  itojun@iijlab.net
	* openbsd: switch to 3.5.  there is a lot more work to do (ALTQ, PF,
	  CARP, PFSYNC)

Wed May 26 11:58:56 JST 2004  itojun@iijlab.net
	* sys/netkey/keysock.c: support tons of pfkey messages generated
	  at once.  used only for DUMP and SPDDUMP only.
	
2004-05-23  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/kame/pim6sd/mld6v2_proto.c: don't send MLDv1 Query even 
	  in MLDv1-compat mode to prevent MLDv2 hosts from unnecessarily 
	  shifting to MLDv1-compatible mode (see draft-vida-mld-v2-08.txt 
	  section 8.3.2 p.47)
	* kame/kame/pim6sd/mld6v2_proto.c: don't send MLDv2 General Query 
	  when it is not a querier.

2004-05-20  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* freebsd5: sync with FreeBSD 5.2.1-RELEASE.
	  ToDo: 
		- reflect changes by FreeBSD community into KAME repository
		- test ...
		- additional features like ALTQ, MIP6, SSM, ...

2004-05-19  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/kame/pim6sd/route.c: fixed a bug that (*,G) entry is not 
	created at RP router when the RP address is specified in static-rp 
	configuration.

	* kame/kame/pim6sd/rp.c: fixed a bug that (*,G) entry is not created
	with static-rp configuration once PIM neighboring goes down and up 
	toward RP.

2004-05-19  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/nd6.c (nd6_output): simply returned an error
	if rtalloc1() provided a route to an unexpected interface.
	Based on a discussion for KAME PR 615 with Luigi Rizzo.

2004-05-18  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* {net,open}bsd/include/netdb.h (AI_ADDRCONFIG): defined the flag.

2004-05-16  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* *bsd/include/netdb.h: added a new error code EAI_OVERFLOW
	defined in RFC3493.
	* kame/kame/libinet6/getaddrinfo.c: supported EAI_OVERFLOW in
	gai_strerror().
	* kame/kame/libinet6/getnameinfo.c: use EAI_OVERFLOW (instead of
	EAI_MEMORY) for the error of short buffers.

2004-05-14  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/kame/pim6sd/mldv2_proto.c: receives MLDv2 TO_EX{NULL} report
	properly.

2004-05-14  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: added a set of bug fixes and cleanups based on
	comments and patches from Hiro Muraji:
	- avoided casting when pointers can be unnaturally aligned,
	  for alignment sensitive architectures
	- fixed the bug that IA_PD sub options were not correctly
	  recognized when more than one option was provided
	- fixed the bug that dhcp6s could crash when three or more
	  domain-name(-servers) were specified in separate option statements.
	- dropped DHCPv6 packets when IA_PD_PREFIX appears outside of
	  IA_PD (this seems to be a saner behavior)
	- corrected some log message formats

<200404>
2004-04-27  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/in6_msf.c: fixed an IPv6 per-interface MSF 
	calculation failure when MSF is in EXCLUDE mode

2004-04-22  SUZUKI, Shinsuke  <suz@crl.hitachi.co.jp>
	* kame/sys/netinet/in_msf.c, kame/sys/netinet6/in6_msf.c: silently
	ignore an advanced MSF-API call (instead of returning EINVAL) when
	the requested MSF is same as the one stored in kernel.

2004-04-21  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_output.c (ip6_ctloutput): simplified the
	fix to FreeBSD-SA-04:06.ipv6 (merged from FreeBSD to KAME on
	040406).  The previous one worried too much about parameters even
	though we actually validate them in subroutines.  This code also
	is more compatible with other *BSDs, which do copyin within
	setsockopt().

2004-04-20  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/icmp6.c: ICMPv6 packets regarding multicast
	routing (e.g. MLDv1 report) shouldn't be a target of MSF, although
	draft-vida-mld-v2-08.txt says only MLDv2 is such exception.
	(otherwise multicast routing process cannot receive such packets,
	 which prevents it from shifting to MLDv1-compatible-mode)

2004-04-20  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/mldv2.c: fixed a MLDv2-enabled freebsd[45] kernel 
	crash due to an improper termincation of layer2 multicast listening.
	(ToDo: same fix is necesary for freebsd[45]/sys/netinet/in.c)

2004-04-18  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/pim6sd/{vif.c, mld6.[ch]}, kame/sys/netinet6/in6.h:
	All MLDv2-capable routers multicast address has been officially assigned
	as "ff02::16"

2004-04-18  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c (explore_numeric): re-enabled
	the special case for AF_INET (use inet_aton instead of inet_pton)
	as required in RFC3493.  getaddrinfo now accepts the "classful"
	form of IPv4 addresses.

2004-04-17  kjc@csl.sony.co.jp
	* kame/sys/altq/
	build altq under freebsd5-current.
	submitted by Max Laier <max@love2party.net>

2004-04-16  Shin'ichi Fujisawa  <fujisawa@kame.net>
	* freebsd4/sys/netinet/ip_input.c:
	* kame/sys/netinet6/natpt_trans.c:
	- Fixed a compile error when you enable a NATPT/NATPT-NAT kernel
	  option.

2004-04-15  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet/icmp6.h: ICMPv6 Type number of MLDv2-Listener-
	REPORT has been changed to the official one (=143)!

2004-04-13  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c (getaddrinfo): clean-up:
	removed the definition of the AI_V4MAPPED and AI_ALL flags (when
	they are defined), and removed incomplete support for the flags.

2004-04-13  itojun
	* kame/kame/libinet6/getaddrinfo.c (getaddrinfo): added support
	for the AI_NUMERICSERV flag.

2004-04-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/libinet6/getaddrinfo.c (reorder): made sure to call
	set_source() to set the source address information for each
	candidate of destination.  This was lost by accident in April
	2003, and the destination address ordering has been incomplete
	since then.

Thu Apr  8 14:41:22 JST 2004 sakane@kame.net
	* kame/kame/racoon/proposal.c:
	fixed the EXACT mode to compare the proposals.  the lifetime in phase2
	did not work in the case of EXACT mode.

2004-04-06  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/ip6_output.c, kame/sys/netinet/ip6.h
	  FreeBSD Security Advisory: FreeBSD-SA-04:06.ipv6

2004-04-04  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/freebsd5: makes it compilable.

Fri Apr  2 17:35:45 JST 2004 sakane@kame.net
	* kame/sys/netkey/key.c:
	fixed that a memory leak happend in the case that the compile
	option, IPSEC_DOSEQCHECK was defined and called key_update().

Fri Apr  2 16:27:00 JST 2004 sakane@kame.net
	* kame/kame/tcpdump/print-isakmp.c:
	fixed that there was a possibility tcpdump(8) fell into infinite loop.
	and the problem was at print-isakmp.c, so racoon also fell into it
	when the debug option was used.

2004-04-02  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* *bsd*/sys/netinet/udp_usrreq.c, kame/sys/netinet/in_msf.[ch]
	code cleanup: uses a per-socket/interface MSF-check 
	function for IPv4 and IPv6 (essentially same as my patch committed 
	on Feb 6 2004)

2004-04-02  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd[45]/sys/netinet/igmp.c
	fixed a freebsd-specific bug that IGMPv3 Query is ignored, due to 
	a endian problem within kernel.
	ToDo: code refinement to share IGMPv3 codes among *BSDs.

<200403>
Mar 31 JST 2004  itojun@iijlab.net
	* *bsd*/sys/netinet*/udp*_usrreq.c: forbid IPv6 UDP packet without
	  checksum.  found by keiichi@kame.net

Wed Mar 31 15:47:19 JST 2004 sakane@kame.net
	* kame/kame/racoon/isakmp.c:
	fixed a critical bug in the case of FreeBSD.  racoon will reject
	the packet in which the value of the length field is too big.
	however the problem is due to malloc(3) of FreeBSD.

2004-03-29  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd[45]/sys/netinet/in.c, kame/sys/netinet6/mldv2.c
	fixed a kernel crash when an IGMPv3/MLDv2 Advanced-API function
	is used. (specific to IGMPv3/MLDv2-ready freebsd[45] kernel)

2004-03-21  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/dhcp6: added experimental support for the lifetime
	option based on draft-ietf-dhc-lifetime-00.txt.  dhcp6c now
	restarts information-request/reply exchanges when it has received
	the option and the lifetime expires.

2004-03-19  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/mld6query: to receive an MLD report for any group,
	it behaves like an IPv6 multicast daemon, instead of joining to ::.
	If cannot, just transmits MLDv1 Queries.

2004-03-17  MOMOSE Tsuyoshi  <momose@az.jp.nec.com>
	* dest6.c: A Binding Error against a packet including an invalid 
	home address is sent only when the packet is not Binding Update.
	This problem was found by the v6pc conformance test tool and fixed 
	with help by Noriko Mizusawa <mizusawa@mitaka.ntt-at.co.jp> in the
	team.

Wed Mar 17 08:47:58 JST 2004  itojun@iijlab.net
	* netbsd: switch to 1.6.2

2004-03-16  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/{ip6_output.c, mldv2.c, in6_msf.c, in_msf.h}:
	IGMPv3/MLDv2 is revived!

2004-03-14  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* freebsd4/sys/kern/uipc_syscalls.c (sockargs): allow more than
	MLEN bytes for ancillary data to meet the requirement in Section
	20.1 of RFC3542.  (Still not large enough though, because the new
	upper limit is MCLBYTES).

2004-03-13  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/mld6.c (mld_input): use a local sockaddr_in6
	structure to match multicast addresses in order to handle
	multicast scope correctly.
	In response to a report from Kentarou.Oohara@jp.yokogawa.com.

2004-03-12  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/nd6.c (nd6_output): fixed overkilling about
	the "dst" argument to this function.  The caller side were fixed
	accordingly.  This change also contains a bug fix about incorrect
	arguments to rtalloc1().

2004-03-12  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_output. (ip6_output): recovered some
	features related address scope lost for a while:
	- use scope6_check_id() for the first hop of a routing header in
	  case the default scope zone is specified and the 1st hop is a
	  scoped address.
	- recovered scope zone boundary check in ip6_output().  Without
	  this, an application can originate a packet that breaks the
	  scope boundary for the source or destination address.

2004-03-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet/icmp6.h (MLD_LISTENER_REDUCTION): defined
	as an alias of MLD_LISTENER_DONE to be compliant to RFC3542.

2004-03-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_mroute.c (ip6_mdq): recovered scope zone
	check.

2004-03-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/icmp6.c (icmp6_reflect): made sure to provide
	a valid sockaddr_in6 structure with regards to scope zone.  With
	the previous code, multicasted echo requests were not properly
	responded.  Additionally, a forwarding node could not return an
	ICMPv6 error if the source of the erroneous packet was link-local.

2004-03-10  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_forward.c (ip6_forward): recovered scope
	zone boundary check for the destination address.

2004-03-09  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_output.c (ip6_setmoptions): disallowed the
	use of the unspecified address for IPV6_JOIN_GROUP and
	IPV6_LEAVE_GROUP.  The special case is not documented in the
	official API specification, and for whatever purpose, this should
	actually have not been working for a long time.

2004-03-04  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd4/sys/netinet/tcp*.c:
	  FreeBSD Security Advisory: FreeBSD-SA-04:04.tcp

<200402>
2004-02-28  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/ip6_output.c (ip6_setmoptions): explicitly
	handle the case where a non-0 interface index points to a NULL
	ifp in the process of IPV6_LEAVE_GROUP.

Fri Feb 20 03:00:51 JST 2004  itojun@iijlab.net
	* kame/sys/netinet6/ipsec.c: implement ipcomp tunnel mode (outbound)
	  for IPv6.  inbound processing is not implemented yet.

2004-02-17  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/icmp6.c, ip6_input.c,
	  freebsd4/sys/netinet6/raw_ip6.c: applies per-socket MSF at
	  ICMPv6 layer, instead of IPv6 layer, to stop rejecting
	  MLDv2 Group/Source-Group-Specific Queries. 
	  (ToDo: *BSDs, IGMPv3, confirm behaviour...)

2004-02-14  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/ifmcstat/ifmcstat.c (in[6]_multientry): avoid
	inserting redundant blank lines.

2004-02-13  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* freebsd4/sys/netinet6/in6_pcb.c (in6_setsockaddr):
	* freebsd4/sys/netinet6/in6_pcb.c (in6_setpeeraddr):
	corrected the behavior of these functions for scoped addresses
	(had been buggy for a very short period).

2004-02-13  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/ping6/ping6.c (pr_pack): printed the arriving
	interface index explicitly with the -v option, instead of setting
	sin6_scope_id to the index automatically (the latter is not always
	correct).

2004-02-13  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/icmp6.c (icmp6_error2): introduced as a
	wrapper for icmp6_error() to recover lost scope zone information
	(if any).  This also fixed a recent bug that an ICMPv6 error when
	ND failed cannot be returned for a scoped destination.

2004-02-13  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/icmp6.c (icmp6_reflect): fixed a very recent
	bug that source address selection did not check the correct
	address.

Fri Feb 13 12:03:32 JST 2004	keiichi@iij.ad.jp
	draft-ietf-mip6-mipext-advapi-00 support.

2004-02-06  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* freebsd[45]/sys/kern/sysv_shm.c: 
	  FreeBSD Security Advisory: FreeBSD-SA-04:02.shmat

2004-02-06  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/in6_msf.[ch]
	  freebsd4/sys/netinet6/udp6_usrreq.c: implemented per-socket/interface
	  MSF-check functions, instead of embedding in UDP layer.

2004-02-05  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/{in6.c, mld6.c, mldv2.c}: creates mldv2.c to
	  concentrate almost all the MLDv2-related functions on this file
	  (just for maintenance convenience); mld6.c or mldv2.c are used 
	  exclusively depending on your kernel configuration.

	* kame/sys/netinet6/{in6_ifattach.c, in6_msf.c, in6_var.h,
	  ip6_output.c, nd6.c}: renamed MLDv2-ready in6_multi manupulation
	  functions to reduce the number of 'ifdef MLDV2'

Tue Feb  3 16:26:08 JST 2004  itojun@iijlab.net
	* sys: move away from in6_{get,set}pktaddrs framework, go back to
	  embedded scopeid in s6_addr16[1].  this is to make *BSD merge easier.

	  for now MLDv2, MIP6, SCTP, DCCP, non-netbsd are broken.

2004-02-02  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/sys/netinet6/in6_msf.[ch], ip6_output.c: sync with 
	mldv2-20031021 to prohibit improper MSF delta-API call.

2004-02-01  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/kame/mcastread/mcastread.c (get_socket): set the
	SO_REUSEPORT option for the receiving socket so that multiple
	processes on a node can run this program for the same group and
	port.

<200401>
2004-01-26  JINMEI, Tatuya  <jinmei@isl.rdc.toshiba.co.jp>
	* kame/sys/netinet6/mld6.c (mld6_input):
	* kame/kame/pim6sd/mld6.c (accept_mld6):
	discard MLD packets with the unspecified source address as
	specified in RFC3590.

Jan 2004  itojun@iijlab.net
	* sctp patch #17

	1) Changes the hb random number to 64 bit value.
	2) Expands the protection of when a peer sends a ACK
	   for a TSN we have not sent we abort. This used to
	   only be the cum-ack. It now expands to include out
	   of order segments.
	3) Reverse the order of test for shutdown-rcv vs shutdown_pending.
	   M Tuexen found that we would get a shutdown, the app close the
	   socket, and then we would send SHUTDOWN instead of SHUTDOWN-ACK when
	   the queue cleared.
	4) TCP model enhancment to obey so_qlimit - found by Marko Lindholm
	5) IN_MULTICAST in Open and Net BSD do NOT need ntohl() - found by
	   Marko Lindholm
	6) More enhancment of base freebsd port for the effort to get to M
	   Tuexen something
	   that can get into Max X
	7) Alternate route is deleted and becomes a patch from the sctp.org web
	   site.
	8) Kozuka-san's enhancment to TCP model association lookup.
	9) SOme more FreeBSD version 5 stuff.

	* sctp: fix misuse of "int" where "u_int32_t" is required
	* sctp: portability issue w/ freebsd (timersub/add/cmp)

	* sctp patch #18

	1) Add (in addtion to your changes) the htonl()
	2) Missed patch you have not gotten to with same int/u_int32_t issue
	3) Patches from peter adding to BASE_FREEBSD port code.
	4) Patches for OpenBSD ... a compile issue with 3.4 caught by
	   Kozuka-san

Sat Jan 24 18:18:27 JST 2004	keiichi@iij.ad.jp
	* kame/sys/net/if_hif.[hc], kame/sys/netinet6/mip6_icmp6.c
	made a mobile node send a mobile prefix solicitation message
	when it receives an unsolicited mobile prefix adv message.
	detected by the v6pc certification WG test suite.

Sat Jan 24 18:15:08 JST 2004	keiichi@iij.ad.jp
	* kame/sys/netinet6/mip6_mncore.c
	- made a mobile node send a mobile prefix solicitation message
	  when it receives a binding ack message with status code 1.
	- made a mobile node send a home registration message before
	  the current binding expires even when a refresh interval
	  is not explicitly specified by its home agent.
	detected by the v6pc certification WG test suite.

2004-01-23  MOMOSE Tsuyoshi  <momose@momose.org>
	* mip6control:
	Add a new option '-N' to show the list of nounces that a host 
	maintains as a correspondent node.

2004-01-22  MOMOSE Tsuyoshi  <t-momose@netlab.nec.co.jp>
	* kame/kame/had/haadic.c:
	A global home agent address is registerred even
	if on-link flag in a prefix information option
	isn't set. The problem is found and discussed at
	the 5th TAHI introp test event.

2004-01-20  SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
	* kame/kame/dhcp6
	supported DHCPv6 option for SIP servers (RFC3319).

Mon Jan 19 16:15:48 JST 2004	keiichi@iij.ad.jp
	* kame/sys/netinet6/dest6.c
	send a binding error message when CN receives a home
	address option which includes an inappropriate address.
	detected by the v6pc certification WG test suite.

Mon Jan 19 16:14:14 JST 2004	keiichi@iij.ad.jp
	* kame/sys/netinet6/mip6_hacore.c:
	convert ICMPv6 time exceeded to address unreachable, when
	receiving an error packet from Mobile IPv6 tunnel interface.
	detected by the v6pc certification WG test suite.

Fri Jan 16 JST 2004  itojun@iijlab.net
	* racoon/isakmp_inf.c: validation of hash payload was missing.
	  code from IIJ SEIL team.  [attack script is in public knowledge,
	  users of racoon must upgrade]

Tue Jan 13 13:06:53 JST 2004  itojun@iijlab.net
	* sys/netinet6/ipsec.c: spelling and memory leak fix.
	  from Bjoern A. Zeeb.

Mon Jan  4 JST 2004  itojun@iijlab.net
	* rtsold: remove pidfile creation, pid was needed only for debugging
	  purposes.
