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

	* sync to latest zebra CVS
	* spec file: updated and added define for ospf-api/client

NB: OSPF-API has been broken by the zebra.org changes, which
has added struct ospf * as a new arg to many functions
diff --git a/config.h.in b/config.h.in
index 5895851..afe2b5d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,24 +1,21 @@
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+/* accconfig.h -- `autoheader' will generate config.h.in for zebra.
+   Copyright (C) 1998, 1999 Kunihiro Ishiguro <kunihiro@zebra.org> */
 
-/* Define if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
-#ifndef _ALL_SOURCE
-#undef _ALL_SOURCE
-#endif
+/* Version of GNU Zebra */
+#undef VERSION
 
-/* Define to empty if the keyword does not work.  */
-#undef const
+/* Solaris on x86. */
+#undef SOLARIS_X86
 
-/* Define as the return type of signal handlers (int or void).  */
-#undef RETSIGTYPE
+/* Package name of GNU Zebra */
+#undef PACKAGE
 
-/* Define if you have the ANSI C header files.  */
-#undef STDC_HEADERS
+/* Define if host is GNU/Linux */
+#undef GNU_LINUX
 
-/* Define if your processor stores words with the most significant
-   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
-#undef WORDS_BIGENDIAN
+/* Define if you have the AF_ROUTE socket.  */
+#undef HAVE_AF_ROUTE
 
 /* Define if you have the inet_aton function.  */
 #undef HAVE_INET_ATON
@@ -29,12 +26,123 @@
 /* Define if you have the inet_pton function.  */
 #undef HAVE_INET_PTON
 
+/* Define if you have the setproctitle function.  */
+#undef HAVE_SETPROCTITLE
+
 /* Define if you have ipv6 stack.  */
 #undef HAVE_IPV6
 
+/* Define if you wish to support ipv6 router advertisment.  */
+/* #undef HAVE_RTADV */
+
+/* whether system has GNU regex */
+#undef HAVE_GNU_REGEX
+
+/* whether system has SNMP library */
+#undef HAVE_SNMP
+
+/* whether sockaddr has a sa_len field */
+#undef HAVE_SA_LEN
+
+/* whether sockaddr_in has a sin_len field */
+#undef HAVE_SIN_LEN
+
+/* whether sockaddr_un has a sun_len field */
+#undef HAVE_SUN_LEN
+
+/* whether sockaddr_in6 has a sin6_scope_id field */
+#undef HAVE_SIN6_SCOPE_ID
+
+/* Define if there is socklen_t. */
+#undef HAVE_SOCKLEN_T
+
+/* Define if there is sockaddr_dl structure. */
+#undef HAVE_SOCKADDR_DL
+
+/* Define if there is ifaliasreq structure. */
+#undef HAVE_IFALIASREQ
+
+/* Define if there is in6_aliasreq structure. */
+#undef HAVE_IN6_ALIASREQ
+
+/* Define if there is rt_addrinfo structure. */
+#undef HAVE_RT_ADDRINFO
+
+/* Define if there is in_pktinfo structure. */
+#undef HAVE_INPKTINFO
+
+/* Define if you have the getrusage function. */
+#undef HAVE_RUSAGE
+
+/* Define if /proc/net/dev exists. */
+#undef HAVE_PROC_NET_DEV
+
+/* Define if /proc/net/if_inet6 exists. */
+#undef HAVE_PROC_NET_IF_INET6
+
+/* Define if NET_RT_IFLIST exists in sys/socket.h. */
+#undef HAVE_NET_RT_IFLIST
+
+/* Define if you have INRIA ipv6 stack.  */
+#undef INRIA_IPV6
+
+/* Define if you have KAME project ipv6 stack.  */
+#undef KAME
+
+/* Define if you have Linux ipv6 stack.  */
+#undef LINUX_IPV6
+
+/* Define if you have NRL ipv6 stack.  */
+#undef NRL
+
+/* Define if you have BSDI NRL IPv6 stack. */
+#undef BSDI_NRL
+
+/* Define if one-vty option is specified. */
+#undef VTYSH
+
+/* Define if interface aliases don't have distinct indeces */
+#undef HAVE_BROKEN_ALIASES
+
+/* Define if disable-bgp-announce option is specified. */
+#undef DISABLE_BGP_ANNOUNCE
+
 /* PAM support */
 #undef USE_PAM
 
