diff --git a/lib/ChangeLog b/lib/ChangeLog
new file mode 100644
index 0000000..b4d0ae1
--- /dev/null
+++ b/lib/ChangeLog
@@ -0,0 +1,1926 @@
+2002-09-28  Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+
+	* vty.c (vty_flush): One line more on vty.
+
+2002-09-27  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* vector.c (vector_lookup): Add new function.
+
+2002-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* thread.c (timeval_adjust): Fix unconditional crush due to
+	FreeBSD's select() system call timeval value check.
+
+2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* zebra-0.93 released.
+
+2002-06-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
+	van Maarseveen's suggestion.
+
+2002-06-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c: Change bcopy() to memcpy().
+
+2001-12-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (config_password): Fix host.password clear bug.
+	Reported by Wang Jian <lark@linux.net.cn>.
+
+2001-08-29  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* thread.c (thread_should_yield): New function to check thread
+	should yeild it's execution to other thread.  Suggested by: Rick
+	Payne <rickp@ayrnetworks.com>
+
+2001-08-20  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* thread.c (thread_timer_cmp): Rewrite function.
+
+	* hash.c: Add hash_get().  Change hash_pull() to hash_release().
+
+2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* zebra-0.92a released.
+
+2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* zebra-0.92 released.
+
+2001-08-12  Akihiro Mizutani <mizutani@dml.com>
+
+	* prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
+	string to "1.1.0.0/16".
+
+2001-08-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c (access_list_lookup): access_list_lookup's first
+	argument is changed from address family to AFI.
+
+	* plist.c: (prefix_list_lookup): Likewise.
+
+2001-07-27  Akihiro Mizutani <mizutani@dml.com>
+
+	* plist.c: ge and le display order is changed.  Old compatible
+	rule (len <= ge-value <= le-value) is removed.
+
+2001-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* prefix.h: Temporary fix for alignment of prefix problem.
+
+2001-06-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* prefix.h (struct prefix): Remove safi and padding field.
+	(struct prefix_ipv4): Likewise.
+	(struct prefix_ipv6): Likewise.
+	(struct prefix_ls): Likewise.
+	(struct prefix_rd): Likewise.
+
+	* command.h (enum node_type): Preparation for BGP new config.
+
+	* vty.c (vty_end_config): Likewise.
+
+2001-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* routemap.c (route_map_rule_delete): Call func_free when
+	route-map rule is deleted.
+
+2001-06-14  "Akihiro Mizutani" <mizutani@dml.com>
+
+	* routemap.c (route_map_index_lookup): Prevent to use deny and
+	permit for same route-map sequence.
+
+2001-04-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_read_config): Fix warning.
+
+2001-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
+	strings.
+
+2001-03-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
+	CMSG_FIRSTHDR.
+
+2001-03-07  Michael Rozhavsky <mrozhavsky@opticalaccess.com>
+
+	* zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
+
+2001-02-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
+	lib" member.
+
+2001-02-13  Matthew Grant <grantma@anathoth.gen.nz>
+
+	* vty.c (vty_read_config): Revert check of integrate_default when
+	VTYSH is defined.
+
+2001-02-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_read_config): Do not check integrate_default.  That
+	should be used only by vtysh.
+
+2001-02-08  Matthew Grant <grantma@anathoth.gen.nz>
+
+	* vty.c (vty_serv_un): Set umask 0077.
+	(vty_read_config): Stat for vtysh Zebra.conf, if found startup and
+	wait for boot configuration.
+
+	* if.c (if_lookup_address): Make it smart implementation.
+
+	* sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
+	options for IPv4 This is here so that people only have to do their
+	OS multicast mess in one place rather than all through zebra,
+	ospfd, and ripd .
+
+2001-02-04  Akihiro Mizutani <mizutani@dml.com>
+
+	* plist.c (vty_prefix_list_install): Even when argument is
+	invalid, new memory is allocated.  Now memory allocation is done
+	after argument check.
+
+2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.91 is released.
+
+2001-01-31  Akihiro Mizutani <mizutani@dml.com>
+
+	* vty.c (vty_login): Add vty login command.
+
+2001-01-31  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_reset): Close accept socket.
+
+2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
+	attribute.
+
+2001-01-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.c (zebra_interface_address_add_read): Fetch interface
+	address flag.
+	(zebra_interface_address_delete_read): Likewise.
+
+2001-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* table.c (route_node_match_ipv4): Utility function for IPv4
+	address lookup.
+	(route_node_match_ipv6): Utility function for IPv4 address lookup.
+
+2001-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c: Delete RIP_API part until new implementation comes out.
+
+2001-01-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* hash.h (struct Hash): Rename alloc to count.  Change type to
+	unsigned long.
+
+	* stream.c (stream_getc_from): New function.
+	(stream_getw_from): Likewise.
+
+	* zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
+
+2001-01-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* flap.c: File is removed.
+
+	* flap.c: Likewise.
+
+	* roken.h: Likewise.
+
+	* buffer.c (buffer_new): Remove type option to buffer_new().
+
+2001-01-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
+
+2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.90 is released.
+
+	* command.c: Update Copyright year.
+
+2001-01-09  Matthew Grant <grantma@anathoth.gen.nz>
+
+	* if.c (if_create): Register connected_free() function for
+	deletion.
+	(if_delete): Free connected information when the interface is
+	deleted.
+	(if_lookup_by_index): Fix argument type from int to unsigned int.
+	(connected_add): Keep list in order if old info found, essential
+	for repeatable operation in some daemons.
+
+2001-01-09  endo@suri.co.jp (Masahiko Endo)
+
+	* vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
+	read thread.
+
+2001-01-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c (access_list_delete): Access-list name is not freed.
+
+	* plist.c (prefix_list_delete): Prefix-list name is not freed.
+
+2000-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.c (zclient_start): Change to use UNIX domain
+	socket for zebra communication.
+
+	* vector.c (vector_init): vector_alloc and vector_data_alloc is
+	removed.  All memory allocation count should be maintained by
+	XMALLOC and XFREE macros.
+
+2000-12-28  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
+
+2000-12-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
+	value.
+
+2000-12-25  "Wataru Uno" <wataru@po.ntts.co.jp>
+
+	* vty.c (vtysh_read): Don't allocate new buffer because buffer is
+	allocated in vty_new ().
+
+2000-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_AS_FILTER_STR.
+
+	* command.c (config_write_terminal): Display "end" at the end of
+	configuration.
+
+	* plist.c (vty_prefix_list_install): Use AF_INET to determine
+	lenum length.
+
+2000-12-13  "Wataru Uno" <wataru@po.ntts.co.jp>
+
+	* buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
+	then all lines write by IOV_MAX.
+
+2000-12-12  Michael Rozhavsky <mrozhavsky@opticalaccess.com>
+
+	* command.c (config_write_file): Robust method for writing
+	configuration file and recover from backing up config file.
+
+2000-11-29  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* smux.c (smux_connect): More fail check.
+	(smux_trap): When SMUX connection is not established, do nothing.
+
+2000-11-28  Gleb Natapov <gleb@nbase.co.il>
+
+	* thread.c (thread_fetch): Execut event list first.  Old event
+	list is renamed to ready list.  With this change, event thread is
+	executed before any other thread.
+
+	* thread.h (struct thread_master): Add ready list.
+
+2000-11-28  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* linklist.c (listnode_add_after): Add node right after the
+	listnode pointer.
+
+2000-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* smux.h: Pass struct variable to WriteMethod.
+
+2000-11-25  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
+
+	* if.c (if_lookup_address): When looking up interface with IP
+	address, Sometimes multiple interfaces will match.  Now PtP
+	interfaces prevail in such a case which seem the right thing to
+	do: There will probably also be host routes which usually prevail
+	over network routes.
+
+2000-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* smux.c (smux_trap): SMUX trap implementation.
+
+2000-11-19  Akihiro Mizutani <mizutani@dml.com>
+
+	* plist.c: Add automatic conversion function of an old rule. 
+	ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
+
+2000-11-16  Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
+
+	* zclient.c (zebra_interface_add_read): Read hardware address when
+	hw_addr_len is greater than 0.
+
+2000-11-15  Akihiro Mizutani <mizutani@dml.com>
+
+	* plist.c: The rule of "len <= ge-value <= le-value" 
+	was changed to "len < ge-value <= le-value".
+
+2000-11-09  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* memory.[ch]: Added #define and functions for ospf6d.
+
+	* log.[ch]: some platform says that the data of used va_list
+	is undefined. Changed to hold list of va_list for each
+	vsnprintf.
+
+2000-11-07  Rick Payne <rickp@rossfell.co.uk>
+
+	* memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
+
+2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (config_exit): Fix bug of missing break after case
+	BGP_VPNV4_NODE.
+
+2000-10-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vector.c (vector_unset): Check i is not nevative.
+
+2000-10-24  Arkadiusz Miskiewicz <misiek@pld.org.pl>
+
+	* smux.c (smux_sock): Set terminating '\0'.  Check address family.
+
+	* vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
+	gai_strerror.  Check address family.
+
+2000-10-23  Jochen Friedrich <jochen@scram.de>
+
+	* smux.c: Use linklist rather than vector.
+	(smux_getnext): A SMUX subagent has to behave as if it manages the
+	whole SNMP MIB tree itself. It's the duty of the master agent to
+	collect the best answer and return it to the manager. See RFC 1227
+	chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
+	bad here as it actually might ask multiple times for the same
+	GETNEXT request as it throws away the answer when it expects it in
+	a different subtree and might come back later with the very same
+	request.
+
+2000-10-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_init): Log related command are only installed for
+	terminal mode.
+
+2000-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
+
+	* zebra.h: Remove #warn directive.
+
+2000-10-20  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* keychain.c (keychain_init): Register "key chain" command to
+	KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
+
+	* vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
+	CONFIG_NODE.
+
+	* command.c (config_end): Likewise.
+
+	* keychain.c (keychain_get): Key is sorted by it's identifier
+	value.
+
+2000-10-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* linklist.c (list_delete_all_node): Call delete function if it is
+	defined.
+
+	* command.c (cmd_execute_command_strict): Add modification for
+	vtysh.
+	(cmd_execute_command_strict): Remove first argument cmdvec because
+	it is global varibale in command.c.
+
+2000-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_init): Install
+	copy_runningconfig_startupconfig_cmd only in terminal mode.
+
+	* linklist.c (list_delete_node): Simplify the function.
+	(listnode_lookup): Renamed from list_lookup_node.
+
+2000-10-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* stream.h: Undef stream_read and stream_write without
+	parenthesis.
+
+	* newlist.c: File removed.
+
+	* newlist.h: Likewise.
+
+	* linklist.c (list_new): Remove list_init().  To allocate new
+	linked list, please use list_new().
+	(listnode_add): Remove list_add_node().  To add new node to linked
+	list, please use listnode_add().
+	(list_delete_by_val): Revemove fucntion.
+
+2000-10-16  Nobuaki Tanaka <nobby@po.ntts.co.jp>
+
+	* table.c (route_table_free): Reimplement route_table_free().
+
+2000-10-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* keychain.c (keychain_get): Register key_delete_func to key
+	list's delete function.  Use linklist.c instead of newlist.c.
+
+2000-10-04  Akihiro Mizutani <mizutani@dml.com>
+
+	* filter.c (access_list_remark): Add access-list's remark command.
+	(no_access_list): "no access-list 100 permit any" error message
+	bug is fixed.
+
+2000-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_SOCKUNION.
+
+2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.89 is released.
+
+2000-10-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* linklist.c (list_add_node_head): Delete unused function.
+	(list_add_node_tail): Likewise.
+
+2000-09-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* stream.c (stream_read_unblock): Add new function for unblocking
+	read.
+
+2000-09-26  Jochen Friedrich <jochen@nwe.de>
+
+	* smux.c (smux_register): Fix bug of can't register more than one
+	MIB with SMUX.
+
+2000-09-26  Makoto Otsuka <otsuka@inl.ntts.co.jp>
+
+	* vty.c (vty_close): Fix memory leak of sb_buffer.
+	(vty_new): Likewise.
+
+2000-09-21  steve@Watt.COM (Steve Watt)
+
+	* log.h: Do not declare zlog_priority[0] variable.
+
+2000-09-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* linklist.h (struct _list ): Add member cmp for compare function.
+	(struct _list ): Member up is deleted
+
+2000-09-12  David Lipovkov <dlipovkov@OpticalAccess.com>
+
+	* if.c: Include RIP_API header when RIP API is enabled.
+
+2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* prefix.c (prefix_free): Siplify prefix_free().
+
+	* keychain.c (key_match_for_accept): strncmp check bug is fixed.
+
+2000-09-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h: Merge roken.h into zebra.h.
+
+2000-09-05  Akihiro Mizutani <mizutani@dml.com>
+
+	* routemap.c (route_map_init_vty): Install route-map command to
+	RMAP_NODE.
+
+2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* thread.c (thread_get_id): Remove pthread related garbage.
+
+	* command.h (struct host): Likewise.
+
+	* zebra.h: Likewise.
+
+2000-08-20  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add AAA node for authentication.
+
+	* vty.c (vty_close): Do not close stdout.
+
+2000-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_init_vtysh): Added for vtysh.
+
+	* distribute.c (districute_list_prefix_all): Interface independent
+	filter can be set.
+	(distribute_list_all): Likewise.
+	(config_show_distribute): Display current distribute-list status
+	for "show ip protocols".
+
+2000-08-18  Akihiro Mizutani <mizutani@dml.com>
+
+	* command.c (config_terminal_no_length): no terminal monitor ->
+	terminal no monitor
+	(cmd_init): Do not install service_terminal_length_cmd into
+	ENABLE_NODE.
+
+	* vty.c (terminal_no_monitor): no terminal length -> terminal no
+	length.
+
+2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.88 is released.
+
+2000-08-17  Magnus Ahltorp <ahltorp@nada.kth.se>
+
+	* vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
+	better IAC handling.
+
+	* vty.c (vty_telnet_option): Change telnet option handling.
+
+2000-08-15  Gleb Natapov <gleb@nbase.co.il>
+
+	* zclient.c (zclient_redistribute_unset):  New function added.
+
+2000-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.c (zebra_interface_add_read): Change ifindex restore
+	size from two octet to four.
+	(zebra_interface_state_read): Likewise.
+	(zebra_interface_address_add_read): Likewise.
+
+2000-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_event): Use vector_set_index() instead of
+	vector_set().
+
+2000-08-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
+	Administrative Distance of each protocol.
+
+2000-08-07  Matthew Grant <grantma@anathoth.gen.nz>
+
+	* if.h (struct interface ): Add new member bandwidth to struct
+	interface.
+
+	* zclient.c (zebra_interface_add_read): Fetch bandwidth value.
+	(zebra_interface_state_read): Likewise.
+
+2000-08-07  Gleb Natapov <gleb@nbase.co.il>
+
+	* routemap.c (route_map_event_hook): New hook route_map_event_hook
+	is added.  This hook is called when route-map is changed. The
+	parameters passed to the hook are 'event' and 'route-map name'
+
+	* routemap.h: Add prototype for route_map_event_hook().
+
+2000-08-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
+	zebra_ipv4_add(), zebra_ipv4_delete() are removed.
+
+	* routemap.c (route_map_empty): Add new function.
+	(route_map_delete): Use route_map_index_delete() instead of
+	route_map_index_free().
+	(route_map_index_free): Function removed.
+
+2000-08-06  Gleb Natapov <gleb@nbase.co.il>
+
+	* routemap.c (route_map_index_delete): Add check for route-map is
+	empty or not.
+
+2000-08-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
+	zclient.
+
+2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.h (struct zebra): Add obuf for output buffer.
+
+	* if.c: Remove #ifdef NRL enclosing if_nametoindex() and
+	if_indextoname().
+
+2000-08-02  David Lipovkov <davidl@nbase.co.il>
+
+	* if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
+	(IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
+
+	* if.c (interface_pseudo): Add "pseudo" command to interface node.
+	(no_interface_pseudo): Add "no pseudo" command to interface node.
+
+	* zclient.c (zebra_interface_add_read): Set pseudo flag when it is
+	send from zebra.
+
+2000-08-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
+	(ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
+
+	* vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
+
+2000-07-31  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c: Use vector for VTY server thread listing instead of
+	single value.
+
+2000-07-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* keychain.c (no_key_chain): "no key chain WORD" command is added.
+
+2000-07-29  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (config_from_file): If command fail in
+	KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
+
+	* vty.h (struct vty ): Add index_sub member.
+
+2000-07-27  Akihiro Mizutani <mizutani@dml.com>
+
+	* if.c: Help strings updates.
+
+2000-07-11  Akihiro Mizutani <mizutani@dml.com>
+
+	* command.c (no_config_enable_password): Add "no enable password"
+	command.
+	(config_write_host): Display password string.
+
+	* routemap.c (route_map_delete_match): Add support for delete
+	match without argument.
+	(route_map_delete_set): Likewise.
+
+2000-07-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Change KEYCHAIN_NODE and
+	KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
+
+2000-07-09  Jochen Friedrich <jochen@scram.de>
+
+	* smux.c (config_write_smux): Fixes the option to override OID and
+	password for SMUX.
+
+2000-07-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add SMUX_NODE for SMUX configuration.
+
+2000-07-09  Toshiaki Takada  <takada@zebra.org>
+
+	* command.c: Sort descvec command's help.
+
+	* vty.c (vty_describe_command): Display '<cr>' at the end of
+	descriptions.
+
+2000-07-05  Toshiaki Takada  <takada@zebra.org>
+
+	* command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match):  Fix bug
+	treatment of double colon.
+
+2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zclient.h: Add zclient_redistribute_default_{set,unset}().
+
+	* keychain.c: New file for authentication key management.
+	* keychain.h: Likewise.
+	
+	* tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
+	ipchains.
+	* tcpfilter.h: Likewise.
+	
+	* flap.h: New file for route flap dampening.
+	* flap.c: Likewise.
+
+2000-07-04  Toshiaki Takada <takada@zebra.org>
+
+	* filter.c (struct filter): Add exact flag.
+	(access_list): Add exact-match command.
+	(ipv6_access_list): Add exact-match command.
+	
+2000-07-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
+	request default route.
+
+2000-07-01  Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
+
+	* smux.c: Add IPv6 smux connection code.
+
+2000-06-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_complete_command): To cooperate readline library,
+	returned string is newly allocated.  So some match function case
+	need, free of memory.
+
+2000-06-12  Akihiro Mizutani <mizutani@dml.com>
+
+	* distribute.c: Fix help strings.
+
+2000-06-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_complete_command): Add check for vector_slot
+	(vline, index) is not NULL when calculating lcd.
+	(cmd_entry_function): First check variable arguemnt to prevent it
+	from completion.
+
+2000-06-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.h (struct vty ): Add output_count member for displaying
+	output route count.  Remove arugment arg from output_func because
+	the value is passed by vty argument.  Change output to output_rn.
+	Add output_clean function pointer member.  Add output_type member.
+
+2000-06-10  Toshiaki Takada <takada@zebra.org>
+
+	* command.c (show_startup_config): Add "show startup-config"
+	command.
+
+2000-06-06  Akihiro Mizutani <mizutani@dml.com>
+
+	* filter.c: Fix help strings.
+
+2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* prefix.h (struct prefix_rd): New prefix structure for routing
+	distinguisher.
+	(struct prefix): Add padding to every prefix structure.
+
+
+	* routemap.c (route_map_add_match): When completely same match
+	statement exists, don't duplicate it.
+
+2000-06-05  Akihiro Mizutani <mizutani@dml.com>
+
+	* routemap.c: Change NAME to WORD.
+
+	* plist.c: Fix help strings.
+
+2000-06-02  Akihiro Mizutani <mizutani@dml.com>
+
+	* routemap.c: Fix route-map help strings.
+
+2000-06-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
+	to filter other non vararg commands.
+
+	* routemap.c (route_map_init_vty): Use install_default() for
+	install common commands into route-map node..
+
+2000-06-01  Akihiro Mizutani  <mizutani@dml.com>
+
+	* command.h (OSPF_STR):  Macro added.
+
+2000-05-31  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_complete_command): LCD completion must not modify
+	installed command string.
+
+	* plist.c (ipv6_prefix_list): Fix wrong syntax definition.  Change
+	X:X::X:X to X:X::X:X/M.
+
+2000-05-31  Toshiaki Takada  <takada@zebra.org>
+
+	* vty.c (show_history):  New defun added.
+
+2000-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
+	list.  CMD_COMPLETE_MATCH is used for LCD completion.
+
+	* vty.c (vty_complete_command): Matched string's LCD is completed.
+
+	* command.c (cmd_lcd): New function for calculate LCD of matched
+	strings.
+
+2000-05-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (install_default): config_write_terminal_cmd,
+	config_write_file_cmd, config_write_memory_cmd are added to
+	default node.
+
+	* memory.c (memory_init): Divide show memory command into each
+	sort.
+
+	* command.c (cmd_init): config_write_terminal_cmd,
+	config_write_file_cmd, config_write_memory_cmd are added to
+	CONFIG_NODE.
+
+	* routemap.c (route_map_index_free): New function.
+	(no_route_map_all): New DEFUN for "no route-map NAME".
+
+	* filter.c (no_access_list_all): New DEFUN for delete access-list
+	with NAME.
+	(no_ipv6_access_list_all): Likewise.
+
+2000-05-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* plist.c: Change IPV6_PREFIX to X:X::X:X.  When "any" is
+	specified, user can not use "ge" and "le" statement.
+
+2000-05-22  Thomas Molkenbur <tmo@datus.datus.com>
+
+	* routemap.c (route_map_add_set): Fix bug of next pointer missing.
+
+	* table.c (route_table_free): Like wise.
+
+2000-05-22  Toshiaki Takada  <takada@zebra.org>
+
+	* vty.c (vty_stop_input): Set history pointer to the latest one.
+
+	* vty.c (vty_hist_add): Do not add command line history when input
+	is as same as previous one.
+
+2000-05-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
+
+2000-05-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add BGP_VPNV4_NODE.
+
+2000-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
+	argument.  Reported by: Vesselin Mladenov <mladenov@netbg.com>.
+
+	* filter.c (ipv6_access_list): Add IPv6 prefix example instead of
+	IPv4 example.  Reported by: Love <lha@s3.kth.se>.
+
+	* command.c (cmd_complete_command): Make it sure last element of
+	matchvec is NULL.  This fix problem which cause crush in
+	vty_complete_command().  Reported by: JINMEI Tatuya
+	<jinmei@isl.rdc.toshiba.co.jp>.
+
+2000-04-28  Love <lha@s3.kth.se>
+
+	* prefix.h (struct prefix): Add padding.
+
+2000-04-28  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (show_version): Update copyright year.
+
+2000-04-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* routemap.c (route_map_apply): When map is NULL, return deny.
+
+2000-04-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c (access_list_apply): When access is NULL, return deny.
+
+	* plist.c (prefix_list_apply): When plist is NULL, return deny.
+
+2000-04-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
+
+2000-04-18  Toshiaki Takada  <takada@zebra.org>
+
+	* filter.[ch] (access_list_add_hook), (access_list_delete_hook):
+	Add argument for hook function to give struct access_list *.
+
+2000-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* plist.c (prefix_list_entry_match): In case of le nor ge is
+	specified, exact match is performed.
+	(prefix_list_entry_match): Add any entry matching check.
+
+2000-04-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (exec_timeout): Separate timeout setting to minutes and
+	seconds.
+	(no_exec_timeout): Add "no exec-timeout" command.
+
+	* vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
+	600.
+
+2000-03-31  Jochen Friedrich <jochen@scram.de>
+
+	* smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
+	it is a primitive encoding and not constructed.
+
+2000-03-28  Toshiaki Takada  <takada@zebra.org>
+
+	* memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
+
+2000-03-26  Love <lha@s3.kth.se>
+
+	* zclient.c (zclient_read): Add nbytes size check for
+	ZEBRA_HEADER_SIZE.  Check return value of steam_read ().
+
+2000-03-26  Rick Payne <rickp@rossfell.co.uk>
+
+	* routemap.c: Add flexible route-map commands such as on-match
+	next, on-match goto N.
+
+	* routemap.h: Likewise
+
+2000-03-23  Adrian Bool <aid@u.net.uk>
+
+	* command.c (config_log_trap): Add new command "log trap
+	PRIORITY".
+
+2000-03-14  Toshiaki Takada  <takada@zebra.org>
+
+	* memory.c (struct memory_list): Add Link List and Link Node
+	to view.
+	
+	* memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
+	
+2000-01-20  Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
+
+	* str.c (snprintf): Fix bug of calling sprintf instead of
+	vsprintf.
+
+2000-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_RIP_PEER.
+
+2000-01-15  Toshiaki Takada  <takada@zebra.org>
+
+	* memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
+
+2000-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add MASC_NODE for masc.
+
+2000-01-09  Wang Jianliang <wangjl@soim.net>
+
+	* routemap.c (route_map_index_add): When route_map_index is not
+	empty and insert new item at the head, it can cause core dump.
+	Fix "if (index == map->head)" to "if (point == map->head).
+	(route_map_add_set): If there is an old set command, override old
+	set command with new one.
+	(route_map_index_delete): Use while() instead of for for() for
+	logical correctness.
+
+1999-12-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_BGP_STATIC.
+
+1999-12-23  Alex Zinin <zinin@amt.ru>
+	* zebra.h, zclient.*: dynamic int up/down message
+	support
+
+1999-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* thread.c (thread_cancel_event): Add a function for clean up
+	events.
+
+1999-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* dropline.c: Delete file.
+	dropline.h: Linewise.	
+
+1999-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c (access_list_filter_delete): Wrong pointer
+	access->master was pointed out after access is freed.  I store
+	master value at the beginning of the function.
+
+1999-12-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (exec_timeout): Change of VTY timeout affect to current
+	VTY connection.
+	(vty_accept): Instead of immediate exit() return -1.
+
+1999-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_configure_lock): Configuration lock function added.
+	Only one VTY can use CONFI_NODE at the same time.
+
+	* log.c: Delete zvlog_* functions.  Now zlog_* does the same
+	thing.
+
+	* log.c (log_init): Function removed.
+	(log_close): Likewise.
+	(log_flush): Likewise.
+	(log_open): Likewise.
+
+	* vty.c (terminal_monitor): Add new command.
+	(no_terminal_monitor): Likewise.
+
+	* log.c (old_log): Function removed.
+	(old_log2): Likewise.
+	(old_log_warn): Likewise.
+
+1999-12-04  Toshiaki Takada  <takada@zebra.org>
+
+	* command.c (cmd_ipv6_match): New function added.
+	(cmd_ipv6_prefix_match): Likewise.
+	
+1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_ipv6_match): 
+
+	* table.c: Delete #ifdef HAVE_MBGPV4.
+
+	* prefix.h (struct prefix): Add safi member.
+	(struct prefix_ipv4): Likewise.
+	(struct prefix_ipv6): Likewise.
+
+1999-12-04  Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
+
+	* memory.c (struct mstat): Revert to support MEMORY_LOG.
+
+1999-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h: Bump up to 0.81c for testing new kernel codes.
+
+1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* thread.h (struct thread): Pthread support is disabled all
+	platform.
+
+1999-11-21  Michael Handler <handler@sub-rosa.com>
+
+	* Include <limits.h> and <strings.h> under SUNOS_5.
+
+1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
+1999-11-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
+
+1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (disable): Add `disable' command.
+
+1999-11-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* plist.c (vty_prefix_list_install): Add any check.
+
+1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add DUMP_NODE.
+
+1999-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* smux.c: Change default SMUX oid to compatible with gated.
+
+1999-10-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_rmap.c: New file added.
+
+	* if_rmap.h: New file added.
+
+1999-10-29  Alex Zinin  <zinin@amt.ru>
+
+	* hash.c: add hash_free() function
+
+1999-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* hash.c (hash_clean): Add clean function.
+
+	* plist.c (prefix_list_reset): Add reset function.
+
+	* filter.c (access_list_reset): Add reset function.
+
+1999-10-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* client.c: Merged with zclient.c.
+	* client.h: Merged with zclient.h.
+
+1999-10-15  Jordan Mendelson <jordy@wserv.com>
+
+	* md5.c: Imported from GNU C Library.
+	* md5-gnu.h: Likewise.
+
+1999-10-15  Jochen Friedrich <jochen@scram.de>
+
+	* smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
+
+1999-10-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* smux.h: New file added.
+
+	* snmp.c: Rename to smux.c.
+
+1999-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_execute_command_strict): Filter ambious commands.
+	(cmd_filter_by_string): Change to return enum match_type.
+
+1999-10-01  Toshiaki Takada  <takada@zebra.org>
+
+	* vty.c (vty_describe_fold): New function which does VTY
+	description line fold.
+	* vty.c (vty_describe_command): Set description column.
+
+1999-09-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* plist.c (prefix_list_init_ipv4): VTY user interface is improved.
+
+1999-09-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
+	CMD_IPV4_PREFIX check.  Both return type must be exact_match.
+
+1999-09-24  Toshiaki Takada  <takada@zebra.org>
+
+	* command.c (cmd_filter_by_completion),
+	(is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range 
+	parameter matches range.
+
+1999-09-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
+	is performed.
+
+1999-09-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_read): Control-C stop VTY_MORE mode.
+
+1999-09-20  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add ACCESS_IPV6_NODE and
+	PREFIX_IPV6_NODE.
+
+	* distribute.h: New file added.
+
+	* command.h (node_type ): Delete DISTRIBUTE_NODE.
+
+1999-09-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_terminate_all): New function added for reload
+	support.
+
+1999-09-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
+
+1999-08-31  Janos Farkas <chexum@shadow.banki.hu>
+
+	* vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
+	esc-ctrl-h (delete word backwards).
+
+1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.h: Add if_nametoindex for NRL.
+
+1999-08-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c (if_create): New function.
+
+1999-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* snmp.c: New file.
+
+1999-08-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* stream.c (stream_put): stream_memcpy () is changed to stream_put
+	().  stream_get () is added.
+
+1999-08-18  Toshiaki Takada  <takada@zebra.org>
+
+	* memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
+	
+1999-08-18  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* table.c (route_table_finish): add function frees table.
+
+1999-08-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_RTADV_PREFIX.
+
+1999-08-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.h (struct interface ): hw_address, hw_address_len added.
+
+1999-08-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.h (struct interface ): Change structure member if_data to
+	info, index to ifindex.
+
+1999-08-08  Rick Payne <rickp@rossfell.co.uk>
+
+	* routemap.c: Multi protocol route-map modification.
+
+	* routemap.c (route_map_apply): Route match process bug is fixed.
+
+1999-08-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* thread.c (thread_fetch): When signal comes, goto retry point.
+
+1999-08-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am: Add sockopt.c and sockopt.h
+	* sockopt.c: New file.
+	* sockopt.h: New file.
+	
+1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h (ZEBRA_VERSION): Release zebra-0.75
+
+1999-08-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
+
+1999-07-31  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* sockunion.h: Add sockunion_getpeername ().
+
+1999-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h: Release zebra-0.74
+
+1999-07-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (struct host): Delete lines from struct host.  Add
+	lines to struct vty.
+
+	* command.c: Delete `lines LINES'.  Terminal display line settings
+	should be done by `terminal length' command.
+
+1999-07-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): MTYPE_OSPF_PATH are added.
+
+1999-07-22  Toshiaki Takada  <takada@zebra.org>
+
+	* memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
+
+1999-07-21  Toshiaki Takada  <takada@zebra.org>
+
+	* linklist.c (list_add_node_prev), (list_add_node_next),
+	(list_add_list): New function added.
+
+	* table.c (route_table_free): New function added.
+	
+1999-07-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* plist.c (config_write_prefix): Set write flag when configuration
+	is written.
+
+1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> 
+
+	* prefix.c : prefix_cmp() added. change apply_mask() to
+	apply_mask_ipv4(), and new apply_mask() added.
+
+1999-07-14  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* prefix.c (prefix2str): append prefixlen.
+
+1999-07-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (config_terminal): Change "config terminal" to
+	"configure terminal".  Reported by Georg Hitsch
+	<georg@atnet.at>.
+	(config_terminal_length): `terminal length <0-512>' is added.  At
+	this moment this command is only usef for vty interface.
+	Suggested by Georg Hitsch <georg@atnet.at>.
+
+1999-07-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* routemap.c (rulecmp): Add wrapper function of strcmp.
+
+1999-07-08  Rick Payne <rickp@rossfell.co.uk>
+
+	* sockunion.c (inet_aton): Fix bug of inet_aton.
+
+1999-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h (ZEBRA_VERSION): Start zebra-0.73
+
+1999-07-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h: Bump up to 0.72.
+
+1999-07-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (install_default): New function for install default
+	commands to the node.
+
+	* memory.h (enum): MTYPE_NEXTHOP is added.
+
+1999-07-01    <kunihiro@zebra.org>
+
+	* command.c (no_banner_motd): `no banner motd' command added.
+
+1999-06-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* regex.c: Update to glibc-2.1.1's posix/regex.c
+
+	* regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
+
+	* prefix.h (IPV4_ADDR_SAME): Macro added.
+	(IPV6_ADDR_SAME): Likewise.
+
+1999-06-29  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_OSPF_VERTEX
+
+	* version.h: Bump up to 0.71.
+
+	* vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
+	VTY socket when IPv6 is enabled.
+
+1999-06-28  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_serv_sock): Change vty_serv_sock determine which
+	address family to bind.
+
+	* command.c: Add quit command.
+
+1999-06-26  NOGUCHI kay <kay@dti.ad.jp>
+
+	* vty.c (vty_read_config): Fix bug of configuration file path
+	detection.
+
+1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h: Bump up to 0.70.
+
+1999-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* buffer.h (GETL): Remove GETL macro.
+
+	* version.h: Bump up to 0.69.
+
+1999-06-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c (connected_add): Commented out connected_log.
+
+1999-06-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (struct cmd_element ): strvec and descvec is combined
+	into newstrvec.
+
+	* command.c (desc_make): Function removed.
+	(desc_next): Function removed.
+
+	* command.h (struct cmd_element ): docvec is removed from struct
+	cmd_element.
+
+1999-06-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_execute_command): Remove command NULL check.
+
+	* command.h (struct cmd_element ): Add newstrvec entry to struct
+	cmd_element.
+	(DEFUN2): DEFUN2 macro is removed.  DEFUN is extended to support
+	(a|b|c) statement.
+	(DESC): DESC macro is removed.
+
+	* vty.c (vty_complete_command): When return value is
+	CMD_ERR_NO_MATCH, don't display error message.
+
+1999-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* table.c (route_next_until): New function.
+
+	* version.h: Bump up to 0.68.
+
+1999-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_close): Free vty->buf when vty is closed.
+
+	* memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
+	MTYPE_COMMUNITY_LIST.
+
+	* vty.h (struct vty ): Change buf from static length buffer to
+	variable length buffer.
+
+	* vty.c (vty_ensure): New function added.
+	
+1999-06-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add COMMUNITY_LIST_NODE.
+
+	* command.c (config_enable_password): Freeing host.enable bug is
+	fixed.
+	(config_enable_password): Add argc count check.
+
+1999-05-31  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h: Bump up to 0.67.
+
+1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (zencrypt): New function for encrypt password.
+
+	* command.h (struct host): Add password_encrypt and
+	enable_encrypt.
+
+1999-05-30  Jochen Friedrich <jochen@scram.de>
+
+	* command.h (struct host): New member encrypt is added for
+	encrypted password.
+
+1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c: Remove all_digit_check function.  Instead use all_digit.
+
+	* prefix.c (all_digit): New function for checking string is made
+	from digit character.
+
+1999-05-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (libzebra_a_SOURCES): Add zclient.c.
+	(noinst_HEADERS): Add zclient.h
+
+	* zclient.[ch]: New file for zebra client routine.
+
+	* memory.h (enum): Add MTYPE_ZEBRA.
+
+1999-05-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h (ZEBRA_VERSION): Update to 0.66.
+
+1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* buffer.h (GETC,GETW): Macro deleted.
+
+1999-05-15  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
+
+	* prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
+
+1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (service_advanced_vty): New command added.
+	(no_service_advanced_vty): Likewise.
+
+1999-05-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_auth): If advanced flag is set and enable password is
+	not set, directly login to the ENABLE_NODE.  This feature is
+	originally designed and implemented by Stephen R. van den Berg
+	<srb@cuci.nl>.
+
+	* command.h (host): Add advanced flag to struct host for advanced
+	vty terminal interface.
+
+	* version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
+
+1999-05-14  Stephen R. van den Berg <srb@cuci.nl>
+
+	* command.h (node_type ): Add TABLE_NODE.
+	
+	* vty.c (vty_telnet_option): Check host.lines value.
+
+	* command.c (config_lines): DEFUN for 'lines LINES' command.
+
+	* zebra.h: Include <sys/utsname.h> for uname().
+	(RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
+	routing table.
+
+	* vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
+	password is not set.
+	(vty_prompt): Get machine's hostname when hostname is not set.
+
+1999-05-11  James Willard <james@whispering.org>
+
+	* command.c (config_exit): Close connection when `exit' command is
+	executed at ENABLE_NODE.
+
+1999-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
+
+	* command.c (cmd_execute_command_strict): Matched command size
+	check added.
+	(cmd_make_desc_line): New function for DEFUN2.
+
+	* command.h (struct cmd_element ): Add descsize.
+
+1999-05-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (struct cmd_element ): Remame descvec to docvec.
+	(struct cmd_element ): Add descvec for new description system.
+
+	* command.c (desc_make): Check cmd->descvec.
+
+1999-05-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
+
+1999-05-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
+	release.
+
+1999-05-04  Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+
+	* linklist.c (list_delete_all_node): bug fix. 
+	previous code loses current position when node
+	is deleted.
+
+1999-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (DESC): Macro added.
+	(struct cmd_element2): Delete struct cmd_element2.
+
+	* plist.c (prefix_list): Sequential number option check is added.
+
+1999-05-02  Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+
+	* log.c (zvlog_{debug,info,notice,warn,err}): have been
+	added. now we can log both console and file, but still 
+	need some fix about config write.
+
+1999-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* log.c (zvlog_debug): Fix yasu's change.
+
+1999-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* plist.c (prefix_list): Fix typo.
+
+1999-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Set version to 0.63 for first beta package.
+
+1999-04-27  Carlos Barcenilla <barce@frlp.utn.edu.ar>
+
+	* prefix.c (str2prefix_ipv4): Fix prefix length check.
+	(str2prefix_ipv6): Likewise.
+
+1999-04-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): Add MTPYE_PREFIX_LIST and
+	MTYPE_PREFIX_LIST_ENTRY.
+
+	* command.h (node_type ): Add PREFIX_NODE.
+
+1999-04-25  Carlos Barcenilla <barce@frlp.utn.edu.ar>
+
+	* command.c: ALIAS (config_write_memory_cmd) and ALIAS
+	(copy_runningconfig_startupconfig_cmd) is added.
+
+	* table.c (route_node_lookup): Unused match variable deletion.
+
+1999-04-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (libzebra_a_SOURCES): plist.c added.
+	(noinst_HEADERS): plist.h added.
+
+	* plist.c, plist.h: New file added.
+
+	* memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
+	* memory.c: Likewise.
+
+1999-04-19  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
+
+	* command.c (show_version): `show version' command added.
+
+1999-04-19  Kunihiro Ishiguro <kunihiro@zebra.org>
+
+	* prefix.c (str2prefix_ipv6): Prefix length overflow check.
+
+1999-04-19  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
+
+	* prefix.c (str2prefix_ipv4): Prefix length overflow check.
+
+1999-04-19  Alex Bligh <amb@gxn.net>
+
+	* prefix.c (sockunion2hostprefix): Function added.
+	(sockunion2prefix): Address family was not set.  Now it is set.
+	
+	* vty.c: VTY access-class command is added.
+
+1999-04-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.c: Change xmalloc to zmalloc.  xcalloc, xrealloc, xfree,
+	xstrdup are likewise.
+
+1999-04-18  Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+
+	* thread.c: Add thread_execute for other routing daemon.
+	OSPF tasks need to be generated by "sheduled" and "executed".
+
+1999-04-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* buffer.c: Rewrite buffer_write and buffer_flush related
+	functions for fixing bugs.  Reason of the problem and fix is
+	suggested by Alex Bligh <amb@gxn.net>.
+	
+1999-04-12  Alex Bligh <amb@gxn.net>
+
+	* command.c (cmd_entry_function_descr): Added for variable
+	argument help display.
+
+1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
+
+1999-03-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* stream.c: stream_fifo_free bug is fixed.
+
+1999-03-19  Toshiaki Takada  <takada@zebra.org>
+
+	* stream.c (stream_strncpy): Added for getting any length bytes
+	from stream.
+
+1999-03-16  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* version.h (ZEBRA_BUG_ADDRESS): New macro added.
+
+1999-03-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* buffer.c (buffer_flush_window): If ep is same as buffer's size
+	length and lp is overrun one octet.
+
+1999-03-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.h: add VTY's timeout function.
+
+1999-03-05    <kunihiro@zebra.org>
+
+	* command.h (node_type ): Add OSPF6_node.
+
+1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
+
+1999-03-03  Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
+
+	* zebra.h: Include <net/if_var.h> if it exists.
+
+1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* getopt.[ch],getopt1.c: Sync with glibc-2.1.
+
+	* log.c (zlog): Tempolary ZLOG_STDOUT feature added.
+
+	* command.h: Include vector.h and vty.h
+
+1999-02-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
+
+	* routemap.c (route_map_apply_index): Add prefix argument.
+	(route_map_apply): Likewise.
+
+	* memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
+
+	* stream.c: Add stream_fifo related functions.
+
+1999-02-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* daemon.c: Return integer value.  File descriptor close is added.
+
+	* memory.h (enum): add MTYPE_OSPF_LSA.
+
+1999-02-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rsh.c: Remove empty file.
+
+1999-02-22    <kunihiro@zebra.org>
+
+	* routemap.c: Add add/delete hook to route_map_master.
+
+1999-02-19  Peter Galbavy  <Peter.Galbavy@knowledge.com>
+
+	* str.[ch] added to supply wrappers for snprintf(), strlcat() and
+	strlcpy on system without these.
+
+1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com>
+
+	* syslog support added
+
+1999-02-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c (access_list_add_hook): added for hook function management.
+	* filter.c (access_list_delete_hook): Likewise.
+
+1999-01-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* stream.c: New file.
+	* stream.h: New file.
+	* Divide stream related fucntions from buffer.[ch] into stream.[ch].
+	
+1999-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
+
+	* buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
+
+1998-12-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* routemap.c: route_map_index_delete() added.
+
+1998-12-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* buffer.c (buffer_empty): check cp instead of sp.
+
+1998-12-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* radix.[ch]: Deleted.
+
+1998-12-15  Magnus Ahltorp <map@stacken.kth.se>
+
+	* buffer.c: Prototype fixes.
+	* prefix.c: Likewise.
+	* sockunion.c: Likewise.
+	* sockunion.h: Likewise.
+
+1998-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_read): DELETE key works as vty_delete_char.
+
+1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* log.c (time_print): chane %y to %Y.
+
+1998-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* distribute.c: new file.
+
+1998-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
+	complete support of IPv6 access list.
+
+	* command.c (config_write_element): function delete.
+	(config_write_host): function add.  password and enable password
+	isn't printed to vty interface.
+
+1998-12-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.c: Change prefix_ipv4 to prefix and add support of
+	prefix_ipv6 filtering.
+
+1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
+	header includes.
+
+1998-12-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* log.c (log_flush): fix function name typo.
+
+1998-12-04  Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+
+	* memory.h: OSPF memory type is added.
+
+1998-11-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (sort_node): add sort_node() for pretty printing of
+	command on vty interface.
+	(config_password): delete the restriction of charaster of password
+	string.
+
+1998-09-05  Kunihiro Ishiguro  <kunihiro@debian.zebra.org>
+
+	* prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
+
+1998-08-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* network.h: New file.
+
+1998-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_will_echo): function name change from vty_off_echo.
+
+1998-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* buffer.h: add PUTC,PUTW,PUTL macros.
+
+1998-07-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* route.[ch]: renamed to prefix.[ch]
+
+1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
+
+	* Makefile.am: @INCLUDES@ is deleted from INCLUDES.
+
+1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* host.[ch]: merged with command.[ch]
+
+1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
+
+1998-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* route.c (str2prefix): str2prefix () is gone.
+
+1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
+
+	* .cvsignore: add file.
+
+	* memory.c (xerror): add arguent `type' and `size'.
+
+	* socket.c: deleted.
+
+1998-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
+	* linklist.c: same as above.
+
+1998-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* filter.[ch]: added.
+
+1998-04-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (config_who): return CMD_SUCCESS
+
+1998-04-01  Jochen Friedrich <jochen@scram.de>
+
+	* table.c (route_dump_node): route_dump_node is IPv6 specific
+	function so move #ifdef to the end of route_dump_node ().
+
+1998-03-05  "Hannes R. Boehm" <hannes@boehm.org>
+
+	* if.c: DEFUN(interface_desc) added.
+
+1998-03-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c: separated from ripd/rip_interface.c
+
+1998-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* thread.[ch] : added.
+
+1998-02-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_delete_char): fix size bug.
+	(vty_backward_pure_word): function added.
+	(vty_read): ESC + 'f' perform vty_forward_word.
+	(vty_read): ESC + 'b' perform vty_backward_word.
+
+1998-02-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* radix.c (radix_lookup_rt): add mask check.
+	(radix_delete_duproute): add mask check.
+
+1998-02-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (config_write_file): fix vty -> file_vty.
+
+1998-02-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_filter_ambiguous): add complex type treatment.
+
+1998-02-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_time_print): function added.
+	(vty_complete_command): now [...] element isn't shown by completion.
+
+1998-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c : change from cmd_install_node() to install_node().
+
+1998-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* route.[ch]: struct rt{} is replaced by struct prefix{}.
+
+1998-01-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c (cmd_execute_command): check command length.
+
+	* timer.c (zebra_timer_set): add zebra_timer_set.
+
+1998-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.h (node_type ): add ZEBRA_NODE.
+
+	* command.c (config_exit): add RIP_NODE.
+	(config_write_file): add RIP_NODE.
+
+1998-01-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* print_version.c (print_version): Now Copyright is 1996-1998.
+
+	* sockunion.c (sockunion_log): moved from ../zebra/route.c
+
+1997-12-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
+
+	* sockunion.c (sockunion_sameprefix): add same prefix for
+	sockunion.
+
+1997-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* radix.[ch] : are moved from ../zebra directroy.
+	
+	* command.c (config_from_file): if command execution failed down
+	level to CONFIG_NODE.
+
+	* host.c: config_log function which enable 'log FILENAME' command.
+
+1997-12-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c: add vty_transpose_chars ().  Now you can use '^T' to
+	transpose character.
+
+	* command.c: cmd_cmdsize add, this is useful to check incomplete
+	command.
+
+1997-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* fd.h: add family for address family
+
+1997-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.o
+	* vty.o
+	* host.o    is moved from ../zebra
+
+1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* make library directory.
+
