@@ -0,0 +1,20458 @@
+diff --git a/Makefile.am b/Makefile.am
+index 96da94f..520dd62 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,12 +1,15 @@
++##
++## Portions Copyright (c) 2008 Everton da Silva Marques <everton.marques@gmail.com>
++##
+ ## Process this file with automake to produce Makefile.in.
+
+ SUBDIRS = lib @ZEBRA@ @BGPD@ @RIPD@ @RIPNGD@ @OSPFD@ @OSPF6D@ \
+ @ISISD@ @WATCHQUAGGA@ @VTYSH@ @OSPFCLIENT@ doc m4 @pkgsrcdir@ \
+- redhat @SOLARIS@
++ redhat @SOLARIS@ @PIMD@
+
+ DIST_SUBDIRS = lib zebra bgpd ripd ripngd ospfd ospf6d \
+ isisd watchquagga vtysh ospfclient doc m4 pkgsrc redhat tests \
+- solaris
++ solaris pimd
+
+ EXTRA_DIST = aclocal.m4 SERVICES TODO REPORTING-BUGS INSTALL.quagga.txt \
+ update-autotools \
+diff --git a/SERVICES b/SERVICES
+index 9c3546b..c69d0c1 100644
+--- a/SERVICES
++++ b/SERVICES
+@@ -17,3 +17,4 @@ bgpd 2605/tcp
+ ospf6d 2606/tcp
+ ospfapi 2607/tcp
+ isisd 2608/tcp
++pimd 2611/tcp
+diff --git a/configure.ac b/configure.ac
+index a80589d..1802a11 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,6 +4,7 @@
+ ##
+ ## Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
+ ## Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
++## Portions Copyright (c) 2008 Everton da Silva Marques <everton.marques@gmail.com>
+ ##
+ ## $Id$
+ AC_PREREQ(2.53)
+@@ -198,6 +199,8 @@ AC_ARG_ENABLE(watchquagga,
+ [ --disable-watchquagga do not build watchquagga])
+ AC_ARG_ENABLE(isisd,
+ [ --enable-isisd build isisd])
++AC_ARG_ENABLE(pimd,
++[ --enable-pimd build pimd])
+ AC_ARG_ENABLE(solaris,
+ [ --enable-solaris build solaris])
+ AC_ARG_ENABLE(bgp-announce,
+@@ -1203,6 +1206,12 @@ case "${enable_isisd}" in
+ * ) ;;
+ esac
+
++case "${enable_pimd}" in
++ "yes") PIMD="pimd";;
++ "no" ) PIMD="";;
++ * ) ;;
++esac
++
+ # XXX Perhaps auto-enable on Solaris, but that's messy for cross builds.
+ case "${enable_solaris}" in
+ "yes") SOLARIS="solaris";;
+@@ -1224,6 +1233,7 @@ AC_SUBST(OSPFD)
+ AC_SUBST(OSPF6D)
+ AC_SUBST(WATCHQUAGGA)
+ AC_SUBST(ISISD)
++AC_SUBST(PIMD)
+ AC_SUBST(SOLARIS)
+ AC_SUBST(VTYSH)
+ AC_SUBST(INCLUDES)
+@@ -1277,7 +1287,8 @@ dnl sockaddr and netinet checks
+ dnl ---------------------------
+ AC_CHECK_TYPES([struct sockaddr, struct sockaddr_in,
+ struct sockaddr_in6, struct sockaddr_un, struct sockaddr_dl,
+- socklen_t,
++ socklen_t, struct vifctl, struct mfcctl, struct sioc_sg_req,
++ vifi_t, struct sioc_vif_req, struct igmpmsg,
+ struct ifaliasreq, struct if6_aliasreq, struct in6_aliasreq,
+ struct nd_opt_adv_interval, struct rt_addrinfo,
+ struct nd_opt_homeagent_info, struct nd_opt_adv_interval],
+@@ -1305,6 +1316,45 @@ AC_CHECK_TYPES([struct in_pktinfo],
+ AC_MSG_ERROR(['IRDP requires in_pktinfo at the moment!'])
+ fi], [QUAGGA_INCLUDES])
+
++dnl -----------------------
++dnl checking for IP_PKTINFO
++dnl -----------------------
++AC_MSG_CHECKING(for IP_PKTINFO)
++AC_TRY_COMPILE([#include <netdb.h>], [
++ int opt = IP_PKTINFO;
++], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_IP_PKTINFO, 1, [Have IP_PKTINFO])
++], [
++ AC_MSG_RESULT(no)
++])
++
++dnl ---------------------------
++dnl checking for IP_RECVDSTADDR
++dnl ---------------------------
++AC_MSG_CHECKING(for IP_RECVDSTADDR)
++AC_TRY_COMPILE([#include <netinet/in.h>], [
++ int opt = IP_RECVDSTADDR;
++], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_IP_RECVDSTADDR, 1, [Have IP_RECVDSTADDR])
++], [
++ AC_MSG_RESULT(no)
++])
++
++dnl ----------------------
++dnl checking for IP_RECVIF
++dnl ----------------------
++AC_MSG_CHECKING(for IP_RECVIF)
++AC_TRY_COMPILE([#include <netinet/in.h>], [
++ int opt = IP_RECVIF;
++], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_IP_RECVIF, 1, [Have IP_RECVIF])
++], [
++ AC_MSG_RESULT(no)
++])
++
+ dnl --------------------------------------
+ dnl checking for getrusage struct and call
+ dnl --------------------------------------
+@@ -1450,6 +1500,7 @@ AC_DEFINE_UNQUOTED(PATH_BGPD_PID, "$quagga_statedir/bgpd.pid",bgpd PID)
+ AC_DEFINE_UNQUOTED(PATH_OSPFD_PID, "$quagga_statedir/ospfd.pid",ospfd PID)
+ AC_DEFINE_UNQUOTED(PATH_OSPF6D_PID, "$quagga_statedir/ospf6d.pid",ospf6d PID)
+ AC_DEFINE_UNQUOTED(PATH_ISISD_PID, "$quagga_statedir/isisd.pid",isisd PID)
++AC_DEFINE_UNQUOTED(PATH_PIMD_PID, "$quagga_statedir/pimd.pid",pimd PID)
+ AC_DEFINE_UNQUOTED(PATH_WATCHQUAGGA_PID, "$quagga_statedir/watchquagga.pid",watchquagga PID)
+ AC_DEFINE_UNQUOTED(ZEBRA_SERV_PATH, "$quagga_statedir/zserv.api",zebra api socket)
+ AC_DEFINE_UNQUOTED(ZEBRA_VTYSH_PATH, "$quagga_statedir/zebra.vty",zebra vty socket)
+@@ -1459,6 +1510,7 @@ AC_DEFINE_UNQUOTED(BGP_VTYSH_PATH, "$quagga_statedir/bgpd.vty",bgpd vty socket)
+ AC_DEFINE_UNQUOTED(OSPF_VTYSH_PATH, "$quagga_statedir/ospfd.vty",ospfd vty socket)
+ AC_DEFINE_UNQUOTED(OSPF6_VTYSH_PATH, "$quagga_statedir/ospf6d.vty",ospf6d vty socket)
+ AC_DEFINE_UNQUOTED(ISIS_VTYSH_PATH, "$quagga_statedir/isisd.vty",isisd vty socket)
++AC_DEFINE_UNQUOTED(PIM_VTYSH_PATH, "$quagga_statedir/pimd.vty",pimd vty socket)
+ AC_DEFINE_UNQUOTED(DAEMON_VTY_DIR, "$quagga_statedir",daemon vty directory)
+
+ dnl -------------------------------
+@@ -1484,6 +1536,7 @@ AC_CONFIG_FILES([Makefile lib/Makefile zebra/Makefile ripd/Makefile
+ ripngd/Makefile bgpd/Makefile ospfd/Makefile watchquagga/Makefile
+ ospf6d/Makefile isisd/Makefile vtysh/Makefile doc/Makefile
+ ospfclient/Makefile tests/Makefile m4/Makefile redhat/Makefile
++ pimd/Makefile
+ pkgsrc/Makefile
+ redhat/quagga.spec
+ lib/version.h
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index ed3a6d5..e7049a9 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -1,3 +1,6 @@
++##
++## Portions Copyright (c) 2008 Everton da Silva Marques <everton.marques@gmail.com>
++##
+ ## Process this file with automake to produce Makefile.in.
+
+ # Dia, the version i have at least, doesn't do very good EPS output
+@@ -60,7 +63,7 @@ quagga_TEXINFOS = appendix.texi basic.texi bgpd.texi filter.texi install.texi \
+ %.png: %.dia
+ $(DIATOPNG) "$@" $<
+
+-man_MANS = vtysh.1 bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 isisd.8
++man_MANS = vtysh.1 bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 isisd.8 pimd.8
+
+ EXTRA_DIST = BGP-TypeCode draft-zebra-00.ms draft-zebra-00.txt $(man_MANS) \
+ mpls/ChangeLog.opaque.txt mpls/cli_summary.txt \
+diff --git a/doc/install.texi b/doc/install.texi
+index 16e29c9..fbc2401 100644
+--- a/doc/install.texi
++++ b/doc/install.texi
+@@ -267,6 +267,7 @@ bgpd 2605/tcp # BGPd vty
+ ospf6d 2606/tcp # OSPF6d vty
+ ospfapi 2607/tcp # ospfapi
+ isisd 2608/tcp # ISISd vty
++pimd 2611/tcp # PIMd vty
+ @end example
+
+ If you use a FreeBSD newer than 2.2.8, the above entries are already
+diff --git a/doc/pimd.8 b/doc/pimd.8
+new file mode 100644
+index 0000000..b26b112
+--- /dev/null
++++ b/doc/pimd.8
+@@ -0,0 +1,108 @@
++.TH PIM 8 "10 December 2008" "Quagga PIM daemon" "Version 0.99.11"
++.SH NAME
++pimd \- a PIM routing for use with Quagga Routing Suite.
++.SH SYNOPSIS
++.B pimd
++[
++.B \-dhvZ
++] [
|
@@ -0,0 +1,466 @@
+#
+# spec file for package quagga (Version 0.99.12)
+#
+# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+# norootforbuild
+
+
+Name: quagga
+BuildRequires: net-snmp-devel pam-devel readline-devel
+Version: 0.99.12
+Release: 1
+PreReq: %insserv_prereq %fillup_prereq
+PreReq: %install_info_prereq
+# pwdutils for useradd and groupadd
+PreReq: pwdutils
+Provides: zebra
+Obsoletes: zebra
+AutoReqProv: on
+License: LGPL v2.1 or later
+Group: Productivity/Networking/Routing
+Url: http://www.quagga.net
+Summary: Free Routing Software (for BGP, OSPF and RIP, for example)
+Source: %{name}-%{version}.tar.bz2
+Source1: %{name}-SUSE.tar.bz2
+Source2: quagga.pam
+Patch0: pimd-0.149-quagga-0.99.11-git20090413.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+Quagga is a routing software suite, providing implementations of
+OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms,
+particularly FreeBSD and Linux and also NetBSD, to mention a few.
+Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.
+The Quagga tree aims to build a more involved community around Quagga
+than the current centralised model of GNU Zebra.
+
+
+
+Authors:
+--------
+ Kunihiro Ishiguro <kunihiro@zebra.org>
+ Toshiaki Takada <takada@zebra.org>
+ Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+ Alex D. Zinin <azinin@hotmail.com>
+ Gleb Natapov <gleb@nbase.co.il>
+ Akihiro Mizutani <mizutani@dml.com>
+
+%package devel
+License: LGPL v2.1 or later
+Summary: Free Routing Software (for BGP, OSPF and RIP, for example)
+Requires: %{name} = %{version}
+Group: Productivity/Networking/Routing
+
+%description devel
+Quagga is a routing software suite, providing implementations of
+OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms,
+particularly FreeBSD and Linux and also NetBSD, to mention a few.
+Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.
+The Quagga tree aims to build a more involved community around Quagga
+than the current centralised model of GNU Zebra.
+
+
+
+Authors:
+--------
+ Kunihiro Ishiguro <kunihiro@zebra.org>
+ Toshiaki Takada <takada@zebra.org>
+ Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+ Alex D. Zinin <azinin@hotmail.com>
+ Gleb Natapov <gleb@nbase.co.il>
+ Akihiro Mizutani <mizutani@dml.com>
+
+%prep
+%setup -q -a 1
+%patch0 -p1
+
+%build
+if ! ls /proc/net/{dev,route,snmp} >/dev/null; then
+ echo "ERROR: /proc is not mounted" >&2;
+ exit 1;
+fi
+rm -f m4/libtool.m4 m4/lt*.m4
+autoreconf --force --install
+export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+%configure --disable-static --with-pic \
+ --enable-vtysh \
+ --enable-rtadv \
+ --enable-snmp \
+ --enable-ipv6 \
+ --with-libpam \
+ --enable-netlink \
+ --enable-isisd \
+ --enable-pimd \
+ --sysconfdir=%{_sysconfdir}/quagga \
+ --localstatedir=/var/run/quagga \
+ --enable-multipath=0
+make %{?jobs:-j%jobs}
+
+%install
+rm -r doc/quagga.info
+make DESTDIR=$RPM_BUILD_ROOT install
+rm -rf $RPM_BUILD_ROOT%{_libdir}/lib{ospf,zebra}.la
+install -d $RPM_BUILD_ROOT/etc/{init.d,quagga,pam.d,logrotate.d}
+install -m 755 SUSE/* $RPM_BUILD_ROOT%{_sysconfdir}/init.d/
+install -m 644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/quagga
+install -d -m 750 $RPM_BUILD_ROOT/var/log/quagga
+install -d -m 751 $RPM_BUILD_ROOT/var/run/quagga
+install -m 644 redhat/quagga.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/quagga
+ln -sf %{_sysconfdir}/init.d/zebra $RPM_BUILD_ROOT%{_sbindir}/rczebra
+ln -sf %{_sysconfdir}/init.d/bgpd $RPM_BUILD_ROOT%{_sbindir}/rcbgpd
+ln -sf %{_sysconfdir}/init.d/ospf6d $RPM_BUILD_ROOT%{_sbindir}/rcospf6d
+ln -sf %{_sysconfdir}/init.d/ospfd $RPM_BUILD_ROOT%{_sbindir}/rcospfd
+ln -sf %{_sysconfdir}/init.d/ripngd $RPM_BUILD_ROOT%{_sbindir}/rcripngd
+ln -sf %{_sysconfdir}/init.d/ripd $RPM_BUILD_ROOT%{_sbindir}/rcripd
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/quagga/*.sample*
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/quagga/zebra.conf << __EOF__
+hostname quagga
+password quagga
+enable password quagga
+log file /var/log/quagga/quagga.log
+__EOF__
+touch $RPM_BUILD_ROOT%{_sysconfdir}/quagga/vtysh.conf
+
+%pre
+%{_sbindir}/groupadd -r quagga 2> /dev/null || :
+%{_sbindir}/useradd -r -g quagga -s %{_bindir}/false \
+ -c "Quagga routing daemon" \
+ -d /var/run/quagga quagga 2> /dev/null || :
+
+%post
+/sbin/ldconfig
+%fillup_and_insserv
+%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
+
+%preun
+%stop_on_removal zebra bgpd ospf6d ospfd ripd ripngd
+
+%postun
+%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
+%restart_on_update zebra bgpd ospf6d ospfd ripd ripngd
+%insserv_cleanup
+/sbin/ldconfig
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%doc */*.sample* AUTHORS COPYING* ChangeLog NEWS README REPORTING-BUGS SERVICES TODO
+%{_sbindir}/*
+%config %{_sysconfdir}/quagga/
+%config(noreplace) %{_sysconfdir}/logrotate.d/*
+%config %{_sysconfdir}/init.d/*
+%config (noreplace)%{_sysconfdir}/pam.d/*
+%{_bindir}/*
+%dir %attr(-,quagga,quagga) /var/log/quagga
+%dir %attr(-,quagga,quagga) /var/run/quagga
+%{_infodir}/quagga.info*
+%{_mandir}/man?/*
+%attr(755,root,root) %{_libdir}/lib*.so.*
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/*.so
+%dir %{_includedir}/%{name}
+%{_includedir}/%{name}/*.h
+%dir %{_includedir}/%{name}/ospfd
+%{_includedir}/%{name}/ospfd/*.h
+
+%changelog
+* Tue May 12 2009 Carsten Schoene <cs@linux-administrator.com> - 0.99.12-1
+- This release fixes an urgent bug in bgpd where it could hit an
+ assert if it received a long AS_PATH with a 4-byte ASN.
+
+* Mon Jan 19 2009 prusnak@suse.cz
+- updated to 0.99.11
+ * bgpd:
+ - Document the FSM dummy-peer race that sometimes afflicts
+ session setup
+ - Fix definition of an rsclient command
+ - Fix double-free crash in bgp_table_finish, seen with rs-client
+ - Fix triggerable crash when compiled with --disable-bgp-announce
+ - TCP-MD5: password vty configuration and initial Linux support
+ * isisd:
+ - Try open vanity-named DLPI dev before style 1,2
+ - Fix packet filtering with DLPI
|