+/* TCP/IP communication between zebra and protocol daemon. */
+#undef HAVE_TCP_ZEBRA
+
+/* The OSPF NSSA option (RFC1587). */
+#undef HAVE_NSSA
+
+/* The OSPF Opaque LSA option (RFC2370). */
+#undef HAVE_OPAQUE_LSA
+
+/* Traffic Engineering Extension to OSPF
+   (draft-katz-yeung-ospf-traffic-06.txt). */
+#undef HAVE_OSPF_TE
+
+/* Linux netlink. */
+#undef HAVE_NETLINK
+
+/* PATHS */
+#undef PATH_ZEBRA_PID
+#undef PATH_RIPD_PID
+#undef PATH_RIPNGD_PID
+#undef PATH_BGPD_PID
+#undef PATH_OSPFD_PID
+#undef PATH_OSPF6D_PID
+
+/* Define if Solaris */
+#undef SUNOS_5
+
+/* Define if FreeBSD 3.2 */
+#undef FREEBSD_32
+
+/* Define if OpenBSD */
+#undef OPEN_BSD
+
 #ifdef HAVE_IPV6
 #ifdef KAME
 #ifndef INET6
@@ -43,296 +151,300 @@
 #endif /* KAME */
 #endif /* HAVE_IPV6 */
 
-/* Define if you have the bcopy function.  */
-#undef HAVE_BCOPY
+#ifdef SUNOS_5
+typedef unsigned int u_int32_t; 
+typedef unsigned short u_int16_t; 
+typedef unsigned short u_int8_t; 
+#endif /* SUNOS_5 */
 
