2003-02-07 Paul Jakma <paul@dishone.st>

	* Sync to zebra CVS

2003-02-03 Paul Jakma <paul@dishone.st>

	* Sync to zebra CVS

2003-01-19 Paul Jakma <paul@dishone.st>

	* Temporary fix for Generic PtP wrt to IPv6

2003-01-17 Paul Jakma <paul@dishone.st>

	* Sync up to latest zebra.org CVS
	* [zebra 16823] Bugfix and new feature in Opaque-LSA handling
	  Masahiko Endo <endo@suri.co.jp>
	* [zebra 16824] [PATCH] nsm_kill_neighbor 
	  Masahiko Endo <endo@suri.co.jp>
	* [zebra 17217] [PATCH] show thread CPU
	  Yon Uriarte <havanna_moon@gmx.net>
	* [zebra 17218] Re: [PATCH] CLI extensions.
	  Yon Uriarte <havanna_moon@gmx.net>

2002-12-13 Paul Jakma <paul@dishone.st>

	* added support for vtysh 'write file' command to 
	  write either per-daamon and/or integrated file
	* ospfd md5 buffer copying fix (Greg Troxel) 
	* ospfd md5 sequence number derived from time()
	* RIPv1 fixes and improvements (John Hay)
	* link state detection (linux) ([zebra 12269])
	* Generic PtP and RFC3021 interface addressing support
	  (Frank van Maarseveen)
	* Michal Ludvig <michal@logix.cz>:
	  [zebra 16525] PATCH: Bugfixes for KAME systems
	* Kevin C Miller <kevinm@andrew.cmu.edu>
	  [zebra 16681] OSPF NSSA Patches
	* Yon Uriarte <havanna_moon@gmx.net>
	  [zebra 16671] [PATCH] CLI extensions
	* Masahiko Endo: [zebra 15475] - MPLS-TE docs

2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* zebra-0.93 released.

2002-06-28  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* update-autotools: Change file name from update-auto-tools.sh.

2002-06-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* update-auto-tools.sh: Add a new script to clean up build
	environment.

2002-06-18  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* Shift to the latest build environment autoconf-2.53 and
	automake-1.6.2.

2001-10-22  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* Integrate Glen Turner <glen.turner@aarnet.edu.au>'s pid option.

2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* zebra-0.92a released.

2001-08-19  "Peter Galbavy" <peter.galbavy@knowtion.net>

	* configure.in: SNMP library check problem fix when the library is
	installed under /usr/local/lib.

2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* zebra-0.92 released.

2001-04-22  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (LIBPAM): Use ZEBRA_AC_C_BIGENDIAN to avoid a
	warning.
	(IF_METHOD): Use test -r instead of AC_CHECK_FILE to avoid
	warnings.

	* config.guess: Update to 2000-11-10 version.

2001-04-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER to
	detect in_pktinfo structure.  Suggested by: Vlad Lungu
	<vlad@rls.roknet.ro>.

2001-03-07  Michael Rozhavsky <mrozhavsky@opticalaccess.com>

	* configure.in: Add check for structure in_pktinfo.

2001-02-07  "Bjoern A. Zeeb" <bzeeb+zebra@zabbadoz.net>

	* configure.in (USE_PAM): Fix PAM library detection code.

2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.91 is released.

2001-01-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Remove guile related definition.

2001-01-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (ac_cv_htonl_works): HAVE_REPAIRABLE_HTONL is
	removed.  htonl should work fine on any platform.

2001-01-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Remove --enable-oldrib option.

	* acconfig.h: OLD_RIB definition is removed.

	* zebra-0.90 is released.

	* configure.in (LIBS): Add check for sun_len field in struct
	sun_len.

2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.am: Include init/redhat files to distribution.

2001-01-07  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>

	* configure.in: check libm.a for BGPd compile error.
	AC_CHECK_LIB(m, main) was added.

