--- quagga-0.99.6.orig/doc/version.texi +++ quagga-0.99.6/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 27 July 2006 +@set UPDATED 28 July 2006 @set UPDATED-MONTH July 2006 @set EDITION 0.99.6 @set VERSION 0.99.6 --- quagga-0.99.6.orig/config.guess +++ quagga-0.99.6/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2003-06-17' +timestamp='2006-07-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,13 +18,15 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. @@ -53,7 +56,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -66,11 +69,11 @@ while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -104,7 +107,7 @@ trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; @@ -123,7 +126,7 @@ ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -136,13 +139,6 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -## for Red Hat Linux -if test -f /etc/redhat-release ; then - VENDOR=redhat ; -else - VENDOR= ; -fi - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -203,50 +199,32 @@ # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU @@ -284,42 +262,49 @@ "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha*:OpenVMS:*:*) - echo alpha-hp-vms - exit 0 ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; + exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit 0;; + exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -327,32 +312,32 @@ else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; + exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; + sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -361,10 +346,10 @@ esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 @@ -376,10 +361,10 @@ echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -390,37 +375,40 @@ # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -444,32 +432,33 @@ exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` @@ -485,29 +474,29 @@ else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -515,7 +504,7 @@ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -530,14 +519,18 @@ exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit 0 ;; + exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then @@ -551,28 +544,28 @@ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -634,9 +627,19 @@ esac if [ ${HP_ARCH} = "hppa2.0w" ] then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else @@ -644,11 +647,11 @@ fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -676,150 +679,179 @@ exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; + exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit 0 ;; + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks - exit 0 ;; + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix - exit 0 ;; + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; + exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu - exit 0 ;; + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -836,8 +868,12 @@ #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build @@ -855,15 +891,22 @@ #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; ppc:Linux:*:*) - echo powerpc-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo powerpc-unknown-linux-gnu + exit ;; ppc64:Linux:*:*) - echo powerpc64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo powerpc64-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -877,7 +920,7 @@ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -885,25 +928,28 @@ PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; + exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu - exit 0 ;; + exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-ibm-linux + exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) - echo x86_64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo x86_64-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -921,15 +967,15 @@ ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; + exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; + exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -946,23 +992,33 @@ LIBC=gnulibc1 # endif #else - #ifdef __INTEL_COMPILER + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit 0 ;; + exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... @@ -970,24 +1026,27 @@ # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; + exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; + exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; + exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -995,15 +1054,16 @@ else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; + exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit 0 ;; + exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; + && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1095,68 +1155,72 @@ else echo ns32k-sni-sysv fi - exit 0 ;; + exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 - exit 0 ;; + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) - case `uname -p` in - *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit 0 ;; + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1164,22 +1228,25 @@ UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1190,28 +1257,47 @@ UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; + exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1243,7 +1329,7 @@ #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1332,11 +1418,12 @@ } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1345,22 +1432,22 @@ case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1371,7 +1458,9 @@ the operating system you are using. It is advised that you download the most up to date version of the config scripts from - ftp://ftp.gnu.org/pub/gnu/config/ + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +and + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub If the version you run ($0) is already up to date, please send the following data and any information you think might be --- quagga-0.99.6.orig/config.sub +++ quagga-0.99.6/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2003-06-18' +timestamp='2006-09-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,14 +22,15 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # @@ -70,7 +72,7 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -83,11 +85,11 @@ while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +101,7 @@ *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,7 +120,9 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -144,7 +148,7 @@ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; @@ -169,6 +173,10 @@ -hiux*) os=-hiuxwe2 ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -185,6 +193,10 @@ # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -228,14 +240,17 @@ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -244,28 +259,33 @@ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | mt \ | msp430 \ + | nios | nios2 \ | ns16k | ns32k \ - | openrisc | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | s390 | s390x \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xstormy16 | xtensa \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -276,6 +296,9 @@ ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; + ms1) + basic_machine=mt-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -295,20 +318,20 @@ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bs2000-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | cydra-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -317,31 +340,36 @@ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ | msp430-* \ - | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -361,6 +389,9 @@ basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -378,6 +409,9 @@ amd64) basic_machine=x86_64-pc ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -437,12 +471,27 @@ basic_machine=j90-cray os=-unicos ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -465,6 +514,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -643,10 +696,6 @@ mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; monitor) basic_machine=m68k-rom68k os=-coff @@ -659,6 +708,9 @@ basic_machine=i386-pc os=-msdos ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; mvs) basic_machine=i370-ibm os=-mvs @@ -727,10 +779,6 @@ np1) basic_machine=np1-gould ;; - nv1) - basic_machine=nv1-cray - os=-unicosmp - ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -738,9 +786,12 @@ basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson @@ -767,6 +818,12 @@ pc532 | pc532-*) basic_machine=ns32k-pc532 ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; @@ -823,6 +880,10 @@ basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -833,6 +894,12 @@ rtpc | rtpc-*) basic_machine=romp-ibm ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; sa29200) basic_machine=a29k-amd os=-udi @@ -843,6 +910,10 @@ sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -956,6 +1027,10 @@ tower | tower-32) basic_machine=m68k-ncr ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; udi29k) basic_machine=a29k-amd os=-udi @@ -999,6 +1074,10 @@ basic_machine=hppa1.1-winbond os=-proelf ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; xps | xps100) basic_machine=xps100-honeywell ;; @@ -1029,6 +1108,9 @@ romp) basic_machine=romp-ibm ;; + mmix) + basic_machine=mmix-knuth + ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1045,13 +1127,10 @@ we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1124,19 +1203,23 @@ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1154,12 +1237,15 @@ os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1172,6 +1258,9 @@ -opened*) os=-openedition ;; + -os400*) + os=-os400 + ;; -wince*) os=-wince ;; @@ -1193,6 +1282,9 @@ -atheos*) os=-atheos ;; + -syllable*) + os=-syllable + ;; -386bsd) os=-bsd ;; @@ -1215,6 +1307,9 @@ -sinix*) os=-sysv4 ;; + -tpf*) + os=-tpf + ;; -triton*) os=-sysv3 ;; @@ -1251,6 +1346,9 @@ -kaos*) os=-kaos ;; + -zvmoe) + os=-zvmoe + ;; -none) ;; *) @@ -1273,6 +1371,12 @@ # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1282,8 +1386,8 @@ arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1328,9 +1432,15 @@ *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; + *-knuth) + os=-mmixware + ;; *-wec) os=-proelf ;; @@ -1463,9 +1573,15 @@ -mvs* | -opened*) vendor=ibm ;; + -os400*) + vendor=ibm + ;; -ptx*) vendor=sequent ;; + -tpf*) + vendor=ibm + ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; @@ -1490,7 +1606,7 @@ esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) --- quagga-0.99.6.orig/debian/my/config.h.reference +++ quagga-0.99.6/debian/my/config.h.reference @@ -0,0 +1,517 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* bgpd vty socket */ +#define BGP_VTYSH_PATH "/var/run/quagga/bgpd.vty" + +/* BSDI */ +/* #undef BSDI_NRL */ + +/* Mask for config files */ +#define CONFIGFILE_MASK 0640 + +/* Consumed Time Check */ +#define CONSUMED_TIME_CHECK 5000000 + +/* daemon vty directory */ +#define DAEMON_VTY_DIR "/var/run/quagga" + +/* Disable BGP installation to zebra */ +/* #undef DISABLE_BGP_ANNOUNCE */ + +/* GNU Linux */ +#define GNU_LINUX + +/* Define to 1 if you have the header file. */ +#define HAVE_ASM_TYPES_H 1 + +/* Broken Alias */ +/* #undef HAVE_BROKEN_ALIASES */ + +/* Broken CMSG_FIRSTHDR */ +/* #undef HAVE_BROKEN_CMSG_FIRSTHDR */ + +/* Can pass ifindex in struct ip_mreq */ +/* #undef HAVE_BSD_STRUCT_IP_MREQ_HACK */ + +/* capabilities */ +#define HAVE_CAPABILITIES 1 + +/* Define to 1 if you have the `daemon' function. */ +#define HAVE_DAEMON 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `fcntl' function. */ +#define HAVE_FCNTL 1 + +/* Define to 1 if you have the `getaddrinfo' function. */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getifaddrs' function. */ +#define HAVE_GETIFADDRS 1 + +/* Glibc backtrace */ +#define HAVE_GLIBC_BACKTRACE + +/* GNU regexp library */ +#define HAVE_GNU_REGEX + +/* ifaliasreq */ +/* #undef HAVE_IFALIASREQ */ + +/* Have in6_aliasreq.ifra_lifetime */ +/* #undef HAVE_IFRA_LIFETIME */ + +/* Define to 1 if you have the `if_indextoname' function. */ +#define HAVE_IF_INDEXTONAME 1 + +/* Define to 1 if you have the `if_nametoindex' function. */ +#define HAVE_IF_NAMETOINDEX 1 + +/* in6_aliasreq */ +/* #undef HAVE_IN6_ALIASREQ */ + +/* __inet_aton */ +#define HAVE_INET_ATON 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INET_ND_H */ + +/* __inet_ntop */ +#define HAVE_INET_NTOP + +/* __inet_pton */ +#define HAVE_INET_PTON + +/* in_pktinfo */ +#define HAVE_INPKTINFO + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Linux IPv6 */ +#define HAVE_IPV6 1 + +/* IRDP */ +/* #undef HAVE_IRDP */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_KVM_H */ + +/* Capabilities */ +#define HAVE_LCAPS 1 + +/* Define to 1 if you have the `crypt' library (-lcrypt). */ +#define HAVE_LIBCRYPT 1 + +/* Define to 1 if you have the `kvm' library (-lkvm). */ +/* #undef HAVE_LIBKVM */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +/* #undef HAVE_LIBNSL */ + +/* Define to 1 if you have the `resolv' library (-lresolv). */ +/* #undef HAVE_LIBRESOLV */ + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* Define to 1 if you have the `umem' library (-lumem). */ +/* #undef HAVE_LIBUMEM */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBUTIL_H */ + +/* Define to 1 if you have the `xnet' library (-lxnet). */ +/* #undef HAVE_LIBXNET */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LINUX_VERSION_H 1 + +/* mallinfo */ +#define HAVE_MALLINFO + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* nd_opt_adv_interval */ +#define HAVE_ND_OPT_ADV_INTERVAL + +/* nd_opt_ai_type */ +/* #undef HAVE_ND_OPT_ADV_INTERVAL_AI_FIELDS */ + +/* nd_opt_homeagent_info */ +/* #undef HAVE_ND_OPT_HOMEAGENT_INFO */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETDB_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET6_IN6_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET6_IN6_VAR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET6_ND6_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_ICMP6_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET_IN6_VAR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_SYSTM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET_IN_VAR_H */ + +/* netlink */ +#define HAVE_NETLINK + +/* Net SNMP */ +/* #undef HAVE_NETSNMP */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NET_IF_DL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NET_IF_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NET_IF_VAR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NET_NETOPT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NET_ROUTE_H 1 + +/* NET_RT_IFLIST */ +/* #undef HAVE_NET_RT_IFLIST */ + +/* OSPF Opaque LSA */ +#define HAVE_OPAQUE_LSA + +/* Have openpam.h */ +/* #undef HAVE_OPENPAM_H */ + +/* OSPF TE */ +#define HAVE_OSPF_TE + +/* Linux TCP MD5 Signature Option */ +#define HAVE_TCP_MD5 + +/* Have pam_misc.h */ +#define HAVE_PAM_MISC_H + +/* Solaris printstack */ +/* #undef HAVE_PRINTSTACK */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_PRIV_H */ + +/* /proc/net/dev */ +#define HAVE_PROC_NET_DEV + +/* /proc/net/if_inet6 */ +#define HAVE_PROC_NET_IF_INET6 + +/* prctl */ +#define HAVE_PR_SET_KEEPCAPS + +/* Enable IPv6 Routing Advertisement support */ +#define HAVE_RTADV + +/* rt_addrinfo */ +/* #undef HAVE_RT_ADDRINFO */ + +/* rusage */ +#define HAVE_RUSAGE + +/* sa_len */ +/* #undef HAVE_SA_LEN */ + +/* Have setproctitle */ +/* #undef HAVE_SETPROCTITLE */ + +/* scope id */ +#define HAVE_SIN6_SCOPE_ID + +/* sin_len */ +/* #undef HAVE_SIN_LEN */ + +/* SNMP */ +/* #undef HAVE_SNMP */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* sockaddr_dl */ +/* #undef HAVE_SOCKADDR_DL */ + +/* socklen_t */ +#define HAVE_SOCKLEN_T + +/* getpflags */ +/* #undef HAVE_SOLARIS_CAPABILITIES */ + +/* Stack symbol decoding */ +#define HAVE_STACK_TRACE + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +/* #undef HAVE_STRLCAT */ + +/* Define to 1 if you have the `strlcpy' function. */ +/* #undef HAVE_STRLCPY */ + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STROPTS_H 1 + +/* Define to 1 if `imr_ifindex' is member of `struct ip_mreqn'. */ +#define HAVE_STRUCT_IP_MREQN_IMR_IFINDEX 1 + +/* sun_len */ +/* #undef HAVE_SUN_LEN */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_CAPABILITY_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_CONF_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_KSYM_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Use TCP for zebra communication */ +/* #undef HAVE_TCP_ZEBRA */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UCONTEXT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* INRIA IPv6 */ +/* #undef INRIA_IPV6 */ + +/* IRIX 6.5 */ +/* #undef IRIX_65 */ + +/* isisd vty socket */ +#define ISIS_VTYSH_PATH "/var/run/quagga/isisd.vty" + +/* KAME IPv6 stack */ +/* #undef KAME */ + +/* Linux IPv6 stack */ +#define LINUX_IPV6 1 + +/* Mask for log files */ +#define LOGFILE_MASK 0640 + +/* Musica IPv6 stack */ +/* #undef MUSICA */ + +/* NRL */ +/* #undef NRL */ + +/* OpenBSD */ +/* #undef OPEN_BSD */ + +/* ospf6d vty socket */ +#define OSPF6_VTYSH_PATH "/var/run/quagga/ospf6d.vty" + +/* ospfd vty socket */ +#define OSPF_VTYSH_PATH "/var/run/quagga/ospfd.vty" + +/* Name of package */ +#define PACKAGE "quagga" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://bugzilla.quagga.net" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Quagga" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Quagga 0.99.6" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "quagga" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.99.6" + +/* Have openpam_ttyconv */ +#define PAM_CONV_FUNC misc_conv + +/* bgpd PID */ +#define PATH_BGPD_PID "/var/run/quagga/bgpd.pid" + +/* isisd PID */ +#define PATH_ISISD_PID "/var/run/quagga/isisd.pid" + +/* ospf6d PID */ +#define PATH_OSPF6D_PID "/var/run/quagga/ospf6d.pid" + +/* ospfd PID */ +#define PATH_OSPFD_PID "/var/run/quagga/ospfd.pid" + +/* ripd PID */ +#define PATH_RIPD_PID "/var/run/quagga/ripd.pid" + +/* ripngd PID */ +#define PATH_RIPNGD_PID "/var/run/quagga/ripngd.pid" + +/* watchquagga PID */ +#define PATH_WATCHQUAGGA_PID "/var/run/quagga/watchquagga.pid" + +/* zebra PID */ +#define PATH_ZEBRA_PID "/var/run/quagga/zebra.pid" + +/* Quagga Group */ +#define QUAGGA_GROUP "quagga" + +/* Hide deprecated interfaces */ +#define QUAGGA_NO_DEPRECATED_INTERFACES 1 + +/* Quagga User */ +#define QUAGGA_USER "quagga" + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* ripng vty socket */ +#define RIPNG_VTYSH_PATH "/var/run/quagga/ripngd.vty" + +/* rip vty socket */ +#define RIP_VTYSH_PATH "/var/run/quagga/ripd.vty" + +/* Solaris IPv6 */ +/* #undef SOLARIS_IPV6 */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* SunOS 5 */ +/* #undef SUNOS_5 */ + +/* SunOS 5.6 to 5.7 */ +/* #undef SUNOS_56 */ + +/* SunOS 5.8 up */ +/* #undef SUNOS_59 */ + +/* OSPFAPI */ +#define SUPPORT_OSPF_API + +/* Enable IS-IS topology generator code */ +/* #undef TOPOLOGY_GENERATE */ + +/* Use PAM for authentication */ +#define USE_PAM + +/* Version number of package */ +#define VERSION "0.99.6" + +/* VTY shell */ +#define VTYSH + +/* VTY Sockets Group */ +#define VTY_GROUP "quaggavty" + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* zebra api socket */ +#define ZEBRA_SERV_PATH "/var/run/quagga/zserv.api" + +/* zebra vty socket */ +#define ZEBRA_VTYSH_PATH "/var/run/quagga/zebra.vty" + +/* Define to 1 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 */ + +/* Old readline */ +/* #undef rl_completion_matches */ --- quagga-0.99.6.orig/debian/my/debian.conf +++ quagga-0.99.6/debian/my/debian.conf @@ -0,0 +1,13 @@ +# +# If this option is set the /etc/init.d/quagga script automatically loads +# the config via "vtysh -b" when the servers are started. +# Check /etc/pam.d/quagga if you intend to use "vtysh"! +# +vtysh_enable=yes +zebra_options=" --daemon -A 127.0.0.1" +bgpd_options=" --daemon -A 127.0.0.1" +ospfd_options=" --daemon -A 127.0.0.1" +ospf6d_options="--daemon -A ::1" +ripd_options=" --daemon -A 127.0.0.1" +ripngd_options="--daemon -A ::1" +isisd_options=" --daemon -A 127.0.0.1" --- quagga-0.99.6.orig/debian/my/daemons +++ quagga-0.99.6/debian/my/daemons @@ -0,0 +1,27 @@ +# This file tells the quagga package which daemons to start. +# +# Entries are in the format: =(yes|no|priority) +# 0, "no" = disabled +# 1, "yes" = highest priority +# 2 .. 10 = lower priorities +# Read /usr/share/doc/quagga/README.Debian for details. +# +# Sample configurations for these daemons can be found in +# /usr/share/doc/quagga/examples/. +# +# ATTENTION: +# +# When activation a daemon at the first time, a config file, even if it is +# empty, has to be present *and* be owned by the user and group "quagga", else +# the daemon will not be started by /etc/init.d/quagga. The permissions should +# be u=rw,g=r,o=. +# When using "vtysh" such a config file is also needed. It should be owned by +# group "quaggavty" and set to ug=rw,o= though. Check /etc/pam.d/quagga, too. +# +zebra=no +bgpd=no +ospfd=no +ospf6d=no +ripd=no +ripngd=no +isisd=no --- quagga-0.99.6.orig/debian/po/templates.pot +++ quagga-0.99.6/debian/po/templates.pot @@ -0,0 +1,31 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: ch@debian.org\n" +"POT-Creation-Date: 2006-07-15 20:31+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "Do you really want to stop the Quagga daemon?" +msgstr "" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "" +"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " +"lead to BGP flaps or loss of network connectivity." +msgstr "" --- quagga-0.99.6.orig/debian/po/cs.po +++ quagga-0.99.6/debian/po/cs.po @@ -0,0 +1,40 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: quagga\n" +"Report-Msgid-Bugs-To: ch@debian.org\n" +"POT-Creation-Date: 2006-07-15 20:31+0200\n" +"PO-Revision-Date: 2005-07-13 18:52+0200\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "Do you really want to stop the Quagga daemon?" +msgstr "Opravdu chcete zastavit daemon Quagga?" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "" +"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " +"lead to BGP flaps or loss of network connectivity." +msgstr "" +"VAROVÃNÃ: Abyste mohli pokraÄovat, musí se smÄ›rovací daemon Quagga " +"pozastavit. To může vést ke zpanikaÅ™ení BGP nebo ke ztrátÄ› konektivity." --- quagga-0.99.6.orig/debian/po/fr.po +++ quagga-0.99.6/debian/po/fr.po @@ -0,0 +1,41 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: quagga 0.99.1-3\n" +"Report-Msgid-Bugs-To: ch@debian.org\n" +"POT-Creation-Date: 2006-07-15 20:31+0200\n" +"PO-Revision-Date: 2005-07-21 10:52+0200\n" +"Last-Translator: Mohammed Adnène Trojette\n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "Do you really want to stop the Quagga daemon?" +msgstr "Faut-il vraiment arrêter le démon Quagga ?" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "" +"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " +"lead to BGP flaps or loss of network connectivity." +msgstr "" +"Veuillez noter que le démon de routage Quagga doit être arrêté avant de " +"poursuivre cette installation. Cela peut provoquer des incohérences BGP ou " +"des pertes de connectivité." --- quagga-0.99.6.orig/debian/po/sv.po +++ quagga-0.99.6/debian/po/sv.po @@ -0,0 +1,39 @@ +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# Developers do not need to manually edit POT or PO files. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: quagga 0.99.1-6\n" +"Report-Msgid-Bugs-To: ch@debian.org\n" +"POT-Creation-Date: 2006-07-15 20:31+0200\n" +"PO-Revision-Date: 2005-10-04 06:56+0200\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "Do you really want to stop the Quagga daemon?" +msgstr "Vill du stoppa Quagga-daemonen?" + +#. Type: boolean +#. Description +#: ../quagga.templates:1001 +msgid "" +"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " +"lead to BGP flaps or loss of network connectivity." +msgstr "" +"VARNING: routingdaemonen Quagga måste stoppas för att fortsätta. Detta kan " +"leda till BGP-flaps eller att nätverksförbindelsen avbryts." --- quagga-0.99.6.orig/debian/po/POTFILES.in +++ quagga-0.99.6/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] quagga.templates --- quagga-0.99.6.orig/debian/quagga.preinst +++ quagga-0.99.6/debian/quagga.preinst @@ -0,0 +1,77 @@ +#!/bin/bash + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} +set -e +set -u + +# creating quaggavty group if it isn't already there +if ! getent group quaggavty >/dev/null; then + addgroup --system quaggavty >/dev/null +fi + +# creating quagga group if it isn't already there +if ! getent group quagga >/dev/null; then + addgroup --system quagga >/dev/null +fi + +# creating quagga user if he isn't already there +if ! getent passwd quagga >/dev/null; then + adduser \ + --system \ + --ingroup quagga \ + --home /var/run/quagga/ \ + --gecos "Quagga routing suite" \ + --shell /bin/false \ + quagga >/dev/null +fi + +# Do not change permissions when upgrading as it would violate policy. +if [ "$1" = "install" ]; then + # Logfiles are group readable in case users were put into the quagga group. + d=/var/log/quagga/ + mkdir -p $d + chown -R quagga:quagga $d + chmod u=rwx,go=rx $d + find $d -type f -print0 | xargs -0 --no-run-if-empty chmod u=rw,g=r,o= + + # Strict permissions for the sockets. + d=/var/run/quagga/ + mkdir -p $d + chown -R quagga:quagga $d + chmod u=rwx,go=rx $d + find $d -type f -print0 | xargs -0 --no-run-if-empty chmod u=rw,go= + + # Config files. Vtysh does not have access to the individual daemons config file + d=/etc/quagga/ + mkdir -p $d + chown quagga:quaggavty $d + chmod ug=rwx,o=rx $d + find $d -type f -print0 | xargs -0 --no-run-if-empty chown quagga:quagga + find $d -type f -print0 | xargs -0 --no-run-if-empty chmod u=rw,g=r,o= + + # Exceptions for vtysh. + f=$d/vtysh.conf + if [ -f $f ]; then + chown quagga:quaggavty $f + chmod u=rw,g=r,o= $f + fi + + # Exceptions for vtysh. + f=$d/Quagga.conf + if [ -f $d/Zebra.conf ]; then + mv $d/Zebra.conf $f + fi + if [ -f $f ]; then + chown quagga:quaggavty $f + chmod u=rw,g=r,o= $f + fi +fi + +if grep -q ^smux /etc/quagga/*.conf; then + echo "The currently used smux options will no longer work so remove them!" >&2 + echo "See /usr/share/doc/quagga/README.Debian for more information." >&2 + exit 1 +fi + +#DEBHELPER# --- quagga-0.99.6.orig/debian/quagga.lintian-overrides +++ quagga-0.99.6/debian/quagga.lintian-overrides @@ -0,0 +1,4 @@ +quagga: non-dev-pkg-with-shlib-symlink usr/lib/libospfapiclient.so.0.0.0 usr/lib/libospfapiclient.so +quagga: non-dev-pkg-with-shlib-symlink usr/lib/libospf.so.0.0.0 usr/lib/libospf.so +quagga: non-dev-pkg-with-shlib-symlink usr/lib/libzebra.so.0.0.0 usr/lib/libzebra.so +quagga: package-name-doesnt-match-sonames libospfapiclient0 libospf0 libzebra0 --- quagga-0.99.6.orig/debian/control +++ quagga-0.99.6/debian/control @@ -0,0 +1,37 @@ +Source: quagga +Section: net +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Christian Hammers +Build-Depends: debhelper (>= 4.1.16), libncurses5-dev, libreadline5-dev | libreadline-dev, tetex-bin, libpam0g-dev | libpam-dev, libcap-dev, texinfo (>= 4.7), dpatch, imagemagick, gs-gpl, groff, po-debconf, autotools-dev +Standards-Version: 3.7.2 + +Package: quagga +Architecture: any +Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), iproute, ${misc:Depends} +Pre-Depends: adduser +Conflicts: zebra, zebra-pj +Replaces: zebra, zebra-pj +Suggests: snmpd +Description: unoff. successor of the Zebra BGP/OSPF/RIP routing daemon + GNU Quagga is free software which manages TCP/IP based routing protocols. + It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, and RIPng as + well as the IPv6 versions of these. + . + As the precessor Zebra has been considered orphaned, the Quagga project + has been formed by members of the zebra mailing list and the former + zebra-pj project to continue developing. + . + Quagga uses threading if the kernel supports it, but can also run on + kernels that do not support threading. Each protocol has its own daemon. + . + It is more than a routed replacement, it can be used as a Route Server and + a Route Reflector. + +Package: quagga-doc +Architecture: all +Suggests: quagga +Description: documentation files for quagga + This package includes info files for quagga, a free software which manages + TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3, + IS-IS, RIPv1, RIPv2, and RIPng as well as the IPv6 versions of these. --- quagga-0.99.6.orig/debian/quagga.postinst +++ quagga-0.99.6/debian/quagga.postinst @@ -0,0 +1,17 @@ +#!/bin/bash -e + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} + +# This is most likely due to the answer "no" to the "really stop the server" +# question in the prerm script. +if [ "$1" = "abort-upgrade" ]; then + exit 0 +fi + +. /usr/share/debconf/confmodule + +db_stop + +#DEBHELPER# + --- quagga-0.99.6.orig/debian/quagga.manpages +++ quagga-0.99.6/debian/quagga.manpages @@ -0,0 +1,8 @@ +doc/bgpd.8 +doc/ospf6d.8 +doc/ospfd.8 +doc/ripd.8 +doc/ripngd.8 +doc/vtysh.1 +doc/zebra.8 +doc/isisd.8 --- quagga-0.99.6.orig/debian/rules +++ quagga-0.99.6/debian/rules @@ -0,0 +1,204 @@ +#!/usr/bin/make -f + +export SHELL=/bin/bash + +export DH_VERBOSE=1 + +T=$(CURDIR)/debian/tmp/ +Z=$(CURDIR)/debian/quagga/ +ZD=$(CURDIR)/debian/quagga-doc/ + +PATCHLIST = $(notdir $(basename $(wildcard debian/patches/*.dpatch))) +include /usr/share/dpatch/dpatch.make + +ifeq ($(WANT_SNMP), 1) + USE_SNMP=--enable-snmp + $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience") +else + $(warning "DEBIAN: SNMP disabled, see README.Debian") +endif + +configure: patch configure-stamp +configure-stamp: + dh_testdir + + # Quagga needs /proc to check some BSD vs Linux specific stuff. + # Else it fails with an obscure error message pointing out + # that IPCTL_FORWARDING is an undefined symbol which is not very + # helpful. + @if ! [ -d /proc/1 ]; then \ + echo "./configure needs a mounted /proc"; \ + exit 1; \ + fi + + # Update config.* + cp /usr/share/misc/config.{guess,sub} . + + # according to redhad/quagga.spec as of 2003-08-18 + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/quagga \ + --sbindir=/usr/lib/quagga \ + --sysconfdir=/etc/quagga \ + --localstatedir=/var/run/quagga \ + --enable-exampledir=$(T)/usr/share/doc/quagga/examples/ \ + \ + $(USE_SNMP) \ + --enable-vtysh \ + --enable-isisd \ + --enable-watchquagga \ + --enable-ospf-te \ + --enable-opaque-lsa \ + --enable-ipv6 \ + --enable-ospfclient=yes \ + --enable-ospfapi=yes \ + --enable-multipath=64 \ + --enable-user=quagga \ + --enable-group=quagga \ + --enable-vty-group=quaggavty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --enable-rtadv \ + --enable-tcp-md5 \ + --enable-gcc-rdynamic \ + \ + --with-libpam + + if ! diff -b -IHAVE_SNMP -IHAVE_NETSNMP -IUCD_COMPAT -IGETIFADDR debian/my/config.h.reference config.h; then \ + echo; \ + echo "WARNING: Please compare with debian/my/config.h.reference"; \ + echo; \ + if [ "`hostname`" = "app109" ]; then exit 1; fi; \ + fi + + touch $@ + + +build: configure build-stamp +build-stamp: + @echo "#42# entering build" + dh_testdir + + $(MAKE) + + # doc/ is a bit crazy + $(MAKE) -C doc quagga.pdf + rm -vf doc/quagga.info + $(MAKE) -C doc quagga.info + rm -vf doc/quagga.info.html* + + touch build-stamp + + +clean: clean-patched unpatch +clean-patched: + @echo "#42# entering clean" + dh_testdir + dh_testroot + rm -f configure-stamp build-stamp install-stamp + + -$(MAKE) distclean + @echo "BEGIN CRUFT" + @rm -vf */Makefile doc/quagga.{fns,kys,tmp,pdf,info-*} doc/quagga.info + @rm -vf lib/version.c doc/stamp-vti + @rm -vf vtysh/vtysh_cmd.c + @rm -vf doc/fig*.pdf + @echo "END CRUFT" + + # why? + @if [ -e config.log ]; then echo "CONFIG.LOG STILL THERE"; rm config.log; fi + + #debconf-updatepo + dh_clean + + +install: build + @echo "#42# entering install" + dh_testdir + dh_testroot + dh_clean -k + + $(MAKE) install \ + prefix=$(T)/usr \ + libexecdir=$(T)/usr/lib/quagga \ + sbindir=$(T)/usr/lib/quagga \ + sysconfdir=$(T)/etc/quagga \ + mandir=$(T)/usr/share/man \ + localstatedir=$(T)/var/run/quagga \ + infodir=$(T)/usr/share/info + + # cleaning up the info dir + rm -f $(T)/usr/share/info/dir* + + # install config files + mkdir -p $(T)/etc/quagga/ + cp debian/my/debian.conf $(T)/etc/quagga/ + cp debian/my/daemons $(T)/etc/quagga/ + perl -pi -e 's#^!log file #!log file /var/log/quagga/#' $(T)/usr/share/doc/quagga/examples/*sample* + + # installing the Quagga specific SNMP MIB + mkdir -p $(T)/usr/share/snmp/mibs/ + install -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB $(T)/usr/share/snmp/mibs/ + + # make lintian happy + mkdir -p $(T)/usr/share/lintian/overrides/ + cp debian/quagga.lintian-overrides $(T)/usr/share/lintian/overrides/quagga + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + + dh_installdirs -i + dh_movefiles -i + dh_link -i + + dh_installchangelogs -i + dh_installdebconf -i + dh_installdocs -i + dh_installexamples -i + dh_installinfo -i + dh_installman -i + + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + + dh_installdirs -a + dh_movefiles -a + dh_link -a + + dh_installchangelogs -a ChangeLog + dh_installdebconf -a + dh_installdocs -a + dh_installexamples -a + dh_installinit -a + dh_installpam -a + dh_installlogrotate + dh_installman -a + + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_makeshlibs -a + dh_installdeb -a + # dh_shlibdeps: removed "-L quagga" for Woody backport compatibility. + dh_shlibdeps -a -l debian/quagga/usr/lib + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: clean clean-patched configure build binary binary-indep binary-arch install patch unpatch --- quagga-0.99.6.orig/debian/watch +++ quagga-0.99.6/debian/watch @@ -0,0 +1,6 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# Site Directory Pattern Version Script +version=2 +http://www.quagga.net/download/quagga-(.*)\.tar\.gz debian uupdate --- quagga-0.99.6.orig/debian/quagga.dirs +++ quagga-0.99.6/debian/quagga.dirs @@ -0,0 +1,8 @@ +etc/logrotate.d/ +etc/quagga/ +usr/share/doc/quagga/ +usr/share/doc/quagga/examples/ +usr/share/lintian/overrides/ +usr/share/snmp/mibs/ +var/log/quagga/ +var/run/quagga/ --- quagga-0.99.6.orig/debian/quagga.docs +++ quagga-0.99.6/debian/quagga.docs @@ -0,0 +1,4 @@ +tools +debian/README.Debian +debian/README.Debian.Woody +debian/README.Debian.MD5 --- quagga-0.99.6.orig/debian/changelog +++ quagga-0.99.6/debian/changelog @@ -0,0 +1,835 @@ +quagga (0.99.6-2ubuntu3.2) feisty-security; urgency=low + + * SECURITY UPDATE: A bgpd could be crashed if a peer sent a malformed + OPEN message or a malformed COMMUNITY attribute. Only configured peers can + do this. + * debian/patches/92_ubuntu_fix_dos_malformed_community.dpatch: patch to fix + the DoS. Latest unstable debian package is 0.99.9 which fixes this + upstream + * References: (LP: #139569) + CVE-2007-4826 + + -- Stephan Hermann Fri, 14 Sep 2007 14:31:48 +0200 + +quagga (0.99.6-2ubuntu3.1) feisty-security; urgency=low + + * SECURITY UPDATE: configured peers can cause denial of service. + * debian/patches/91_fix_peer_assert.dpatch: upstream fixes via Debian. + * References + CVE-2007-1995 + + -- Kees Cook Thu, 17 May 2007 12:28:09 -0700 + +quagga (0.99.6-2ubuntu3) feisty; urgency=low + + * Update TCP-MD5 patch to support Linux 2.6.20. Ubuntu #90114. + * debian/rules: Explicitely use bash. + + -- Matthias Klose Fri, 30 Mar 2007 15:29:45 +0200 + +quagga (0.99.6-2ubuntu2) feisty; urgency=low + + * Fix edgy -> feisty upgrade. Ubuntu #45761. + * Set Ubuntu maintainer address. + + -- Matthias Klose Fri, 30 Mar 2007 15:15:58 +0200 + +quagga (0.99.6-2ubuntu1) feisty; urgency=low + + * Merge from debian unstable, remaining changes: + - debian/patches/81_32bit_u64.dpatch: Define __u64 as uint64_t + before including the netlink headers, since that symbol does not exist + by default on 32 bit arches. Fixes i386/powerpc FTBFS. + - debian/patches/83_ifaddr_defs.dpatch: + zebra/rt_netlink.c: #include and define IF[L]A_RTA + macros, so that the file compiles again with our kernel headers. + + -- Michael Vogt Wed, 20 Dec 2006 14:38:36 +0100 + +quagga (0.99.6-2) unstable; urgency=low + + * Updated config.guess/config.sub as suggested by lintian. + * Corrected README.Debian text regarding the WANT_SNMP flag. + + -- Christian Hammers Sun, 17 Dec 2006 01:45:37 +0100 + +quagga (0.99.6-1) unstable; urgency=low + + * New upstream release. Closes: #402361 + + -- Christian Hammers Mon, 11 Dec 2006 00:28:09 +0100 + +quagga (0.99.5-5ubuntu1) feisty; urgency=low + + * Merge from debian unstable; remaining Ubuntu changes: + - debian/patches/81_32bit_u64.dpatch: Define __u64 as uint64_t + before including the netlink headers, since that symbol does not exist + by default on 32 bit arches. Fixes i386/powerpc FTBFS. + * Add debian/patches/83_ifaddr_defs.dpatch: + - zebra/rt_netlink.c: #include and define IF[L]A_RTA + macros, so that the file compiles again with our kernel headers. + + -- Martin Pitt Tue, 28 Nov 2006 17:51:48 +0100 + +quagga (0.99.5-5) unstable; urgency=high + + * Changed Depends on adduser to Pre-Depends to avoid uninstallability + in certain cases (thanks to Steve Langasek, Lucas Nussbaum). + Closes: #398562 + + -- Christian Hammers Wed, 15 Nov 2006 17:46:34 +0100 + +quagga (0.99.5-4) unstable; urgency=low + + * Added default PAM file and some explanations regarding PAM authentication + of vtysh which could prevent the start at boot-time when used wrong. + Now PAM permits anybody to access the vtysh tool (a malicious user could + build his own vtysh without PAM anyway) and the access is controled by + the read/write permissions of the vtysh socket which are only granted to + users belonging to the quaggavty group (thanks to Wakko Warner). + Closes: #389496 + * Added "case" to prerm script so that the Debconf question is not called a + second time in e.g. "new-prerm abort-upgrade" after being NACKed in the + old-prerm. + + -- Christian Hammers Fri, 3 Nov 2006 01:22:15 +0100 + +quagga (0.99.5-3) unstable; urgency=medium + + * Backport CVS fix for an OSPF DD Exchange regression (thanks to Matt + Brown). Closes: #391040 + + -- Christian Hammers Wed, 25 Oct 2006 19:47:11 +0200 + +quagga (0.99.5-2) unstable; urgency=medium + + * Added LSB info section to initscript. + * Removed unnecessary depends to libncurses5 to make checklib happy. + The one to libcap should remain though as it is just temporarily + unused. + + -- Christian Hammers Thu, 21 Sep 2006 00:04:07 +0200 + +quagga (0.99.5-1) unstable; urgency=low + + * New upstream release. Closes: #38704 + * Upstream fixes ospfd documentary inconsistency. Closes: #347897 + * Changed debconf question in prerm to "high" (thanks to Rafal Pietrak). + + -- Christian Hammers Mon, 11 Sep 2006 23:43:42 +0200 + +quagga (0.99.4-4ubuntu1) edgy; urgency=low + + * debian/patches/81_32bit_u64.dpatch: lib/zebra.h: Define __u64 as uint64_t + before including the netlink headers, since that symbol does not exist by + default on 32 bit arches. Fixes i386/powerpc FTBFS. + + -- Martin Pitt Thu, 12 Oct 2006 16:43:07 +0200 + +quagga (0.99.4-4) unstable; urgency=low + + * Recreate /var/run if not present because /var is e.g. on a tmpfs + filesystem (thanks to Martin Pitt). Closes: #376142 + * Removed nonexistant option from ospfd.8 manpage (thanks to + David Medberry). Closes: 378274 + + -- Christian Hammers Sat, 15 Jul 2006 20:22:12 +0200 + +quagga (0.99.4-3) unstable; urgency=low + + * Removed invalid semicolon from rules file (thanks to Philippe Gramoulle). + + -- Christian Hammers Tue, 27 Jun 2006 23:36:07 +0200 + +quagga (0.99.4-2) unstable; urgency=high + + * Set urgency to high as 0.99.4-1 fixes a security problem! + * Fixed building of the info file. + + -- Christian Hammers Sun, 14 May 2006 23:04:28 +0200 + +quagga (0.99.4-1) unstable; urgency=low + + * New upstream release to fix a security problem in the telnet interface + of the BGP daemon which could be used for DoS attacks (CVE-2006-2276). + Closes: 366980 + + -- Christian Hammers Sat, 13 May 2006 19:54:40 +0200 + +quagga (0.99.3-3) unstable; urgency=low + + * Added CVE numbers for the security patch in 0.99.3-2. + + -- Christian Hammers Sat, 6 May 2006 17:14:22 +0200 + +quagga (0.99.3-2) unstable; urgency=high + + * SECURITY: + Added security bugfix patch from upstream BTS for security problem + that could lead to injected routes when using RIPv1. + CVE-2006-2223 - missing configuration to disable RIPv1 or require + plaintext or MD5 authentication + CVE-2006-2224 - lack of enforcement of RIPv2 authentication requirements + Closes: #365940 + * First amd64 upload. + + -- Christian Hammers Thu, 4 May 2006 00:22:09 +0200 + +quagga (0.99.3-1) unstable; urgency=low + + * New upstream release + + -- Christian Hammers Wed, 25 Jan 2006 13:37:27 +0100 + +quagga (0.99.2-1) unstable; urgency=low + + * New upstream release + Closes: #330248, #175553 + + -- Christian Hammers Wed, 16 Nov 2005 00:25:52 +0100 + +quagga (0.99.1-7) unstable; urgency=low + + * Changed debian/rules check for mounted /proc directory to check + for /proc/1 as not all systems (e.g. 2.6 arm kernels) have + /proc/kcore which is a optional feature only (thanks to Lennert + Buytenhek). Closes: #335695 + * Added Swedish Debconf translation (thanks to Daniel Nylander). + Closes: #331367 + + -- Christian Hammers Thu, 27 Oct 2005 20:53:19 +0200 + +quagga (0.99.1-6) unstable; urgency=low + + * Fixed debconf dependency as requested by Joey Hess. + + -- Christian Hammers Mon, 26 Sep 2005 20:47:35 +0200 + +quagga (0.99.1-5) unstable; urgency=low + + * Rebuild with libreadline5-dev as build-dep as requested by + Matthias Klose. Closes: #326306 + * Made initscript more fault tolerant against missing lines in + /etc/quagga/daemons (thanks to Ralf Hildebrandt). Closes: #323774 + * Added dependency to adduser. + + -- Christian Hammers Tue, 13 Sep 2005 21:42:17 +0200 + +quagga (0.99.1-4) unstable; urgency=low + + * Added French Debconf translation (thanks to Mohammed Adnene Trojette). + Closes: #319324 + * Added Czech Debconf translation (thanks to Miroslav Kure). + Closes: #318127 + + -- Christian Hammers Sun, 31 Jul 2005 04:19:41 +0200 + +quagga (0.99.1-3) unstable; urgency=low + + * A Debconf question now asks the admin before upgrading if the daemon + should really be stopped as this could lead to the loss of network + connectivity or BGP flaps (thanks to Michael Horn and Achilleas Kotsis). + Also added a hint about setting Quagga "on hold" to README.Debian. + Closes: #315467 + * Added patch to build on Linux/ARM. + + -- Christian Hammers Sun, 10 Jul 2005 22:19:38 +0200 + +quagga (0.99.1-2) unstable; urgency=low + + * Fixed SNMP enabled command in debian/rules (thanks to Christoph Kluenter). + Closes: #306840 + + -- Christian Hammers Sat, 4 Jun 2005 14:04:01 +0200 + +quagga (0.99.1-1) unstable; urgency=low + + * New upstream version. Among others: + - BGP graceful restart and "match ip route-source" added + - support for interface renaming + - improved threading for better responsivness under load + * Switched to dpatch to make diffs cleaner. + * Made autoreconf unnecessary. + * Replaced quagga.dvi and quagga.ps by quagga.pdf in quagga-doc. + (the PostScript would have needed Makefile corrections and PDF + is more preferable anyway) + * Added isisd to the list of daemons in /etc/init.d/quagga (thanks + to Ernesto Elbe). + * Added hint for "netlink-listen: overrun" messages (thanks to + Hasso Tepper). + * Added preinst check that bails out if old smux options are in use + as Quagga would not start up else anyway (thanks to Bjorn Mork). + Closes: #308320 + + -- Christian Hammers Fri, 13 May 2005 01:18:24 +0200 + +quagga (0.98.3-7) unstable; urgency=high + + * Removed SNMP support as linking against NetSNMP introduced a dependency + to OpenSSL which is not compatible to the GPL which governs this + application (thanks to Faidon Liambotis). See README.Debian for more + information. Closes: #306840 + * Changed listening address of ospf6d and ripngd from 127.0.0.1 to "::1". + * Added build-dep to groff to let drafz-zebra-00.txt build correctly. + + -- Christian Hammers Wed, 4 May 2005 20:08:14 +0200 + +quagga (0.98.3-6) testing-proposed-updates; urgency=high + + * Removed "Recommends kernel-image-2.4" as aptitude then + installes a kernel-image for an arbitrary architecture as long + as it fullfill that recommendation which can obviously fatal + at the next reboot :) Also it is a violation of the policy + which mandates a reference to real packages (thanks to Holger Levsen). + Closes: #307281 + + -- Christian Hammers Tue, 3 May 2005 22:53:39 +0200 + +quagga (0.98.3-5) unstable; urgency=high + + * The patch which tried to remove the OpenSSL dependency, which is + not only unneccessary but also a violation of the licence and thus RC, + stopped working a while ago, since autoreconf is no longer run before + building the binaries. So now ./configure is patched directly (thanks + to Faidon Liambotis for reporting). Closes: #306840 + * Raised Debhelper compatibility level from 3 to 4. Nothing changed. + * Added build-dep to texinfo (>= 4.7) to ease work for www.backports.org. + + -- Christian Hammers Fri, 29 Apr 2005 02:31:03 +0200 + +quagga (0.98.3-4) unstable; urgency=low + + * Removed Debconf upgrade note as it was considered a Debconf abuse + and apart from that so obvious that it was not even worth to be + put into NEWS.Debian (thanks to Steve Langasek). Closes: #306384 + + -- Christian Hammers Wed, 27 Apr 2005 00:10:24 +0200 + +quagga (0.98.3-3) unstable; urgency=medium + + * Adding the debconf module due to a lintian suggestion is a very + bad idea if no db_stop is called as the script hangs then (thanks + to Tore Anderson for reporting). Closes: #306324 + + -- Christian Hammers Mon, 25 Apr 2005 21:55:58 +0200 + +quagga (0.98.3-2) unstable; urgency=low + + * Added debconf confmodule to postinst as lintian suggested. + + -- Christian Hammers Sun, 24 Apr 2005 13:16:00 +0200 + +quagga (0.98.3-1) unstable; urgency=low + + * New upstream release. + Mmost notably fixes last regression in bgpd (reannounce of prefixes + with changed attributes works again), race condition in netlink + handling while using IPv6, MTU changes handling in ospfd and several + crashes in ospfd, bgpd and ospf6d. + + -- Christian Hammers Mon, 4 Apr 2005 12:51:24 +0200 + +quagga (0.98.2-2) unstable; urgency=low + + * Added patch to let Quagga compile with gcc-4.0 (thanks to + Andreas Jochens). Closes: #300949 + + -- Christian Hammers Fri, 25 Mar 2005 19:33:30 +0100 + +quagga (0.98.2-1) unstable; urgency=medium + + * Quoting the upstream announcement: + The 0.98.1 release unfortunately was a brown paper bag release with + respect to ospfd. [...] 0.98.2 has been released, with one crucial change + to fix the unfortunate mistake in 0.98.1, which caused problems if + ospfd became DR. + * Note: the upstream tarball had a strange problem, apparently redhat.spec + was twice in it? At least debuild gave a strange error message so I + unpacked it by hand. No changes were made to the .orig.tar.gz! + + -- Christian Hammers Fri, 4 Feb 2005 01:31:36 +0100 + +quagga (0.98.1-1) unstable; urgency=medium + + * New upstream version + "fixing a fatal OSPF + MD5 auth regression, and a non-fatal high-load + regression in bgpd which were present in the 0.98.0 release." + * Upstream version fixes bug in ospfd that could lead to crash when OSPF + packages had a MTU > 1500. Closes: #290566 + * Added notice regarding capability kernel support to README.Debian + (thanks to Florian Weimer). Closes: #291509 + * Changed permission setting in postinst script (thanks to Bastian Blank). + Closes: #292690 + + -- Christian Hammers Tue, 1 Feb 2005 02:01:27 +0100 + +quagga (0.98.0-3) unstable; urgency=low + + * Fixed problem in init script. Closes: #290317 + * Removed obsolete "smux peer enable" patch. + + -- Christian Hammers Fri, 14 Jan 2005 17:37:27 +0100 + +quagga (0.98.0-2) unstable; urgency=low + + * Updated broken TCP MD5 patch for BGP (thanks to John P. Looney + for telling me). + + -- Christian Hammers Thu, 13 Jan 2005 02:03:54 +0100 + +quagga (0.98.0-1) unstable; urgency=low + + * New upstream release + * Added kernel-image-2.6 as alternative to 2.4 to the recommends + (thanks to Faidon Liambotis). Closes: #289530 + + -- Christian Hammers Mon, 10 Jan 2005 19:36:17 +0100 + +quagga (0.97.5-1) unstable; urgency=low + + * New upstream version. + * Added Czech debconf translation (thanks to Miroslav Kure). + Closes: #287293 + * Added Brazilian debconf translation (thanks to Andre Luis Lopes). + Closes: #279352 + + -- Christian Hammers Wed, 5 Jan 2005 23:49:57 +0100 + +quagga (0.97.4-2) unstable; urgency=low + + * Fixed quagga.info build problem. + + -- Christian Hammers Wed, 5 Jan 2005 22:38:01 +0100 + +quagga (0.97.4-1) unstable; urgency=low + + * New upstream release. + + -- Christian Hammers Tue, 4 Jan 2005 01:45:22 +0100 + +quagga (0.97.3-2) unstable; urgency=low + + * Included isisd in the daemon list. + * Wrote an isisd manpage. + * It is now ensured that zebra is always the last daemon to be stopped. + * (Thanks to Hasso Tepper for mailing me a long list of suggestions + which lead to this release) + + -- Christian Hammers Sat, 18 Dec 2004 13:14:55 +0100 + +quagga (0.97.3-1) unstable; urgency=medium + + * New upstream version. + - Fixes important OSPF bug. + * Added ht-20040911-smux.patch regarding Quagga bug #112. + * Updated ht-20041109-0.97.3-bgp-md5.patch for BGP with TCP MD5 + (thanks to Matthias Wamser). + + -- Christian Hammers Tue, 9 Nov 2004 17:45:26 +0100 + +quagga (0.97.2-4) unstable; urgency=low + + * Added Portuguese debconf translation (thanks to Andre Luis Lopes). + Closes: #279352 + * Disabled ospfapi server by default on recommendation of Paul Jakma. + + -- Christian Hammers Sun, 7 Nov 2004 15:07:05 +0100 + +quagga (0.97.2-3) unstable; urgency=low + + * Added Andrew Schorrs VTY Buffer patch from the [quagga-dev 1729]. + + -- Christian Hammers Tue, 2 Nov 2004 00:46:56 +0100 + +quagga (0.97.2-2) unstable; urgency=low + + * Changed file and directory permissions and ownerships according to a + suggestion from Paul Jakma. Still not perfect though. + * Fixed upstream vtysh.conf.sample file. + * "ip ospf network broadcast" is now saved correctly. Closes: #244116 + * Daemon options are now in /etc/quagga/debian.conf to be user + configurable (thanks to Simon Raven and Hasso Tepper). Closes: #266715 + + -- Christian Hammers Tue, 26 Oct 2004 23:35:45 +0200 + +quagga (0.97.2-1) unstable; urgency=low + + * New upstream version. + Closes: #254541 + * Fixed warning on unmodular kernels (thanks to Christoph Biedl). + Closes: #277973 + + -- Christian Hammers Mon, 25 Oct 2004 00:47:04 +0200 + +quagga (0.97.1-2) unstable; urgency=low + + * Version 0.97 introduced shared libraries. They are now included. + (thanks to Raf D'Halleweyn). Closes: #277446 + + -- Christian Hammers Wed, 20 Oct 2004 15:32:06 +0200 + +quagga (0.97.1-1) unstable; urgency=low + + * New upstream version. + * Removed some obsolete files from debian/patches. + * Added patch from upstream bug 113. Closes: #254541 + * Added patch from upstream that fixes a compilation problem in the + ospfclient code (thanks to Hasso Tepper). + * Updated German debconf translation (thanks to Jens Nachtigall) + Closes: #277059 + + -- Christian Hammers Mon, 18 Oct 2004 01:16:35 +0200 + +quagga (0.96.5-11) unstable; urgency=low + + * Fixed /tmp/buildd/* paths in binaries. + For some unknown reason the upstream Makefile modified a .h file at + the end of the "debian/rules build" target. During the following + "make install" one library got thus be re*compiled* - with /tmp/buildd + paths as sysconfdir (thanks to Peder Chr. Norgaard). Closes: #274050 + + -- Christian Hammers Fri, 1 Oct 2004 01:21:02 +0200 + +quagga (0.96.5-10) unstable; urgency=medium + + * The BGP routing daemon might freeze on network disturbances when + their peer is also a Quagga/Zebra router. + Applied patch from http://bugzilla.quagga.net/show_bug.cgi?id=102 + which has been confirmed by the upstream author. + (thanks to Gunther Stammwitz) + * Changed --enable-pam to --with-libpam (thanks to Hasso Tepper). + Closes: #264562 + * Added patch for vtysh (thanks to Hasso Tepper). Closes: #215919 + + -- Christian Hammers Mon, 9 Aug 2004 15:33:02 +0200 + +quagga (0.96.5-9) unstable; urgency=low + + * Rewrote the documentation chapter about SNMP support. Closes: #195653 + * Added MPLS docs. + + -- Christian Hammers Thu, 29 Jul 2004 21:01:52 +0200 + +quagga (0.96.5-8) unstable; urgency=low + + * Adjusted a grep in the initscript to also match a modprobe message + from older modutils packages (thanks to Faidon Paravoid). + + -- Christian Hammers Wed, 28 Jul 2004 21:19:02 +0200 + +quagga (0.96.5-7) unstable; urgency=low + + * Added a "cd /etc/quagga/" to the init script as quagga tries to load + the config file first from the current working dir and then from the + config dir which could lead to confusion (thanks to Marco d'Itri). + Closes: #255078 + * Removed warning regarding problems with the Debian kernels from + README.Debian as they are no longer valid (thanks to Raphael Hertzog). + Closes: #257580 + * Added patch from Hasso Tepper that makes "terminal length 0" work + in vtysh (thanks to Matthias Wamser). Closes: #252579 + + -- Christian Hammers Thu, 8 Jul 2004 21:53:21 +0200 + +quagga (0.96.5-6) unstable; urgency=low + + * Try to load the capability module as it is needed now. + + -- Christian Hammers Tue, 8 Jun 2004 23:25:29 +0200 + +quagga (0.96.5-5) unstable; urgency=low + + * Changed the homedir of the quagga user to /etc/quagga/ to allow + admins to put ~/.ssh/authorized_keys there (thanks to Matthias Wamser). + Closes: #252577 + + -- Christian Hammers Sat, 5 Jun 2004 14:47:31 +0200 + +quagga (0.96.5-4) unstable; urgency=medium + + * Fixed rules file to use the renamed ./configure option --enable-tcp-md5 + (thanks to Matthias Wamser). Closes: #252141 + + -- Christian Hammers Tue, 1 Jun 2004 22:58:32 +0200 + +quagga (0.96.5-3) unstable; urgency=low + + * Provided default binary package name to all build depends that were + virtual packages (thanks to Goswin von Brederlow). Closes: #251625 + + -- Christian Hammers Sat, 29 May 2004 22:48:53 +0200 + +quagga (0.96.5-2) unstable; urgency=low + + * New upstream version. + * New md5 patch version (thanks to Niklas Jakobsson and Hasso Tepper). + Closes: #250985 + * Fixes info file generation (thanks to Peder Chr. Norgaard). + Closes: #250992 + * Added catalan debconf translation (thanks to Aleix Badia i Bosch). + Closes: #250118 + * PATCHES: + This release contains BGP4 MD5 support which requires a kernel patch + to work. See /usr/share/doc/quagga/README.Debian.MD5. + (The patch is ht-20040525-0.96.5-bgp-md5.patch from Hasso Tepper) + + -- Christian Hammers Thu, 27 May 2004 20:09:37 +0200 + +quagga (0.96.5-1) unstable; urgency=low + + * New upstream version. + * PATCHES: + This release contains BGP4 MD5 support which also requires a kernel patch. + See /usr/share/doc/quagga/README.Debian.MD5 and search for CAN-2004-0230. + + -- Christian Hammers Sun, 16 May 2004 17:40:40 +0200 + +quagga (0.96.4x-10) unstable; urgency=low + + * SECURITY: + This release contains support for MD5 for BGP which is one suggested + prevention of the actually long known TCP SYN/RST attacks which got + much news in the last days as ideas were revealed that made them much + easier probable agains especially the BGP sessions than commonly known. + There are a lot of arguments agains the MD5 approach but some ISPs + started to require it. + See: CAN-2004-0230, http://www.us-cert.gov/cas/techalerts/TA04-111A.html + * PATCHES: + This release contains the MD5 patch from Hasso Tepper. It also seems to + required a kernel patch. See /usr/share/doc/quagga/README.Debian.MD5. + + -- Christian Hammers Thu, 29 Apr 2004 01:01:38 +0200 + +quagga (0.96.4x-9) unstable; urgency=low + + * Fixed daemon loading order (thanks to Matt Kemner). + * Fixed typo in init script (thanks to Charlie Brett). Closes: #238582 + + -- Christian Hammers Sun, 4 Apr 2004 15:32:18 +0200 + +quagga (0.96.4x-8) unstable; urgency=low + + * Patched upstream source so that quagga header files end up in + /usr/include/quagga/. Closes: #233792 + + -- Christian Hammers Mon, 23 Feb 2004 01:42:53 +0100 + +quagga (0.96.4x-7) unstable; urgency=low + + * Fixed info file installation (thanks to Holger Dietze). Closes: #227579 + * Added Japanese translation (thanks to Hideki Yamane). Closes: #227812 + + -- Christian Hammers Sun, 18 Jan 2004 17:28:29 +0100 + +quagga (0.96.4x-6) unstable; urgency=low + + * Added dependency to iproute. + * Initscript now checks not only for the pid file but also for the + daemons presence (thanks to Phil Gregory). Closes: #224389 + * Added my patch to configure file permissions. + + -- Christian Hammers Mon, 15 Dec 2003 22:34:29 +0100 + +quagga (0.96.4x-5) unstable; urgency=low + + * Added patch which gives bgpd the CAP_NET_RAW capability to allow it + to bind to special IPv6 link-local interfaces (Thanks to Bastian Blank). + Closes: #222930 + * Made woody backport easier by applying Colin Watsons po-debconf hack. + Thanks to Marc Haber for suggesting it. Closes: #223527 + * Made woody backport easier by applying a patch that removes some + obscure whitespaces inside an C macro. (Thanks to Marc Haber). + Closes: #223529 + * Now uses /usr/bin/pager. Closes: #204070 + * Added note about the "official woody backports" on my homepage. + + -- Christian Hammers Mon, 15 Dec 2003 20:39:06 +0100 + +quagga (0.96.4x-4) unstable; urgency=high + + * SECURITY: + Fixes another bug that was originally reported against Zebra. + . + http://rhn.redhat.com/errata/RHSA-2003-307.html + Herbert Xu reported that Zebra can accept spoofed messages sent on the + kernel netlink interface by other users on the local machine. This could + lead to a local denial of service attack. The Common Vulnerabilities and + Exposures project (cve.mitre.org) has assigned the name CAN-2003-0858 to + this issue. + + * Minor improvements to init script (thanks to Iustin Pop). + Closes: #220938 + + -- Christian Hammers Sat, 22 Nov 2003 13:27:57 +0100 + +quagga (0.96.4x-3) unstable; urgency=low + + * Changed "more" to "/usr/bin/pager" as default pager if $PAGER or + $VTYSH_PAGER is not set (thanks to Bastian Blank). Closes: #204070 + * Made the directory (but not the config/log files!) world accessible + again on user request (thanks to Anand Kumria)). Closes: #213129 + * No longer providing sample configuration in /etc/quagga/. They are + now only available in /usr/share/doc/quagga/ to avoid accidently + using them without changing the adresses (thanks to Marc Haber). + Closes: #215918 + + -- Christian Hammers Sun, 16 Nov 2003 16:59:30 +0100 + +quagga (0.96.4x-2) unstable; urgency=low + + * Fixed permission problem with pidfile (thanks to Kir Kostuchenko). + Closes: #220938 + + -- Christian Hammers Sun, 16 Nov 2003 14:24:08 +0100 + +quagga (0.96.4x-1) unstable; urgency=low + + * Reupload of 0.96.4. Last upload-in-a-hurry produced a totally + crappy .tar.gz file. Closes: #220621 + + -- Christian Hammers Fri, 14 Nov 2003 19:45:57 +0100 + +quagga (0.96.4-1) unstable; urgency=high + + * SECURITY: Remote DoS of protocol daemons. + Fix for a remote triggerable crash in vty layer. The management + ports ("telnet myrouter ospfd") should not be open to the internet! + + * New upstream version. + - OSPF bugfixes. + - Some improvements for bgp and rip. + + -- Christian Hammers Thu, 13 Nov 2003 11:52:27 +0100 + +quagga (0.96.3-3) unstable; urgency=low + + * Fixed pid file generation by substituting the daemons "-d" by the + start-stop-daemon option "--background" (thanks to Micha Gaisser). + Closes: #218103 + + -- Christian Hammers Wed, 29 Oct 2003 05:17:49 +0100 + +quagga (0.96.3-2) unstable; urgency=low + + * Readded GNOME-PRODUCT-ZEBRA-MIB. + + -- Christian Hammers Thu, 23 Oct 2003 06:17:03 +0200 + +quagga (0.96.3-1) unstable; urgency=medium + + * New upstream version. + * Removed -u and -e in postrm due to problems with debhelper and userdel + (thanks to Adam Majer and Jaakko Niemi). Closes: #216770 + * Removed SNMP MIBs as they are now included in libsnmp-base (thanks to + David Engel and Peter Gervai). Closes: #216138, #216086 + * Fixed seq command in init script (thanks to Marc Haber). Closes: #215915 + * Improved /proc check (thanks to Marc Haber). Closes: #212331 + + -- Christian Hammers Thu, 23 Oct 2003 03:42:02 +0200 + +quagga (0.96.2-9) unstable; urgency=medium + + * Removed /usr/share/info/dir.* which were accidently there and prevented + the installation by dpkg (thanks to Simon Raven). Closes: #212614 + * Reworded package description (thanks to Anand Kumria). Closes: #213125 + * Added french debconf translation (thanks to Christian Perrier). + Closes: #212803 + + -- Christian Hammers Tue, 7 Oct 2003 13:26:58 +0200 + +quagga (0.96.2-8) unstable; urgency=low + + * debian/rules now checks if /proc is mounted as ./configure needs + it but just fails with an obscure error message if it is absent. + (Thanks to Norbert Tretkowski). Closes: #212331 + + -- Christian Hammers Tue, 23 Sep 2003 12:57:38 +0200 + +quagga (0.96.2-7) unstable; urgency=low + + * Last build was rejected due to a buggy dpkg-dev version. Rebuild. + + -- Christian Hammers Mon, 22 Sep 2003 20:34:12 +0200 + +quagga (0.96.2-6) unstable; urgency=low + + * Fixed init script so that is is now possible to just start + the bgpd but not the zebra daemon. Also daemons are now actually + started in the order defined their priority. (Thanks to Thomas Kaehn + and Jochen Friedrich) Closes: #210924 + + -- Christian Hammers Fri, 19 Sep 2003 21:17:02 +0200 + +quagga (0.96.2-5) unstable; urgency=low + + * For using quagga as BGP route server or similar, it is not + wanted to have the zebra daemon running too. For this reason + it can now be disabled in /etc/quagga/daemons, too. + (Thanks to Jochen Friedrich). Closes: #210924 + * Attached *unapplied* patch for the ISIS protocol. I did not dare + to apply it as long as upstream does not do it but this way give + users the possibilities to use it if they like to. + (Thanks to Remco van Mook) + + -- Christian Hammers Wed, 17 Sep 2003 19:57:31 +0200 + +quagga (0.96.2-4) unstable; urgency=low + + * Enabled IPV6 router advertisement feature by default on user request + (thanks to Jochen Friedrich and Hasso Tepper). Closes: #210732 + * Updated GNU autoconf to let it build on hppa/parisc64 (thanks to + lamont). Closes: #210492 + + -- Christian Hammers Sat, 13 Sep 2003 14:11:13 +0200 + +quagga (0.96.2-3) unstable; urgency=medium + + * Removed unnecessary "-lcrypto" to avoid dependency against OpenSSL + which would require further copyright addtions. + + -- Christian Hammers Wed, 10 Sep 2003 01:37:28 +0200 + +quagga (0.96.2-2) unstable; urgency=low + + * Added note that config files of quagga are in /etc/quagga and + not /etc/zebra for the zebra users that migrate to quagga. + (Thanks to Roberto Suarez Soto for the idea) + * Fixed setgid rights in /etc/quagga. + + -- Christian Hammers Wed, 27 Aug 2003 14:05:39 +0200 + +quagga (0.96.2-1) unstable; urgency=low + + * This package has formally been known as "zebra-pj"! + * New upstream release. + Fixes "anoying OSPF problem". + * Modified group ownerships so that vtysh can now be used by normal + uses if they are in the quaggavty group. + + -- Christian Hammers Mon, 25 Aug 2003 23:40:14 +0200 + +quagga (0.96.1-1) unstable; urgency=low + + * Zebra-pj, the fork of zebra has been renamed to quagga as the original + upstream author asked the new project membed not to use "zebra" in the + name. zebra-pj is obsolete. + + -- Christian Hammers Mon, 18 Aug 2003 23:37:20 +0200 + +zebra-pj (0.94+cvs20030721-1) unstable; urgency=low + + * New CVS build. + - OSPF changes (integration of the OSPF API?) + - code cleanups (for ipv6?) + * Tightened Build-Deps to gcc-2.95 as 3.x does not compile a stable ospfd. + This is a known problem and has been discussed on the mailing list. + No other solutions so far. + + -- Christian Hammers Mon, 21 Jul 2003 23:52:00 +0200 + +zebra-pj (0.94+cvs20030701-1) unstable; urgency=low + + * Initial Release. + + -- Christian Hammers Tue, 1 Jul 2003 01:58:06 +0200 + --- quagga-0.99.6.orig/debian/quagga.templates +++ quagga-0.99.6/debian/quagga.templates @@ -0,0 +1,6 @@ +Template: quagga/really_stop +Type: boolean +Default: false +_Description: Do you really want to stop the Quagga daemon? + WARNING: The Quagga routing daemon has to be stopped to proceed. This + could lead to BGP flaps or loss of network connectivity. --- quagga-0.99.6.orig/debian/quagga.config +++ quagga-0.99.6/debian/quagga.config @@ -0,0 +1,4 @@ +#!/bin/bash -e + +. /usr/share/debconf/confmodule + --- quagga-0.99.6.orig/debian/quagga.init.d +++ quagga-0.99.6/debian/quagga.init.d @@ -0,0 +1,256 @@ +#!/bin/bash +# +### BEGIN INIT INFO +# Provides: quagga +# Required-Start: $local_fs $network $remote_fs $syslog +# Required-Stop: $local_fs $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start and stop the Quagga routing suite +# Description: Quagga is a routing suite for IP routing protocols like +# BGP, OSPF, RIP and others. This script contols the main +# daemon "quagga" as well as the individual protocol daemons. +### END INIT INFO +# + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +D_PATH=/usr/lib/quagga +C_PATH=/etc/quagga +DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd" # keep zebra first! + +# Print the name of the pidfile. +pidfile() +{ + echo "/var/run/quagga/$1.pid" +} + +# Check if daemon is started by using the pidfile. +started() +{ + [ -e `pidfile $1` ] && kill -0 `cat \`pidfile $1\`` 2> /dev/null && return 0 + return 1 +} + +# Loads the config via vtysh -b if configured to do so. +vtysh_b () +{ + # Rember, that all variables have been incremented by 1 in convert_daemon_prios() + if [ "$vtysh_enable" = 2 -a -f $C_PATH/Quagga.conf ]; then + /usr/bin/vtysh -b + fi +} + +# Check if the daemon is activated and if its executable and config files +# are in place. +# params: daemon name +# returns: 0=ok, 1=error +check_daemon() +{ + # If the integrated config file is used the others are not checked. + if [ -r "$C_PATH/Quagga.conf" ]; then + return 0 + fi + + # vtysh_enable has no config file nor binary so skip check. + # (What is this good for? IIRC it was a "daemons" entry somewhen) + if [ $1 != "vtysh_enable" ]; then + # check for daemon binary + if [ ! -x "$D_PATH/$1" ]; then return 1; fi + + # check for config file + if [ ! -r "$C_PATH/$1.conf" ]; then + echo -n " (not started without config file)" + return 1 + fi + fi + return 0 +} + +# Starts the server if it's not alrady running according to the pid file. +# The Quagga daemons creates the pidfile when starting. +start() +{ + echo -n " $1" + if ! check_daemon $1; then return; fi + + start-stop-daemon \ + --start \ + --pidfile=`pidfile $1` \ + --exec "$D_PATH/$1" \ + -- \ + `eval echo "$""$1""_options"` + +} + +# Stop the daemon given in the parameter, printing its name to the terminal. +stop() +{ + if ! started "$1" ; then + echo -n " ($1)" + return 0 + else + PIDFILE=`pidfile $1` + PID=`cat $PIDFILE 2>/dev/null` + start-stop-daemon --stop --quiet --oknodo --exec "$D_PATH/$1" + # + # Now we have to wait until $DAEMON has _really_ stopped. + # + if test -n "$PID" && kill -0 $PID 2>/dev/null; then + echo -n " (waiting) ." + cnt=0 + while kill -0 $PID 2>/dev/null; do + cnt=`expr $cnt + 1` + if [ $cnt -gt 60 ]; then + # Waited 120 secs now, fail. + echo -n "Failed.. " + break + fi + sleep 2 + echo -n "." + done + fi + echo -n " $1" + rm -f `pidfile $1` + fi +} + +# Converts values from /etc/quagga/daemons to all-numeric values. +convert_daemon_prios() +{ + for name in $DAEMONS zebra vtysh_enable; do + # First, assign the value set by the user to $value + eval value=\$$name + + # Daemon not activated or entry missing? + if [ "$value" = "no" -o "$value" = "" ]; then value=0; fi + + # These strings parsed for backwards compatibility. + if [ "$value" = "yes" -o "$value" = "true" ]; then value=1; fi + + # Zebra is threatened special. It must be between 0=off and the first + # user assigned value "1" so we increase all other enabled daemons' values. + if [ "$name" != "zebra" -a "$value" -gt 0 ]; then value=`expr "$value" + 1`; fi + + # If e.g. name is zebra then we set "zebra=yes". + eval $name=$value + done +} + +# Stops all daemons that have a lower level of priority than the given. +# (technically if daemon_prio >= wanted_prio) +stop_prio() +{ + local wanted_prio + local daemon_prio + local daemon_list + + wanted_prio=$1 + daemon_list=${2:-$DAEMONS} + + echo -n "Stopping Quagga daemons (prio:$wanted_prio):" + + for prio_i in `seq 10 -1 $wanted_prio`; do + for daemon_name in $daemon_list; do + eval daemon_prio=\$$daemon_name + if [ $daemon_prio -eq $prio_i ]; then + stop "$daemon_name" + fi + done + done + echo "." +} + +# Starts all daemons that have a higher level of priority than the given. +# (technically if daemon_prio <= wanted_prio) +start_prio() +{ + local wanted_prio + local daemon_prio + local daemon_list + + wanted_prio=$1 + daemon_list=${2:-$DAEMONS} + + echo -n "Starting Quagga daemons (prio:$wanted_prio):" + + for prio_i in `seq 1 $wanted_prio`; do + for daemon_name in $daemon_list; do + eval daemon_prio=\$$daemon_name + if [ $daemon_prio -eq $prio_i ]; then + start "$daemon_name" + fi + done + done + echo "." +} + +######################################################### +# Main program # +######################################################### + +# Config broken but script must exit silently. +[ ! -r "$C_PATH/daemons" ] && exit 0 + +# Load configuration +. "$C_PATH/daemons" +. "$C_PATH/debian.conf" + +# Set priority of un-startable daemons to 'no' and substitute 'yes' to '0' +convert_daemon_prios + +# Just for me :-) +if [ "$DEBIAN_SCRIPT_DEBUG" != "" ]; then + for name in $DAEMONS zebra vtysh_enable; do + echo -n "$name="; eval echo \$$name + done +fi + +if [ ! -d /var/run/quagga ]; then + mkdir -p /var/run/quagga + chown quagga:quagga /var/run/quagga + chmod 755 /var/run/quagga +fi + +case "$1" in + start) + # Try to load this necessary (at least for 2.6) module. + if [ -d /lib/modules/`uname -r` ] ; then + echo "Loading capability module if not yet done." + set +e; LC_ALL=C modprobe -a capability 2>&1 | egrep -v "(not found|Can't locate)"; set -e + fi + # Start all daemons + cd $C_PATH/ + start_prio 10 $2 + vtysh_b + ;; + + 1|2|3|4|5|6|7|8|9|10) + # Stop/start daemons for the appropriate priority level + stop_prio $1 + start_prio $1 + vtysh_b + ;; + + stop|0) + # Stop all daemons at level '0' or 'stop' + stop_prio 0 $2 + + echo "Removing all routes made by zebra." + ip route flush proto zebra + ;; + + restart|force-reload) + $0 stop $2 + sleep 1 + $0 start $2 + ;; + + *) + echo "Usage: /etc/init.d/quagga {start|stop|restart|force-reload|} [daemon]" + echo " E.g. '/etc/init.d/quagga 5' would start all daemons with a prio 1-5." + echo " Read /usr/share/doc/quagga/README.Debian for details." + exit 1 + ;; +esac + +exit 0 --- quagga-0.99.6.orig/debian/compat +++ quagga-0.99.6/debian/compat @@ -0,0 +1 @@ +4 --- quagga-0.99.6.orig/debian/quagga-doc.files +++ quagga-0.99.6/debian/quagga-doc.files @@ -0,0 +1 @@ +usr/share/info --- quagga-0.99.6.orig/debian/README.Debian.Woody +++ quagga-0.99.6/debian/README.Debian.Woody @@ -0,0 +1,5 @@ +I maintain woody backports of Quagga, too. They are available at + + http://www.lathspell.de/linux/debian/ + +-christian- --- quagga-0.99.6.orig/debian/quagga.postrm +++ quagga-0.99.6/debian/quagga.postrm @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} +# set -e not because of userdel +# set -u not because of debhelper + +if [ "$1" = "purge" ]; then + rm -rf /etc/quagga /var/run/quagga /var/log/quagga + userdel quagga >/dev/null 2>&1 +fi + +#DEBHELPER# --- quagga-0.99.6.orig/debian/README.Debian +++ quagga-0.99.6/debian/README.Debian @@ -0,0 +1,108 @@ +* SAFETY MEASURES: +================== + +Please consider setting this package "on hold" by typing + echo "quagga hold" | dpkg --set-selections +and verifying this using + dpkg --get-selections | grep 'hold$' + +Setting a package "on hold" means that it will not automatically be upgraded. +Instead apt-get only displays a warning saying that a new version would be +available forcing you to explicitly type "apt-get install quagga" to upgrade it. + + +* What is quagga? +================= + +http://www.quagga.net/ +> 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. Development of GNU Zebra +> slowed dramatically to the point where eventually GNU Zebra was forked into +> Quagga. + +> The Quagga tree is an attempt to provide a zebra tree with at least the +> bug-fixes, which have accumulated, applied, while tracking any significant +> changes made to the zebra.org tree. Ultimately, this tree hopes to revitalise +> development of this code base. + +I packaged zebra-pj which was then renamed to quagga to get people used to it +and offer Debian users the choice which versions they like to use. I hope this +brings quagga some feedback and helps it evolving to a good successor of the +orphaned zebra. + + -- Christian Hammers , Jul/Aug 2003 + + +* Why has SNMP support been disabled? +===================================== +Quagga used to link against the NetSNMP libraries to provide SNMP +support. Those libraries sadly link against the OpenSSL libraries +to provide crypto support for SNMPv3 among others. +OpenSSL now is not compatible with the GNU GENERAL PUBLIC LICENSE (GPL) +licence that Quagga is distributed under. For more explanation read: + http://www.gnome.org/~markmc/openssl-and-the-gpl.html + http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs +Updating the licence to explecitly allow linking against OpenSSL +would requite the affirmation of all people that ever contributed +a significant part to Zebra or Quagga and thus are the collective +"copyright holder". That's too much work. Using a shrinked down +version of NetSNMP without OpenSSL or convincing the NetSNMP people +to change to GnuTLS are maybe good solutions but not reachable +during the last days before the Sarge release :-( + + *BUT* + +It is allowed by the used licence mix that you fetch the sources and +build Quagga yourself with SNMP with + # export WANT_SNMP=1 + # apt-get -b source quagga +Just distributing it in binary form, linked against OpenSSL, is forbidden. + + +* Daemon selection: +=================== + +The Debian package uses /etc/quagga/daemons to tell the +initscript which daemons to start. It's in the format += +with no spaces (it's simply source-d into the initscript). +Default is not to start anything, since it can hose your +system's routing table if not set up properly. + +Priorities were suggested by Dancer . +They're used to start the Quagga daemons in more than one step +(for example start one or two at network initialization and the +rest later). The number of Quagga daemons being small, priorities +must be between 1 and 9, inclusive (or the initscript has to be +changed). /etc/init.d/quagga then can be started as + +/etc/init.d/quagga > + +where priority 0 is the same as 'stop', priority 10 or 'start' +means 'start all' + + +* Error message "privs_init: initial cap_set_proc failed": +========================================================== + +This error message means that "capability support" has to be built +into the kernel. + + +* Error message "netlink-listen: overrun: No buffer space available": +===================================================================== + +If this message occurs the receive buffer should be increased by adding the +following to /etc/sysctl.conf and "--nl-bufsize" to /etc/quagga/debian.conf. +> net.core.rmem_default = 262144 +> net.core.rmem_max = 262144 +See message #4525 from 2005-05-09 in the quagga-users mailing list. + + +* vtysh immediately exists: +=========================== + +Check /etc/pam.d/quagga, it probably denies access to your user. The passwords +configured in /etc/quagga/Quagga.conf are only for telnet access. --- quagga-0.99.6.orig/debian/patches/92_ubuntu_fix_dos_malformed_community.dpatch +++ quagga-0.99.6/debian/patches/92_ubuntu_fix_dos_malformed_community.dpatch @@ -0,0 +1,46 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 92_ubuntu_fix_dos_malformed_community.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad quagga-0.99.2~/bgpd/bgp_attr.c quagga-0.99.2/bgpd/bgp_attr.c +--- quagga-0.99.2~/bgpd/bgp_attr.c 2005-09-10 18:55:02.000000000 +0200 ++++ quagga-0.99.2/bgpd/bgp_attr.c 2007-09-14 11:43:32.192739650 +0200 +@@ -853,8 +853,11 @@ + bgp_attr_community (struct peer *peer, bgp_size_t length, + struct attr *attr, u_char flag) + { +- if (length == 0) ++ if (length == 0) ++ { + attr->community = NULL; ++ return 0; ++ } + else + { + attr->community = +diff -urNad quagga-0.99.2~/bgpd/bgp_community.c quagga-0.99.2/bgpd/bgp_community.c +--- quagga-0.99.2~/bgpd/bgp_community.c 2005-06-28 14:44:16.000000000 +0200 ++++ quagga-0.99.2/bgpd/bgp_community.c 2007-09-14 11:45:12.198438650 +0200 +@@ -206,6 +206,9 @@ + u_int16_t as; + u_int16_t val; + ++ if (!com) ++ return NULL; ++ + /* When communities attribute is empty. */ + if (com->size == 0) + { +@@ -377,6 +380,9 @@ + char * + community_str (struct community *com) + { ++ if (!com) ++ return NULL; ++ + if (! com->str) + com->str = community_com2str (com); + return com->str; --- quagga-0.99.6.orig/debian/patches/30_doc__ospfd.8__nolog.dpatch +++ quagga-0.99.6/debian/patches/30_doc__ospfd.8__nolog.dpatch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 30_doc__ospfd.8__nolog.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Removes documentation of nonexistant option. + +@DPATCH@ + +--- old/doc/ospfd.8 2006-07-15 20:27:52.000000000 +0200 ++++ new/doc/ospfd.8 2006-07-15 20:28:09.000000000 +0200 +@@ -52,9 +52,6 @@ + \fB\fIpid-file\fR. The init system uses the recorded PID to stop or + restart ospfd. The likely default is \fB\fI/var/run/ospfd.pid\fR. + .TP +-\fB\-l\fR, \fB\-\-log_mode\fR +-Turn verbose logging on. +-.TP + \fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR + Specify the port that the ospfd VTY will listen on. This defaults to + 2604, as specified in \fB\fI/etc/services\fR. --- quagga-0.99.6.orig/debian/patches/75_vtysh__vtysh.c__PAGER.dpatch +++ quagga-0.99.6/debian/patches/75_vtysh__vtysh.c__PAGER.dpatch @@ -0,0 +1,30 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 75_vtysh__vtysh.c__PAGER.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: vtysh__vtysh.c__PAGER + +@DPATCH@ + +--- old/vtysh/vtysh.c.orig 2004-10-18 01:23:16.000000000 +0200 ++++ new/vtysh/vtysh.c 2004-10-18 01:25:15.000000000 +0200 +@@ -240,10 +240,16 @@ + + pager_defined = getenv ("VTYSH_PAGER"); + +- if (pager_defined) ++ if (pager_defined) { + vtysh_pager_name = strdup (pager_defined); +- else +- vtysh_pager_name = strdup ("more"); ++ } else { ++ struct stat pager_stat; ++ if (stat("/usr/bin/pager", &pager_stat) == 0) { ++ vtysh_pager_name = strdup ("/usr/bin/pager"); ++ } else { ++ vtysh_pager_name = strdup ("more"); ++ } ++ } + } + + /* Command execution over the vty interface. */ --- quagga-0.99.6.orig/debian/patches/80_vtysh__vtysh.c__privs.dpatch +++ quagga-0.99.6/debian/patches/80_vtysh__vtysh.c__privs.dpatch @@ -0,0 +1,51 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 100_vtysh__vtysh.c__privs.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: vtysh__vtysh.c__privs + +@DPATCH@ + +--- old/vtysh/vtysh.c.orig 2004-10-30 23:16:08.000000000 +0200 ++++ new/vtysh/vtysh.c 2004-10-30 23:16:41.000000000 +0200 +@@ -26,6 +26,8 @@ + #include + #include + #include ++#include ++#include + + #include + #include +@@ -1638,6 +1646,9 @@ + FILE *fp; + char *integrate_sav = NULL; + ++ /* Setting file permissions */ ++ struct group *quagga_vty_group; ++ + integrate_sav = malloc (strlen (integrate_default) + + strlen (CONF_BACKUP_EXT) + 1); + strcpy (integrate_sav, integrate_default); +@@ -1669,6 +1680,21 @@ + vtysh_config_dump (fp); + + fclose (fp); ++ ++ errno = 0; ++ if ((quagga_vty_group = getgrnam(VTY_GROUP)) == NULL) ++ { ++ fprintf (stdout, "%% Can't get group %s: %s (%d)\n", ++ VTY_GROUP, strerror(errno), errno); ++ return CMD_WARNING; ++ } ++ ++ if ((chown(integrate_default, -1, quagga_vty_group->gr_gid)) != 0) ++ { ++ fprintf (stdout,"%% Can't chown configuration file %s: %s (%d)\n", ++ integrate_default, strerror(errno), errno); ++ return CMD_WARNING; ++ } + + if (chmod (integrate_default, CONFIGFILE_MASK) != 0) + { --- quagga-0.99.6.orig/debian/patches/83_ifaddr_defs.dpatch +++ quagga-0.99.6/debian/patches/83_ifaddr_defs.dpatch @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 83_ifaddr_defs.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad quagga-0.99.5~/zebra/rt_netlink.c quagga-0.99.5/zebra/rt_netlink.c +--- quagga-0.99.5~/zebra/rt_netlink.c 2006-07-02 18:36:51.000000000 +0200 ++++ quagga-0.99.5/zebra/rt_netlink.c 2006-11-28 17:51:39.000000000 +0100 +@@ -35,6 +35,10 @@ + #include "rib.h" + #include "thread.h" + #include "privs.h" ++#include ++ ++#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) ++#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) + + #include "zebra/zserv.h" + #include "zebra/rt.h" --- quagga-0.99.6.orig/debian/patches/10_doc__Makefiles__makeinfo-force.dpatch +++ quagga-0.99.6/debian/patches/10_doc__Makefiles__makeinfo-force.dpatch @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_doc__Makefiles__makeinfo-force.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: makeinfo + +@DPATCH@ + +# +# This patch is just for the Woody Backport. +# +--- /tmp/Makefile.in 2005-01-05 22:37:02.000000000 +0100 ++++ new/doc/Makefile.in 2005-01-05 23:03:33.000000000 +0100 +@@ -191,6 +191,7 @@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + EPSTOPDF = epstopdf ++MAKEINFOFLAGS = --force + + # rather twisted logic because we have to build PDFs of the EPS figures + # and yet build one PDF, quagga.pdf, from texi source. Which means we cant --- quagga-0.99.6.orig/debian/patches/20_ht-20061217-0.99.6-bgp-md5.dpatch +++ quagga-0.99.6/debian/patches/20_ht-20061217-0.99.6-bgp-md5.dpatch @@ -0,0 +1,424 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 99-unnamed.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Update TCP-MD5 patch to support Linux 2.6.20 +## DP: http://lists.quagga.net/pipermail/quagga-dev/2006-December/004539.html + +@DPATCH@ + +diff -uprN -x '*.orig' quagga-0.99.6.orig/bgpd/bgp_network.c quagga-0.99.6/bgpd/bgp_network.c +--- quagga-0.99.6.orig/bgpd/bgp_network.c 2005-10-29 22:44:50.000000000 +0000 ++++ quagga-0.99.6/bgpd/bgp_network.c 2006-12-16 19:21:45.000000000 +0000 +@@ -38,6 +38,34 @@ Software Foundation, Inc., 59 Temple Pla + extern struct zebra_privs_t bgpd_privs; + + ++#if defined(HAVE_TCP_MD5) && defined(GNU_LINUX) ++/* Set MD5 key to the socket. */ ++int ++bgp_md5_set (int sock, struct peer *peer, char *password) ++{ ++ int ret; ++ struct tcp_md5sig md5sig; ++ int keylen = password ? strlen(password) : 0; ++ ++ bzero((char *)&md5sig, sizeof(md5sig)); ++ memcpy(&md5sig.tcpm_addr, &peer->su.sin, sizeof(peer->su.sin)); ++ md5sig.tcpm_keylen = keylen; ++ if (keylen) ++ memcpy(md5sig.tcpm_key, password, keylen); ++ ++ if ( bgpd_privs.change (ZPRIVS_RAISE) ) ++ zlog_err ("bgp_md5_set: could not raise privs"); ++ ++ ret = setsockopt (sock, IPPROTO_TCP, TCP_MD5SIG, &md5sig, sizeof md5sig); ++ ++ if (bgpd_privs.change (ZPRIVS_LOWER) ) ++ zlog_err ("bgp_md5_set: could not lower privs"); ++ ++ return ret; ++} ++ ++#endif /* defined(HAVE_TCP_MD5) && defined(GNU_LINUX) */ ++ + /* Accept bgp connection. */ + static int + bgp_accept (struct thread *thread) +@@ -238,6 +266,12 @@ bgp_connect (struct peer *peer) + sockopt_reuseaddr (peer->fd); + sockopt_reuseport (peer->fd); + ++#ifdef HAVE_TCP_MD5 ++ if (CHECK_FLAG (peer->flags, PEER_FLAG_PASSWORD)) ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (peer->fd, peer, peer->password); ++#endif /* HAVE_TCP_MD5 */ ++ + /* Bind socket. */ + bgp_bind (peer); + +@@ -346,6 +380,10 @@ bgp_socket (struct bgp *bgp, unsigned sh + continue; + } + ++#ifdef HAVE_TCP_MD5 ++ bm->sock = sock; ++#endif /* HAVE_TCP_MD5 */ ++ + thread_add_read (master, bgp_accept, bgp, sock); + } + while ((ainfo = ainfo->ai_next) != NULL); +@@ -406,6 +444,9 @@ bgp_socket (struct bgp *bgp, unsigned sh + close (sock); + return ret; + } ++#ifdef HAVE_TCP_MD5 ++ bm->sock = sock; ++#endif /* HAVE_TCP_MD5 */ + + thread_add_read (bm->master, bgp_accept, bgp, sock); + +diff -uprN -x '*.orig' quagga-0.99.6.orig/bgpd/bgp_network.h quagga-0.99.6/bgpd/bgp_network.h +--- quagga-0.99.6.orig/bgpd/bgp_network.h 2005-06-28 15:38:12.000000000 +0000 ++++ quagga-0.99.6/bgpd/bgp_network.h 2006-12-16 19:24:37.000000000 +0000 +@@ -21,6 +21,25 @@ Software Foundation, Inc., 59 Temple Pla + #ifndef _QUAGGA_BGP_NETWORK_H + #define _QUAGGA_BGP_NETWORK_H + ++#if defined(HAVE_TCP_MD5) && defined(GNU_LINUX) ++/* setsockopt Number */ ++#define TCP_MD5SIG 14 ++ ++#define TCP_MD5SIG_MAXKEYLEN 80 ++ ++struct tcp_md5sig { ++ struct sockaddr_storage tcpm_addr; /* address associated */ ++ __u16 __tcpm_pad1; /* zero */ ++ __u16 tcpm_keylen; /* key length */ ++ __u32 __tcpm_pad2; /* zero */ ++ __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */ ++}; ++#endif /* defined(HAVE_TCP_MD5) && defined(GNU_LINUX) */ ++ ++#ifdef HAVE_TCP_MD5 ++int bgp_md5_set (int sock, struct peer *, char *); ++#endif /* HAVE_TCP_MD5 */ ++ + extern int bgp_socket (struct bgp *, unsigned short); + extern int bgp_connect (struct peer *); + extern void bgp_getsockname (struct peer *); +diff -uprN -x '*.orig' quagga-0.99.6.orig/bgpd/bgp_vty.c quagga-0.99.6/bgpd/bgp_vty.c +--- quagga-0.99.6.orig/bgpd/bgp_vty.c 2006-09-14 02:57:05.000000000 +0000 ++++ quagga-0.99.6/bgpd/bgp_vty.c 2006-12-16 19:03:53.000000000 +0000 +@@ -1479,6 +1479,46 @@ ALIAS (no_neighbor_local_as, + "AS number used as local AS\n" + "Do not prepend local-as to updates from ebgp peers\n") + ++#ifdef HAVE_TCP_MD5 ++DEFUN (neighbor_password, ++ neighbor_password_cmd, ++ NEIGHBOR_CMD2 "password LINE", ++ NEIGHBOR_STR ++ NEIGHBOR_ADDR_STR2 ++ "Set a password\n" ++ "The password\n") ++{ ++ struct peer *peer; ++ int ret; ++ ++ peer = peer_and_group_lookup_vty (vty, argv[0]); ++ if (! peer) ++ return CMD_WARNING; ++ ++ ret = peer_password_set (peer, argv[1]); ++ return bgp_vty_return (vty, ret); ++} ++ ++DEFUN (no_neighbor_password, ++ no_neighbor_password_cmd, ++ NO_NEIGHBOR_CMD2 "password", ++ NO_STR ++ NEIGHBOR_STR ++ NEIGHBOR_ADDR_STR2 ++ "Set a password\n") ++{ ++ struct peer *peer; ++ int ret; ++ ++ peer = peer_and_group_lookup_vty (vty, argv[0]); ++ if (! peer) ++ return CMD_WARNING; ++ ++ ret = peer_password_unset (peer); ++ return bgp_vty_return (vty, ret); ++} ++#endif /* HAVE_TCP_MD5 */ ++ + DEFUN (neighbor_activate, + neighbor_activate_cmd, + NEIGHBOR_CMD2 "activate", +@@ -8884,6 +8924,12 @@ bgp_vty_init (void) + install_element (BGP_NODE, &no_neighbor_local_as_val_cmd); + install_element (BGP_NODE, &no_neighbor_local_as_val2_cmd); + ++#ifdef HAVE_TCP_MD5 ++ /* "neighbor password" commands. */ ++ install_element (BGP_NODE, &neighbor_password_cmd); ++ install_element (BGP_NODE, &no_neighbor_password_cmd); ++#endif /* HAVE_TCP_MD5 */ ++ + /* "neighbor activate" commands. */ + install_element (BGP_NODE, &neighbor_activate_cmd); + install_element (BGP_IPV4_NODE, &neighbor_activate_cmd); +diff -uprN -x '*.orig' quagga-0.99.6.orig/bgpd/bgpd.c quagga-0.99.6/bgpd/bgpd.c +--- quagga-0.99.6.orig/bgpd/bgpd.c 2006-12-08 00:24:44.000000000 +0000 ++++ quagga-0.99.6/bgpd/bgpd.c 2006-12-16 19:25:35.000000000 +0000 +@@ -788,6 +788,7 @@ peer_new (struct bgp *bgp) + peer->status = Idle; + peer->ostatus = Idle; + peer->weight = 0; ++ peer->password = NULL; + peer->bgp = bgp; + peer = peer_lock (peer); /* initial reference */ + +@@ -1202,6 +1203,18 @@ peer_delete (struct peer *peer) + peer->last_reset = PEER_DOWN_NEIGHBOR_DELETE; + bgp_stop (peer); + bgp_fsm_change_status (peer, Deleted); ++ ++#ifdef HAVE_TCP_MD5 ++ /* Password configuration */ ++ if (peer->password) ++ { ++ if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP) ++ && sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, NULL); ++ free (peer->password); ++ } ++#endif /* HAVE_TCP_MD5 */ ++ + bgp_timer_set (peer); /* stops all timers for Deleted */ + + /* Delete from all peer list. */ +@@ -1417,6 +1430,26 @@ peer_group2peer_config_copy (struct peer + else + peer->v_routeadv = BGP_DEFAULT_EBGP_ROUTEADV; + ++#ifdef HAVE_TCP_MD5 ++ /* password apply */ ++ if (CHECK_FLAG (conf->flags, PEER_FLAG_PASSWORD)) ++ { ++ if (peer->password) ++ free (peer->password); ++ peer->password = strdup (conf->password); ++ ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, peer->password); ++ } ++ else if (peer->password) ++ { ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, NULL); ++ free (peer->password); ++ peer->password = NULL; ++ } ++#endif /* HAVE_TCP_MD5 */ ++ + /* maximum-prefix */ + peer->pmax[afi][safi] = conf->pmax[afi][safi]; + peer->pmax_threshold[afi][safi] = conf->pmax_threshold[afi][safi]; +@@ -3379,6 +3412,121 @@ peer_local_as_unset (struct peer *peer) + return 0; + } + ++#ifdef HAVE_TCP_MD5 ++/* Set password for authenticating with the peer. */ ++int ++peer_password_set (struct peer *peer, const char *password) ++{ ++ struct peer_group *group; ++ struct listnode *nn, *nnode; ++ ++ if (peer->password && strcmp (peer->password, password) == 0 ++ && ! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP)) ++ return 0; ++ ++ SET_FLAG (peer->flags, PEER_FLAG_PASSWORD); ++ if (peer->password) ++ free (peer->password); ++ peer->password = strdup (password); ++ ++ if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP)) ++ { ++ if (peer->status == Established) ++ bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_CONFIG_CHANGE); ++ else ++ BGP_EVENT_ADD (peer, BGP_Stop); ++ ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, peer->password); ++ return 0; ++ } ++ ++ group = peer->group; ++ /* #42# LIST_LOOP (group->peer, peer, nn) */ ++ for (ALL_LIST_ELEMENTS (group->peer, nn, nnode, peer)) ++ { ++ if (peer->password && strcmp (peer->password, password) == 0) ++ continue; ++ ++ SET_FLAG (peer->flags, PEER_FLAG_PASSWORD); ++ if (peer->password) ++ free (peer->password); ++ peer->password = strdup (password); ++ ++ if (peer->status == Established) ++ bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_CONFIG_CHANGE); ++ else ++ BGP_EVENT_ADD (peer, BGP_Stop); ++ ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, peer->password); ++ } ++ ++ return 0; ++} ++ ++int ++peer_password_unset (struct peer *peer) ++{ ++ struct peer_group *group; ++ struct listnode *nn, *nnode; ++ ++ if (! CHECK_FLAG (peer->flags, PEER_FLAG_PASSWORD) ++ && ! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP)) ++ return 0; ++ ++ if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP)) ++ { ++ if (peer_group_active (peer) ++ && CHECK_FLAG (peer->group->conf->flags, PEER_FLAG_PASSWORD)) ++ return BGP_ERR_PEER_GROUP_HAS_THE_FLAG; ++ ++ if (peer->status == Established) ++ bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_CONFIG_CHANGE); ++ else ++ BGP_EVENT_ADD (peer, BGP_Stop); ++ ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, NULL); ++ ++ UNSET_FLAG (peer->flags, PEER_FLAG_PASSWORD); ++ if (peer->password) ++ free (peer->password); ++ peer->password = NULL; ++ ++ return 0; ++ } ++ ++ UNSET_FLAG (peer->flags, PEER_FLAG_PASSWORD); ++ if (peer->password) ++ free (peer->password); ++ peer->password = NULL; ++ ++ group = peer->group; ++ /* #42# LIST_LOOP (group->peer, peer, nn) */ ++ for (ALL_LIST_ELEMENTS (group->peer, nn, nnode, peer)) ++ { ++ if (! CHECK_FLAG (peer->flags, PEER_FLAG_PASSWORD)) ++ continue; ++ ++ if (peer->status == Established) ++ bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_CONFIG_CHANGE); ++ else ++ BGP_EVENT_ADD (peer, BGP_Stop); ++ ++ if (sockunion_family (&peer->su) == AF_INET) ++ bgp_md5_set (bm->sock, peer, NULL); ++ ++ UNSET_FLAG (peer->flags, PEER_FLAG_PASSWORD); ++ if (peer->password) ++ free (peer->password); ++ peer->password = NULL; ++ } ++ ++ return 0; ++} ++#endif /* HAVE_TCP_MD5 */ ++ + /* Set distribute list to the peer. */ + int + peer_distribute_set (struct peer *peer, afi_t afi, safi_t safi, int direct, +@@ -4416,6 +4564,16 @@ bgp_config_write_peer (struct vty *vty, + ! CHECK_FLAG (g_peer->flags, PEER_FLAG_SHUTDOWN)) + vty_out (vty, " neighbor %s shutdown%s", addr, VTY_NEWLINE); + ++#ifdef HAVE_TCP_MD5 ++ /* Password. */ ++ if (CHECK_FLAG (peer->flags, PEER_FLAG_PASSWORD)) ++ if (! peer_group_active (peer) ++ || ! CHECK_FLAG (g_peer->flags, PEER_FLAG_PASSWORD) ++ || strcmp (peer->password, g_peer->password) != 0) ++ vty_out (vty, " neighbor %s password %s%s", addr, peer->password, ++ VTY_NEWLINE); ++#endif /* HAVE_TCP_MD5 */ ++ + /* BGP port. */ + if (peer->port != BGP_PORT_DEFAULT) + vty_out (vty, " neighbor %s port %d%s", addr, peer->port, +@@ -4943,6 +5101,9 @@ bgp_master_init (void) + bm->port = BGP_PORT_DEFAULT; + bm->master = thread_master_create (); + bm->start_time = time (NULL); ++#ifdef HAVE_TCP_MD5 ++ bm->sock = -1; ++#endif /* HAVE_TCP_MD5 */ + } + + +diff -uprN -x '*.orig' quagga-0.99.6.orig/bgpd/bgpd.h quagga-0.99.6/bgpd/bgpd.h +--- quagga-0.99.6.orig/bgpd/bgpd.h 2006-09-14 02:57:05.000000000 +0000 ++++ quagga-0.99.6/bgpd/bgpd.h 2006-12-16 19:03:53.000000000 +0000 +@@ -52,6 +52,11 @@ struct bgp_master + #define BGP_OPT_NO_FIB (1 << 0) + #define BGP_OPT_MULTIPLE_INSTANCE (1 << 1) + #define BGP_OPT_CONFIG_CISCO (1 << 2) ++ ++#ifdef HAVE_TCP_MD5 ++ /* bgp receive socket */ ++ int sock; ++#endif /* HAVE_TCP_MD5 */ + }; + + /* BGP instance structure. */ +@@ -349,6 +354,7 @@ struct peer + + /* NSF mode (graceful restart) */ + u_char nsf[AFI_MAX][SAFI_MAX]; ++#define PEER_FLAG_PASSWORD (1 << 9) /* password */ + + /* Per AF configuration flags. */ + u_int32_t af_flags[AFI_MAX][SAFI_MAX]; +@@ -370,6 +376,9 @@ struct peer + #define PEER_FLAG_MAX_PREFIX_WARNING (1 << 15) /* maximum prefix warning-only */ + #define PEER_FLAG_NEXTHOP_LOCAL_UNCHANGED (1 << 16) /* leave link-local nexthop unchanged */ + ++ /* MD5 password */ ++ char *password; ++ + /* default-originate route-map. */ + struct + { +@@ -912,6 +921,11 @@ extern int peer_route_map_set (struct pe + extern int peer_route_map_unset (struct peer *, afi_t, safi_t, int); + + extern int peer_unsuppress_map_set (struct peer *, afi_t, safi_t, const char *); ++#ifdef HAVE_TCP_MD5 ++int peer_password_set (struct peer *, const char *); ++int peer_password_unset (struct peer *); ++#endif /* HAVE_TCP_MD5 */ ++ + extern int peer_unsuppress_map_unset (struct peer *, afi_t, safi_t); + + extern int peer_maximum_prefix_set (struct peer *, afi_t, safi_t, u_int32_t, u_char, int, u_int16_t); --- quagga-0.99.6.orig/debian/patches/25_ospfd__ospfd.h__gcc4.dpatch +++ quagga-0.99.6/debian/patches/25_ospfd__ospfd.h__gcc4.dpatch @@ -0,0 +1,25 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 25_ospfd__ospfd.h__gcc4.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: ospfd__ospfd.h__gcc4 + +@DPATCH@ + +# +# Subject: Bug#300949: quagga: FTBFS (amd64/gcc-4.0): array type has incomplete element type +# Date: Tue, 22 Mar 2005 22:01:53 +0100 +# +# With the attached patch 'quagga' can be compiled +# on amd64 using gcc-4.0. - Andreas Jochens +# +--- old/ospfd/ospfd.orig 2005-05-03 09:12:41.350896825 +0200 ++++ new/ospfd/ospfd.h 2005-05-03 09:12:48.652755639 +0200 +@@ -24,6 +24,7 @@ + #define _ZEBRA_OSPFD_H + + #include "filter.h" ++#include "lib/log.h" + #include "log.h" + + #define OSPF_VERSION 2 --- quagga-0.99.6.orig/debian/patches/82_vtysh__vtysh_user.c__pam.dpatch +++ quagga-0.99.6/debian/patches/82_vtysh__vtysh_user.c__pam.dpatch @@ -0,0 +1,15 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 99-unnamed.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Adds explanation why vtysh does not work if PAM fails. + +@DPATCH@ + +--- old/vtysh/vtysh_user.c.orig 2006-11-03 01:53:58.000000000 +0100 ++++ new/vtysh/vtysh_user.c 2006-11-03 01:59:02.000000000 +0100 +@@ -60,2 +60,4 @@ vtysh_pam (const char *user) + ret = pam_authenticate (pamh, 0); ++ if (ret != PAM_SUCCESS) ++ printf("Not authenticated. Check /etc/pam.d/quagga.\n"); + /* printf ("ret %d\n", ret); */ --- quagga-0.99.6.orig/debian/patches/90_configure_ncurses.dpatch +++ quagga-0.99.6/debian/patches/90_configure_ncurses.dpatch @@ -0,0 +1,51 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 99-unnamed.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: To make checklib happy. See: +## DP: http://rerun.lefant.net/checklib/log.quagga_0.99.5-1.html + +@DPATCH@ + +--- old/configure 2006-09-26 01:23:53.000000000 +0200 ++++ new/configure 2006-09-26 01:51:59.000000000 +0200 +@@ -11031,7 +11036,8 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-ltermcap $LIBS" ++#42#DEBIAN# LIBS="-ltermcap $LIBS" ++LIBS="$LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -11090,7 +11096,8 @@ + echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tputs" >&5 + echo "${ECHO_T}$ac_cv_lib_termcap_tputs" >&6 + if test $ac_cv_lib_termcap_tputs = yes; then +- LIBREADLINE="$LIBREADLINE -ltermcap" ++ #42#DEBIAN# LIBREADLINE="$LIBREADLINE -ltermcap" ++ LIBREADLINE="$LIBREADLINE " + else + echo "$as_me:$LINENO: checking for tputs in -ltinfo" >&5 + echo $ECHO_N "checking for tputs in -ltinfo... $ECHO_C" >&6 +@@ -11165,7 +11172,8 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lcurses $LIBS" ++#42#DEBIAN# LIBS="-lcurses $LIBS" ++LIBS="$LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -11291,7 +11299,8 @@ + echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tputs" >&5 + echo "${ECHO_T}$ac_cv_lib_ncurses_tputs" >&6 + if test $ac_cv_lib_ncurses_tputs = yes; then +- LIBREADLINE="$LIBREADLINE -lncurses" ++ #42#DEBIAN# LIBREADLINE="$LIBREADLINE -lncurses" ++ LIBREADLINE="$LIBREADLINE" + fi + + --- quagga-0.99.6.orig/debian/patches/15_ht-bgp-md5__configure.dpatch +++ quagga-0.99.6/debian/patches/15_ht-bgp-md5__configure.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 15_ht-20050110-0.98.0-bgp-md5__configure.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: ht-20050110-0.98.0-bgp-md5__configure + +@DPATCH@ + +# +# Addition to the patch that makes autoreconf unneccessary. +# +# FIXME: This is very ugly. +# +--- old/configure.orig 2005-01-07 15:10:08.000000000 +0100 ++++ new/configure 2005-01-13 02:43:04.000000000 +0100 +@@ -9190,6 +9190,11 @@ + + fi + ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_TCP_MD5 ++_ACEOF ++ ++ + echo "$as_me:$LINENO: checking if zebra should be configurable to send Route Advertisements" >&5 + echo $ECHO_N "checking if zebra should be configurable to send Route Advertisements... $ECHO_C" >&6 + if test "${enable_rtadv}" != "no"; then +--- old/config.h.in 2005-01-07 15:10:53.000000000 +0100 ++++ new/config.h.in 2005-01-13 03:03:44.000000000 +0100 +@@ -213,6 +213,9 @@ + /* OSPF TE */ + #undef HAVE_OSPF_TE + ++/* Linux TCP MD5 Signature Option */ ++#define HAVE_TCP_MD5 1 ++ + /* Have pam_misc.h */ + #undef HAVE_PAM_MISC_H + --- quagga-0.99.6.orig/debian/patches/91_fix_peer_assert.dpatch +++ quagga-0.99.6/debian/patches/91_fix_peer_assert.dpatch @@ -0,0 +1,162 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 91_fix_peer_assert.dpatch by Kees Cook +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad quagga-0.99.6~/bgpd/bgp_attr.c quagga-0.99.6/bgpd/bgp_attr.c +--- quagga-0.99.6~/bgpd/bgp_attr.c 2006-05-12 16:24:30.000000000 -0700 ++++ quagga-0.99.6/bgpd/bgp_attr.c 2007-05-17 12:27:46.008859554 -0700 +@@ -39,7 +39,7 @@ + #include "bgpd/bgp_ecommunity.h" + + /* Attribute strings for logging. */ +-struct message attr_str [] = ++static struct message attr_str [] = + { + { BGP_ATTR_ORIGIN, "ORIGIN" }, + { BGP_ATTR_AS_PATH, "AS_PATH" }, +@@ -58,6 +58,7 @@ + { BGP_ATTR_MP_UNREACH_NLRI, "MP_UNREACH_NLRI" }, + { 0, NULL } + }; ++int attr_str_max = sizeof(attr_str)/sizeof(attr_str[0]); + + struct hash *cluster_hash; + +@@ -934,24 +935,30 @@ + { + u_int16_t afi; + u_char safi; +- u_char snpa_num; +- u_char snpa_len; +- u_char *lim; + bgp_size_t nlri_len; ++ size_t start; + int ret; + struct stream *s; + + /* Set end of packet. */ +- s = peer->ibuf; +- lim = stream_pnt (s) + length; +- ++ s = BGP_INPUT(peer); ++ start = stream_get_getp(s); ++ ++ /* safe to read statically sized header? */ ++#define BGP_MP_REACH_MIN_SIZE 5 ++ if ((length > STREAM_READABLE(s)) || (length < BGP_MP_REACH_MIN_SIZE)) ++ return -1; ++ + /* Load AFI, SAFI. */ + afi = stream_getw (s); + safi = stream_getc (s); + + /* Get nexthop length. */ + attr->mp_nexthop_len = stream_getc (s); +- ++ ++ if (STREAM_READABLE(s) < attr->mp_nexthop_len) ++ return -1; ++ + /* Nexthop length check. */ + switch (attr->mp_nexthop_len) + { +@@ -997,15 +1004,20 @@ + return -1; + } + +- snpa_num = stream_getc (s); +- +- while (snpa_num--) +- { +- snpa_len = stream_getc (s); +- stream_forward_getp (s, (snpa_len + 1) >> 1); +- } ++ if (!STREAM_READABLE(s)) ++ return -1; + +- nlri_len = lim - stream_pnt (s); ++ { ++ u_char val; ++ if ((val = stream_getc (s))) ++ zlog_warn ("%s sent non-zero value, %u, for defunct SNPA-length field", ++ peer->host, val); ++ } ++ ++ /* must have nrli_len, what is left of the attribute */ ++ nlri_len = length - (stream_get_getp(s) - start); ++ if ((!nlri_len) || (nlri_len > STREAM_READABLE(s))) ++ return -1; + + if (safi != BGP_SAFI_VPNV4) + { +@@ -1026,23 +1038,25 @@ + + /* Multiprotocol unreachable parse */ + static int +-bgp_mp_unreach_parse (struct peer *peer, int length, ++bgp_mp_unreach_parse (struct peer *peer, bgp_size_t length, + struct bgp_nlri *mp_withdraw) + { + struct stream *s; + u_int16_t afi; + u_char safi; +- u_char *lim; + u_int16_t withdraw_len; + int ret; + + s = peer->ibuf; +- lim = stream_pnt (s) + length; +- ++ ++#define BGP_MP_UNREACH_MIN_SIZE 3 ++ if ((length > STREAM_READABLE(s)) || (length < BGP_MP_UNREACH_MIN_SIZE)) ++ return -1; ++ + afi = stream_getw (s); + safi = stream_getc (s); +- +- withdraw_len = lim - stream_pnt (s); ++ ++ withdraw_len = length - BGP_MP_UNREACH_MIN_SIZE; + + if (safi != BGP_SAFI_VPNV4) + { +@@ -1278,13 +1292,23 @@ + + /* If error occured immediately return to the caller. */ + if (ret < 0) +- return ret; ++ { ++ zlog (peer->log, LOG_WARNING, ++ "%s: Attribute %s, parse error", ++ peer->host, ++ LOOKUP (attr_str, type)); ++ bgp_notify_send (peer, ++ BGP_NOTIFY_UPDATE_ERR, ++ BGP_NOTIFY_UPDATE_MAL_ATTR); ++ return ret; ++ } + + /* Check the fetched length. */ + if (BGP_INPUT_PNT (peer) != attr_endp) + { + zlog (peer->log, LOG_WARNING, +- "%s BGP attribute fetch error", peer->host); ++ "%s: BGP attribute %s, fetch error", ++ peer->host, LOOKUP (attr_str, type)); + bgp_notify_send (peer, + BGP_NOTIFY_UPDATE_ERR, + BGP_NOTIFY_UPDATE_ATTR_LENG_ERR); +@@ -1296,7 +1320,8 @@ + if (BGP_INPUT_PNT (peer) != endp) + { + zlog (peer->log, LOG_WARNING, +- "%s BGP attribute length mismatch", peer->host); ++ "%s BGP attribute %s, length mismatch", ++ peer->host, LOOKUP (attr_str, type)); + bgp_notify_send (peer, + BGP_NOTIFY_UPDATE_ERR, + BGP_NOTIFY_UPDATE_ATTR_LENG_ERR); --- quagga-0.99.6.orig/debian/patches/81_32bit_u64.dpatch +++ quagga-0.99.6/debian/patches/81_32bit_u64.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 81_32bit_u64.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad quagga-0.99.4~/lib/zebra.h quagga-0.99.4/lib/zebra.h +--- quagga-0.99.4~/lib/zebra.h 2006-01-31 21:55:54.000000000 +0100 ++++ quagga-0.99.4/lib/zebra.h 2006-10-12 16:42:32.000000000 +0200 +@@ -161,6 +161,7 @@ + #endif /* HAVE_NET_ROUTE_H */ + + #ifdef HAVE_NETLINK ++#define __u64 uint64_t + #include + #include + #else --- quagga-0.99.6.orig/debian/patches/50_vtysh__vtysh.conf.sample.dpatch +++ quagga-0.99.6/debian/patches/50_vtysh__vtysh.conf.sample.dpatch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 50_vtysh__vtysh.conf.sample.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: vtysh__vtysh.conf.sample + +@DPATCH@ + +--- old/vtysh/vtysh.conf.sample.orig 2004-10-30 23:07:40.000000000 +0200 ++++ new/vtysh/vtysh.conf.sample 2004-10-30 23:08:24.000000000 +0200 +@@ -1,7 +1,7 @@ + ! + ! Sample configuration file for vtysh. + ! +-!service integrated-vtysh-config ++service integrated-vtysh-config + !hostname quagga-router +-!username root nopassword ++username root nopassword + ! --- quagga-0.99.6.orig/debian/quagga.logrotate +++ quagga-0.99.6/debian/quagga.logrotate @@ -0,0 +1,17 @@ +/var/log/quagga/*.log { + daily + sharedscripts + missingok + compress + rotate 14 + create 640 quagga quaggavty + + postrotate + for i in zebra bgpd ripd ospfd ripngd ospf6d isisd; do + if [ -e /var/run/quagga/$i.pid ] ; then + kill -USR1 `cat /var/run/quagga/$i.pid` + fi + + done + endscript +} --- quagga-0.99.6.orig/debian/copyright +++ quagga-0.99.6/debian/copyright @@ -0,0 +1,28 @@ +This package was debianized by Christian Hammers on +2003-07-01 and bases on the original zebra Debian package. + +It was downloaded from http://www.quagga.net/ + +Authors of the original Zebra are + Kunihiro Ishiguro + Toshiaki Takada + Yasuhiro Ohara + +Main patch collector for quagga is + Paul Jakma + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +A copy of the GPL can be found in /usr/share/common-licenses/GPL. --- quagga-0.99.6.orig/debian/README.Debian.MD5 +++ quagga-0.99.6/debian/README.Debian.MD5 @@ -0,0 +1,9 @@ +The MD5 patch was made by Hasso Tepper and downloaded from his web site + http://hasso.linux.ee/quagga/bgp-md5.en.php + +According to this site you also have to patch your kernel to make it work. + +For further background information read: + http://www.faqs.org/rfcs/rfc2385.html + http://www.kerneltraffic.net/kernel-traffic/kt20020401_160.html#1 + http://www.us-cert.gov/cas/techalerts/TA04-111A.html --- quagga-0.99.6.orig/debian/quagga.pam +++ quagga-0.99.6/debian/quagga.pam @@ -0,0 +1,3 @@ +# Any user may call vtysh but only those belonging to the group quaggavty can +# actually connect to the socket and use the program. +auth sufficient pam_permit.so --- quagga-0.99.6.orig/debian/quagga.files +++ quagga-0.99.6/debian/quagga.files @@ -0,0 +1,16 @@ +etc/quagga/ +usr/bin/vtysh +usr/include/quagga/ +usr/lib/ +usr/share/doc/quagga/ +usr/share/lintian/overrides/ +usr/share/man/man1/vtysh.1 +usr/share/man/man8 +usr/share/man/man8/bgpd.8 +usr/share/man/man8/ospf6d.8 +usr/share/man/man8/ospfd.8 +usr/share/man/man8/ripd.8 +usr/share/man/man8/ripngd.8 +usr/share/man/man8/zebra.8 +usr/share/man/man8/isisd.8 +usr/share/snmp/mibs/ --- quagga-0.99.6.orig/debian/README.Maintainer +++ quagga-0.99.6/debian/README.Maintainer @@ -0,0 +1,35 @@ +# +# Apply patches +# +for i in debian/patches/*; do echo -e "#\n# $i\n#"; patch --fuzz=3 --dry-run -p1 < $i; done +for i in debian/patches/*; do echo -e "#\n# $i\n#"; patch --fuzz=3 -p1 < $i; done + +# +# Update GNU autoconf stuff (>= libtool 1.4) according to #176829 +# (Probably no longer neccessary as ltmain is up to date) +# +# libtoolize --force --copy +# ACLOCAL=aclocal-1.8 AUTOMAKE=automake-1.8 autoreconf2.50 + +# +# Filename transition from zebra to quagga +# + +Files that keep their names + /usr/bin/vtysh + +Files that got an -pj suffix + /etc/default/zebra -> /etc/quagga/debian.conf + /etc/init.d/zebra -> /etc/init.d/quagga + /etc/zebra/ -> /etc/quagga/ + /usr/share/doc/zebra/ -> /usr/share/doc/quagga/ + /var/log/zebra/ -> /var/log/quagga/ + /var/run/ -> /var/run/quagga/ + +Files that were moved + /usr/sbin/* -> /usr/lib/quagga/ + +# +# Dependencies +# +Recommends: kernel-image-2.4 (>= 2.4.20) due to bug #225919 --- quagga-0.99.6.orig/debian/quagga-doc.docs +++ quagga-0.99.6/debian/quagga-doc.docs @@ -0,0 +1,9 @@ +AUTHORS +NEWS +README +REPORTING-BUGS +doc/quagga.pdf +doc/BGP-TypeCode +doc/draft-zebra-00.txt +doc/mpls/ +bgpd/BGP4-MIB.txt --- quagga-0.99.6.orig/debian/quagga-doc.info +++ quagga-0.99.6/debian/quagga-doc.info @@ -0,0 +1 @@ +doc/quagga.info* --- quagga-0.99.6.orig/debian/quagga.prerm +++ quagga-0.99.6/debian/quagga.prerm @@ -0,0 +1,54 @@ +#!/bin/bash -e + +. /usr/share/debconf/confmodule + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} + +# prerm remove +# old-prerm upgrade new-version +# new-prerm failed-upgrade old-version +# conflictor's-prerm remove in-favour package new-version +# deconfigured's-prerm deconfigure in-favour package-being-installed version removing conflicting-package +case $1 in + remove|upgrade) + # Trying to prevents the user from cutting his network connection if + # one or more servers seem to be started. + if [ -n "`ls /var/run/quagga/*.pid 2>/dev/null`" ]; then + db_fset quagga/really_stop seen false || true + db_input high quagga/really_stop || true + db_go || true + db_get quagga/really_stop || true + if [ "$RET" = "false" ]; then + db_stop + echo "*** As requested via Debconf, the Quagga daemon will not stop! ***" 1>&2 + exit 1 + fi + fi + ;; + + failed-upgrade) + # reask the question; the question is priority medium in edgy + # and was not seen by the user. + if [ -n "$2" ] && dpkg --compare-versions "$2" lt 0.99.6-2ubuntu1; then + if [ -n "`ls /var/run/quagga/*.pid 2>/dev/null`" ]; then + db_fset quagga/really_stop seen false || true + db_input high quagga/really_stop || true + db_go || true + db_get quagga/really_stop || true + if [ "$RET" = "false" ]; then + db_stop + echo "*** As requested via Debconf, the Quagga daemon will not stop! ***" 1>&2 + exit 1 + fi + fi + else + # If quagga/really_stop was negated then this script exits with return + # code 1 and is called again with "failed-upgrade". Well, exit again. + exit 1 + fi + ;; + +esac + +#DEBHELPER#