-/* Define if you have the bzero function.  */
-#undef HAVE_BZERO
-
-/* Define if you have the daemon function.  */
-#undef HAVE_DAEMON
-
-/* Define if you have the getaddrinfo function.  */
-#undef HAVE_GETADDRINFO
-
-/* Define if you have the getifaddrs function.  */
-#undef HAVE_GETIFADDRS
-
-/* Define if you have the if_indextoname function.  */
-#undef HAVE_IF_INDEXTONAME
-
-/* Define if you have the if_nametoindex function.  */
-#undef HAVE_IF_NAMETOINDEX
-
-/* Define if you have the inet_aton function.  */
-#undef HAVE_INET_ATON
-
-/* Define if you have the setproctitle function.  */
-#undef HAVE_SETPROCTITLE
-
-/* Define if you have the snprintf function.  */
-#undef HAVE_SNPRINTF
-
-/* Define if you have the strerror function.  */
-#undef HAVE_STRERROR
-
-/* Define if you have the strlcat function.  */
-#undef HAVE_STRLCAT
-
-/* Define if you have the strlcpy function.  */
-#undef HAVE_STRLCPY
-
-/* Define if you have the vsnprintf function.  */
-#undef HAVE_VSNPRINTF
-
-/* Define if you have the <asm/types.h> header file.  */
-#undef HAVE_ASM_TYPES_H
-
-/* Define if you have the <inet/nd.h> header file.  */
-#undef HAVE_INET_ND_H
-
-/* Define if you have the <kvm.h> header file.  */
-#undef HAVE_KVM_H
-
-/* Define if you have the <libutil.h> header file.  */
-#undef HAVE_LIBUTIL_H
-
-/* Define if you have the <linux/version.h> header file.  */
-#undef HAVE_LINUX_VERSION_H
-
-/* Define if you have the <net/if_dl.h> header file.  */
-#undef HAVE_NET_IF_DL_H
-
-/* Define if you have the <net/if_var.h> header file.  */
-#undef HAVE_NET_IF_VAR_H
-
-/* Define if you have the <net/netopt.h> header file.  */
-#undef HAVE_NET_NETOPT_H
-
-/* Define if you have the <netdb.h> header file.  */
-#undef HAVE_NETDB_H
-
-/* Define if you have the <netinet/icmp6.h> header file.  */
-#undef HAVE_NETINET_ICMP6_H
-
-/* Define if you have the <netinet/in.h> header file.  */
-#undef HAVE_NETINET_IN_H
-
-/* Define if you have the <netinet/in6.h> header file.  */
-#undef HAVE_NETINET_IN6_H
-
-/* Define if you have the <netinet/in6_var.h> header file.  */
-#undef HAVE_NETINET_IN6_VAR_H
-
-/* Define if you have the <netinet/in_var.h> header file.  */
-#undef HAVE_NETINET_IN_VAR_H
-
-/* Define if you have the <netinet6/nd6.h> header file.  */
-#undef HAVE_NETINET6_ND6_H
-
-/* Define if you have the <string.h> header file.  */
-#undef HAVE_STRING_H
-
-/* Define if you have the <stropts.h> header file.  */
-#undef HAVE_STROPTS_H
-
-/* Define if you have the <sys/conf.h> header file.  */
-#undef HAVE_SYS_CONF_H
-
-/* Define if you have the <sys/ksym.h> header file.  */
-#undef HAVE_SYS_KSYM_H
-
-/* Define if you have the <sys/select.h> header file.  */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/sockio.h> header file.  */
-#undef HAVE_SYS_SOCKIO_H
-
-/* Define if you have the <sys/sysctl.h> header file.  */
-#undef HAVE_SYS_SYSCTL_H
-
-/* Define if you have the <sys/time.h> header file.  */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/times.h> header file.  */
-#undef HAVE_SYS_TIMES_H
-
-/* Define if you have the <sys/types.h> header file.  */
-#undef HAVE_SYS_TYPES_H
-
-/* Define if you have the crypt library (-lcrypt).  */
-#undef HAVE_LIBCRYPT
-
-/* Define if you have the kvm library (-lkvm).  */
-#undef HAVE_LIBKVM
-
-/* Define if you have the m library (-lm).  */
-#undef HAVE_LIBM
-
-/* Define if you have the nsl library (-lnsl).  */
-#undef HAVE_LIBNSL
-
-/* Define if you have the readline library (-lreadline).  */
-#undef HAVE_LIBREADLINE
-
-/* Define if you have the resolv library (-lresolv).  */
-#undef HAVE_LIBRESOLV
-
-/* Define if you have the socket library (-lsocket).  */
-#undef HAVE_LIBSOCKET
-
-/* Define if you have the tinfo library (-ltinfo).  */
-#undef HAVE_LIBTINFO
-
-/* Define if you have the xnet library (-lxnet).  */
-#undef HAVE_LIBXNET
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
-/* Broken Alias */
-#undef HAVE_BROKEN_ALIASES
-
-/* Use TCP for zebra communication */
-#undef HAVE_TCP_ZEBRA
-
-/* OSPF NSSA */
-#undef HAVE_NSSA
-
-/* OSPF Opaque LSA */
-#undef HAVE_OPAQUE_LSA
-
-/* OSPF Opaque LSA */
-#undef HAVE_OPAQUE_LSA
-
-/* OSPF TE */
-#undef HAVE_OSPF_TE
-
-/* SunOS 5 */
-#undef SUNOS_5
-
-/* SunOS 5 */
-#undef SUNOS_5
-
-/* GNU Linux */
-#undef GNU_LINUX
-
-/* FreeBSD 3.2 */
-#undef FREEBSD_32
-
-/* OpenBSD */
-#undef OPEN_BSD
-
-/* VTY shell */
-#undef VTYSH
-
-/* Use PAM for authentication */
-#undef USE_PAM
-
-/* Use PAM for authentication */
-#undef USE_PAM
-
-/* netlink */
-#undef HAVE_NETLINK
-
-/* netlink */
-#undef HAVE_NETLINK
-
-/* NET_RT_IFLIST */
-#undef HAVE_NET_RT_IFLIST
-
-/* /proc/net/dev */
-#undef HAVE_PROC_NET_DEV
-
-/* /proc/net/if_inet6 */
-#undef HAVE_PROC_NET_IF_INET6
-
-/* IPv6 */
-#undef HAVE_IPV6
-
-/* Inria IPv6 */
-#undef INRIA_IPV6
-
-/* IPv6 */
-#undef HAVE_IPV6
-
-/* KAME IPv6 */
-#undef KAME
-
-/* IPv6 */
-#undef HAVE_IPV6
-
-/* NRL */
-#undef NRL
+#ifndef HAVE_SOCKLEN_T
+typedef int socklen_t;
+#endif /* HAVE_SOCKLEN_T */
 
 /* BSDI */
 #undef BSDI_NRL
 
-/* Linux IPv6 */
-#undef LINUX_IPV6
-
 /* Disable BGP installation to zebra */
 #undef DISABLE_BGP_ANNOUNCE
 