2000-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: --enable-unixdomain becomes default.  Add
	--enable-tcp-zebra for TCP/IP communication between protocol
	daemon and zebra.

	* COPYING.LIB: Added for lib/getopt.c, lib/getopt.h,
	lib/getopt1.c, lib/md5-gnu.h, lib/md5.c, lib/regex-gnu.h,
	lib/regex.c.

	* Makefile.am (dist-hook): Include tools/*.cgi to distribution.

2000-12-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (MULTIPATH_NUM): --enable-multipath=ARG specify
	multipath number.  ARG must be digit.

2000-12-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --enable-newrib for test new RIB code.

2000-11-25  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>

	* configure.in, config.h.in: Add check for libutil.h and
	setproctitle().

2000-10-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --enable-nssa for OSPF NSSA option.

	* acconfig.h: Define HAVE_NSSA.

2000-10-25  "Bjoern A. Zeeb" <bzeeb+zebra@zabbadoz.net>

	* configure.in: pam_misc is only linked when the platform is
	GNU/Linux.

2000-10-24  Arkadiusz Miskiewicz <misiek@pld.org.pl>

	* configure.in (LIBS): Add check for crypto library.  test x`ls
	${ac_snmp}` is replaced with sipmle test -f.

2000-10-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --enable-unixdomain option.  This will be
	default behavior in zebra-0.90.

2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.89 is released.

2000-09-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add check for Intel CPU for Solaris on x86 check.

2000-09-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add check for getifaddrs().
	Set AM_INIT_AUTOMAKE version to 0.89.

2000-09-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* config.guess: Update to the latest version.

	* config.sub: Likewise

2000-09-14  David Lipovkov <dlipovkov@OpticalAccess.com>

	* REPORTING-BUGS: New file is added.

2000-08-27  itojun@iijlab.net

	* configure.in: Add ncurses library check when --enable-vtysh is
	specified.

2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add check for readline/history.h.

	* acconfig.h: Remove pthread related variables.

	* configure.in: Add --with-libpam option for vtysh PAM
	authentication.  Remove --disable-pthread because we don't support
	pthread.

2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.88 is released.

	* configure.in: Add Solaris -lcurses for vtysh.

2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add check for ncurses for compiling on Solaris.

2000-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add check for libreadline when --enable-vtysh is
	specified.

2000-07-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add AC_DEFINE(OPEN_BSD). When OS is OpenBSD
	interface method is if_ioctl.o

2000-07-09  Chris Dunlop <chris@onthe.net.au>

	* acconfig.h: Add HAVE_BROKEN_ALIASES.
	
	* configure.in: Add --enable-broken-aliases.

2000-06-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to zebra-0.87.

2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Remove --enable-mpls-vpn.  Now MPLS-VPN support is
	default.

	* Set version to zebra-0.87-pre

	* Makefile.am: Likewise.

2000-04-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.86.

2000-03-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.85b for ospfd test.

2000-03-20  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.85a for ospfd test.

2000-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.85.

2000-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.in: Regenerated by patched automake for fixing "make
	clean" problem on FreeBSD.

1999-12-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.83a.  This is for *BSD static route lookup
	problem.

1999-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.83.

1999-11-29  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.82.

1999-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* aczebra.m4: New file added.

1999-11-21  Michael Handler <handler@sub-rosa.com>

	* configure.in (LIBS): Add sa_len check of sockaddr.

	* acconfig.h: Add HAVE_SA_LEN.

1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: Update version to zebra-0.81b for bgpd test.

1999-11-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --enable-mbgp.

1999-11-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.am (EXTRA_DIST): Add TODO to the distribution.

1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* TODO: New file is added.

1999-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: Update version to zebra-0.81a for ospfd test.

1999-10-28  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: New option --enable-snmp is added.

1999-10-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: Update version to zebra-0.80.

1999-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: Update version to zebra-0.80-pre3

1999-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (LIBS): SNMP check is done by ucd-snmp/asn1.h.

1999-10-10  Peter Galbavy <Peter.Galbavy@knowledge.com>

	* configure.in: Add support of OpenBSD.

1999-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: Update version to zebra-0.80-pre2.

1999-09-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: Update version to zebra-0.80-pre.  From this version,
	access-list and prefix-list's name space is divided into IPv4 and
	IPv6.

1999-09-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: For test recent fixes Set version to zebra-0.79a.

1999-09-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: zebra-0.79 is out.

1999-09-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: For ospfd's virtual link test.  Set version to 0.78h.

1999-09-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: For ospfd test.  Set version to 0.78g.

1999-09-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: For internal test of ospfd. Set version to 0.78f.

1999-09-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: To test ospfd's fix, set version to 0.78e.

1999-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: To test ospfd's area related bug fix, set version 
	to 0.78d.

1999-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: To test ospfd, set version to 0.78c.

1999-08-31  Janos Farkas <chexum@shadow.banki.hu>

	* Many misspelling correction.

1999-08-31  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* version.h: To test ospfd, set version to 0.78b.

1999-08-31  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (LIBS): Add UCD-SNMP include path check.

1999-08-31  Lars Fenneberg  <lf@elemental.net>

	* configure.in: The logic which detects the UCD-SNMP library
	should first check in the default system locations for the library
	and then in /usr/local.

1999-08-27  itojun@iijlab.net

	* configure.in (LIBS): Fix problem about libsnmp.a check.

1999-08-26  kay <kay@v6.access.co.jp>

	* configure.in (CFLAGS): Add <sys/socket.h> to check socklen_t.

1999-08-24  VOP <vop@unity.net>

	* filter.c: Include "sockunion.h".
	plist.c: Likewise.
	table.c: Likewise.

1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add netinet6/in6.h check.

1999-08-21  Masaki Minami <masaki@minami.org>

	* BSD/OS 4.0 porting.

1999-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --enable-netlink option to force to use Linux
	netlink interface.
	(CFLAGS): Add ucd-snmp library check.

	* acconfig.h: If socklen_t is not defined, typedef int to
	socklen_t.

1999-08-15  Arkadiusz Miskiewicz <misiek@misiek.eu.org>

	* configure.in: When --enable-ipv6 specified, then only kernel
	version is checked.

1999-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add GNU libc 2.1 check.

1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Fix privious Linux IPv6 check changes.

1999-08-02  Arkadiusz Miskiewicz <misiek@misiek.eu.org>

	* configure.in: Improve Linux IPv6 feature check.

1999-07-29  Rick Payne <rickp@rossfell.co.uk>

	* Changed route-maps to behave in a more cisco-like fashion

1999-07-27  Gerhard Poul <gpoul@gnu.org>

	* SERVICES: New file added.

1999-07-12  itojun@iijlab.net

	* configure.in: Add check for getaddrinfo.  Improve Kame related
	library check.

1999-07-07  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>

	* configure.in, acconfig.h: Add check for FreeBSD 3.2.

1999-07-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Delete check for netinet/ip6.h.

1999-06-30  Gerhard Poul  <gpoul@gnu.org>

	* README: remixed the old files and added some new parts.
	moved some INSTALL stuff into INSTALL file.
	moved some other stuff to doc/zebra.texi

1999-06-29  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (LIBS): Add libresolv check.
	Change --enabe-all-in-one option to --enable-one-vty.

1999-06-20  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --enabe-all-in-one option.

1999-06-16  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add socklen_t check.

1999-06-16  Gerhard Poul <gpoul@gnu.org>

	* Many compile warnings fixed.

1999-05-31  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Change message from Linux 2.2.X IPv6 to Linux IPv6.
	OpenBSD (NRL) check is enabled.

1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (LIBS): Add crypt library check.

1999-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add sin6_scope_id in struct sockaddr_in6 check.

1999-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.63 for first beta package.

1999-04-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* guile.m4: Added from guile package.

1999-04-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Set version to 0.60 for beta package preparation.

1999-04-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.am: Add noninst_LIBRARIES each directory's Makefile.am.
	This change is for linking these libraries to guile.

1999-04-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (LIBS): Add struct rt_addrinfo check.

1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: AC_STDC_HEADERS added.

1999-03-29  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Add dependencies to each directory's Makefile.am.

1999-03-02  Peter Galbavy  <Peter.Galbavy@knowledge.com>

	* reworked include file structure, and configure so that all
 	source files get all system-dependent include files by including
 	<zebra.h> which is really lib/zebra.h. This means that the
 	different programs include files are now available as #include
 	"zebra/zebra.h" - note the use of quotes, not <> as delimiters.

	In practical terms, if I haven't really screwed up, the main file
 	that maintainers for other OSes have to change is lib/zebra.h for
 	all the conditional includes etc.

	* added --disable-pthread for those systems that seem to have
 	POSIX threads, but do not work. OpenBSD 2.4+ is like that just
 	now. Changed all occurance of #ifdef PTHREAD to use HAVE_PTHREAD
 	instead.

1999-02-24    <kunihiro@zebra.org>

	* configure.in: update to AC_PREREQ(1.13).
	Change message from Linux 2.1.x to Linux 2.2.x.
	* Added ospf6d directory support.

1999-02-22  Peter Galbavy  <Peter.Galbavy@knowledge.com>

	* added a "log" element to the BGPd peer structure, enabling us to
 	start thinging about a log stream per peer. This is currently
 	ignored by the wrapper code, but developers should try to use the
 	"appropriate" ZLOG stream. Documentation will follow, when the
 	real routines start to exist.

	The current plan is to use a copy of the BSD syslog() routines and
 	replace the syslog library function with our own. I will need
 	feedback from users of other platforms as this work is done to see
 	if all is well elsewhere.
	
	* preliminary work on zlog() library. directly replaces syslog()
 	currently with zlog(ZLOG *, ...) where the new first argument
	is a pointer to a ZLOG structure (defined in lib/log.h) and will
	encapsulate all the information necessary to maintain multiple
	logging streams.

1999-02-19  Peter Galbavy  <Peter.Galbavy@knowledge.com>

	* added vsnprintf() macro to lib/str.h if required and removed
	#ifdef SUNOS_5 dependency on it

1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com>

	* syslog support added

1999-02-18  Peter Galbavy <Peter.Galbavy@knowledge.com>

	* configure.in: Add daemon function check.

1999-01-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Add --disable-ipv6, --disable-zebra,
	--disable-bgpd, --disable-ripd, --disable-ripngd, --disable-ospfd
	options to configure.

1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Check /usr/inet6/lib/libinet6.a exists or not.

1998-10-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Comment out FreeBSD's libc_r detect section. At
	this moment it doesn't work correctly with zebra.

	Netlink interface is only enabled when Linux kernel version is
	upper than 2.1.0.

1998-09-15  HEO SeonMeyong <seirios@matrix.iri.co.jp>

	* Hydrangea is now called KAME, so change all defines.

1998-08-16  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: ifaliasreq check added.

1998-08-12  Katsuhiro Kondou <kondou@nec.co.jp>

	* Patch is applied for compile under EWS4800

1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: delete old mtu_method check.

	* doc/zebra.texi (Kernel interface): chapter `Kernel interface' added

1998-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: add new netlink check for GNU/Linux

1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* doc/zebra.texi: Update Linux netlink chapter.

1998-05-18  Yamashita TAKAO  <jargon@lares.dti.ne.jp>

	* config.h.in: define PTHREAD if work on Solaris 2.6
		why delete the definition? I miss?

1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: add net/if.h header check.

1998-05-02  SeonMeyong HEO <seirios@Matrix.iri.co.jp>

        * zebra.tex,archfig.tex,zebra.sty: Manual file is added.
	* zebra.texi: Modify Introduction text.
	* RIPngd.c: Patch Hydrangea code.

1998-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* .cvsignore: added.

	* Makerule.in: is gone.
	* Makefile.am: Now we use automake to generate Makefile.in

1998-03-19  Yamashita TAKAO  <jargon@lares.dti.ne.jp>

	* lib/vty.c: modified the definition of *master
	* lib/sockunion.c (inet_aton): add, but don't work. uum...


1998-03-15  Yamashita TAKAO  <jargon@lares.dti.ne.jp>

	* configure.in: define PTHREAD if work on Solaris 2.6
	* config.h.in: likewise
	* lib/thread.c: likewise
	* lib/vty.c: likewise
	
1998-03-15  SeonMeyong HEO  <seirios@Matrix.iri.co.jp>

	* config.h.in: define INET6 if defined HAVE_IPV6 & HYDRANGEA
	* bgpd/: remove include <netinet6/in6.h> line.
	* lib/: remove include <netinet6/in6.h> line.
	* ripbgd/: remove include <netinet6/in6.h> line.
	* zebra/: remove include <netinet6/in6.h> line.
	* ripd/*.c: remove include <netinet6/in6.h> line.
	undefine IPV6 difinitions because RIPd is not worked for
	IPv6 protocol.

	
1998-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: Change routing socket check method from
	AC_TRY_COMPILE to AC_TRY_RUN because GNU libc version 2 has
	AF_ROUTE but over linux it's meenigless.

1998-01-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* config.h.in: remove err_t define.

1997-11-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in (canonical): add check of IF_METHOD

1997-09-27  Kunihiro Ishiguro  <kunihiro@note.digital-magic.co.jp>

	* configure.in: add INRIA check

1997-09-25  Kunihiro Ishiguro  <kunihiro@note.digital-magic.co.jp>

	* configure.in (canonical): change ipforward_snmp.o to ipforward_proc.o

1997-09-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* configure.in: change IRDPD to NDPD

1997-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* INSTALL: new file

1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* config.h: add XCALLOC()