+/* FreeBSD 3.2 */
+#undef FREEBSD_32
+
+/* GNU Linux */
+#undef GNU_LINUX
+
+/* Define if you have the <asm/types.h> header file. */
+#undef HAVE_ASM_TYPES_H
+
+/* Define if you have the `bcopy' function. */
+#undef HAVE_BCOPY
+
+/* Broken Alias */
+#undef HAVE_BROKEN_ALIASES
+
+/* Define if you have the `bzero' function. */
+#undef HAVE_BZERO
+
+/* Define if you have the `daemon' function. */
+#undef HAVE_DAEMON
+
+/* Define if you have the `getaddrinfo' function. */
+#undef HAVE_GETADDRINFO
+
+/* Define if you have the `getifaddrs' function. */
+#undef HAVE_GETIFADDRS
+
+/* GNU regexp library */
+#undef HAVE_GNU_REGEX
+
+/* ifaliasreq */
+#undef HAVE_IFALIASREQ
+
+/* Define if you have the `if_indextoname' function. */
+#undef HAVE_IF_INDEXTONAME
+
+/* Define if you have the `if_nametoindex' function. */
+#undef HAVE_IF_NAMETOINDEX
+
+/* in6_aliasreq */
+#undef HAVE_IN6_ALIASREQ
+
+/* Define if you have the `inet_aton' function. */
+#undef HAVE_INET_ATON
+
+/* Define if you have the <inet/nd.h> header file. */
+#undef HAVE_INET_ND_H
+
 /* inet_ntop */
 #undef HAVE_INET_NTOP
 
 /* inet_pton */
 #undef HAVE_INET_PTON
 
-/* GNU regexp library */
-#undef HAVE_GNU_REGEX
+/* in_pktinfo */
+#undef HAVE_INPKTINFO
+
+/* Define if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* IPv6 */
+#undef HAVE_IPV6
+
+/* Define if you have the <kvm.h> header file. */
+#undef HAVE_KVM_H
+
+/* Define if you have the `crypt' library (-lcrypt). */
+#undef HAVE_LIBCRYPT
+
+/* Define if you have the `kvm' library (-lkvm). */
+#undef HAVE_LIBKVM
+
+/* Define if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define if you have the `ncurses' library (-lncurses). */
+#undef HAVE_LIBNCURSES
+
+/* Define if you have the `nsl' library (-lnsl). */
+#undef HAVE_LIBNSL
+
+/* Define if you have the `readline' library (-lreadline). */
+#undef HAVE_LIBREADLINE
+
+/* Define if you have the `resolv' library (-lresolv). */
+#undef HAVE_LIBRESOLV
+
+/* Define if you have the `socket' library (-lsocket). */
+#undef HAVE_LIBSOCKET
+
+/* Define if you have the `tinfo' library (-ltinfo). */
+#undef HAVE_LIBTINFO
+
+/* Define if you have the <libutil.h> header file. */
+#undef HAVE_LIBUTIL_H
+
+/* Define if you have the `xnet' library (-lxnet). */
+#undef HAVE_LIBXNET
+
+/* Define if you have the <linux/version.h> header file. */
+#undef HAVE_LINUX_VERSION_H
+
+/* Define if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define if you have the <netinet6/nd6.h> header file. */
+#undef HAVE_NETINET6_ND6_H
+
+/* Define if you have the <netinet/icmp6.h> header file. */
+#undef HAVE_NETINET_ICMP6_H
+
+/* Define if you have the <netinet/in6.h> header file. */
+#undef HAVE_NETINET_IN6_H
+
+/* Define if you have the <netinet/in6_var.h> header file. */
+#undef HAVE_NETINET_IN6_VAR_H
+
+/* Define if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define if you have the <netinet/in_var.h> header file. */
+#undef HAVE_NETINET_IN_VAR_H
+
+/* netlink */
+#undef HAVE_NETLINK
 
 /* SNMP */
-#undef HAVE_SNMP
+#undef HAVE_NETSNMP
 
-/* SNMP */
-#undef UCD_COMPATIBLE
+/* Define if you have the <net/if_dl.h> header file. */
+#undef HAVE_NET_IF_DL_H
 
-/* SNMP */
-#undef HAVE_SNMP
+/* Define if you have the <net/if_var.h> header file. */
+#undef HAVE_NET_IF_VAR_H
 
-/* SNMP */
-#undef HAVE_SNMP
+/* Define if you have the <net/netopt.h> header file. */
+#undef HAVE_NET_NETOPT_H
 
-/* sa_len */
-#undef HAVE_SA_LEN
+/* NET_RT_IFLIST */
+#undef HAVE_NET_RT_IFLIST
 
-/* sin_len */
-#undef HAVE_SIN_LEN
+/* OSPF NSSA */
+#undef HAVE_NSSA
 
-/* sun_len */
-#undef HAVE_SUN_LEN
+/* OSPF Opaque LSA */
+#undef HAVE_OPAQUE_LSA
 
-/* scope id */
-#undef HAVE_SIN6_SCOPE_ID
+/* OSPF TE */
+#undef HAVE_OSPF_TE
 
-/* socklen_t */
-#undef HAVE_SOCKLEN_T
+/* /proc/net/dev */
+#undef HAVE_PROC_NET_DEV
 
-/* sockaddr_dl */
-#undef HAVE_SOCKADDR_DL
-
-/* ifaliasreq */
-#undef HAVE_IFALIASREQ
-
-/* in6_aliasreq */
-#undef HAVE_IN6_ALIASREQ
+/* /proc/net/if_inet6 */
+#undef HAVE_PROC_NET_IF_INET6
 
 /* rt_addrinfo */
 #undef HAVE_RT_ADDRINFO
 
-/* in_pktinfo */
-#undef HAVE_INPKTINFO
-
 /* rusage */
 #undef HAVE_RUSAGE
 
-/* zebra PID */
-#undef PATH_ZEBRA_PID
+/* sa_len */
+#undef HAVE_SA_LEN
+
+/* Define if you have the `setproctitle' function. */
+#undef HAVE_SETPROCTITLE
+
+/* scope id */
+#undef HAVE_SIN6_SCOPE_ID
+
+/* sin_len */
+#undef HAVE_SIN_LEN
+
+/* SNMP */
+#undef HAVE_SNMP
+
+/* Define if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* sockaddr_dl */
+#undef HAVE_SOCKADDR_DL
+
+/* socklen_t */
+#undef HAVE_SOCKLEN_T
+
+/* Define if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have the `strlcat' function. */
+#undef HAVE_STRLCAT
+
+/* Define if you have the `strlcpy' function. */
+#undef HAVE_STRLCPY
+
+/* Define if you have the <stropts.h> header file. */
+#undef HAVE_STROPTS_H
+
+/* sun_len */
+#undef HAVE_SUN_LEN
+
+/* Define if you have the <sys/conf.h> header file. */
+#undef HAVE_SYS_CONF_H
+
+/* Define if you have the <sys/ksym.h> header file. */
+#undef HAVE_SYS_KSYM_H
+
+/* Define if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define if you have the <sys/sockio.h> header file. */
+#undef HAVE_SYS_SOCKIO_H
+
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
+
+/* Define if you have the <sys/times.h> header file. */
+#undef HAVE_SYS_TIMES_H
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Use TCP for zebra communication */
+#undef HAVE_TCP_ZEBRA
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Inria IPv6 */
+#undef INRIA_IPV6
+
+/* KAME IPv6 */
+#undef KAME
+
+/* Linux IPv6 */
+#undef LINUX_IPV6
+
+/* NRL */
+#undef NRL
+
+/* OpenBSD */
+#undef OPEN_BSD
+
+/* Name of package */
+#undef PACKAGE
+
+/* bgpd PID */
+#undef PATH_BGPD_PID
+
+/* ospf6d PID */
+#undef PATH_OSPF6D_PID
+
+/* ospfd PID */
+#undef PATH_OSPFD_PID
 
 /* ripd PID */
 #undef PATH_RIPD_PID
@@ -340,12 +452,40 @@
 /* ripngd PID */
 #undef PATH_RIPNGD_PID
 
-/* bgpd PID */
-#undef PATH_BGPD_PID
+/* zebra PID */
+#undef PATH_ZEBRA_PID
 
-/* ospfd PID */
-#undef PATH_OSPFD_PID
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
 
-/* ospf6d PID */
-#undef PATH_OSPF6D_PID
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
 
+/* SunOS 5 */
+#undef SUNOS_5
+
+/* SNMP */
+#undef UCD_COMPATIBLE
+
+/* Use PAM for authentication */
+#undef USE_PAM
+
+/* Version number of package */
+#undef VERSION
+
+/* VTY shell */
+#undef VTYSH
+
+/* Define if your processor stores words with the most significant byte first
+   (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const