Go to file
Paul Jakma bb7bef1490 bgpd: well-known attr check only run for v4/uni, which could cause a crash.
* ANVL testing by Martin Winter threw up a crash in bgpd in aspath_dup
  called from bgp_packet_attribute, if attr->aspath was NULL, on an IPv6
  UPDATE.

  This root cause is that the checks for well-known, mandatory attributes
  were being applied only if an UPDATE contained the IPv4 NLRI and the
  peer was configured for v4/unicast (i.e. not deconfigured). This is
  something inherited from GNU Zebra, and never noticed before.

* bgp_attr.c: (bgp_attr_parse) Move the well-known mandatory attribute
  check to here, so that it can be run immediately after all attributes
  are parsed, and before any further processing of attributes that might
  assume the existence of WK/M attributes (e.g. AS4-Path).
  (bgp_attr_munge_as4_attrs) Missing AS_PATH shouldn't happen here anymore,
  but retain a check anyway for robustness - it's definitely a hard error
  though.
* bgp_attr.h: (bgp_attr_check) No longer needs to be exported, make static.
* bgp_packet.c: (bgp_update_receive) Responsibility for well-known check
  now in bgp_attr_parse.

(cherry picked from commit 055086f70febc30fdfd94bb4406e9075d6934cd8)

Conflicts:
	bgpd/bgp_attr.c
	bgpd/bgp_attr.h
	bgpd/bgp_packet.c
2016-05-26 20:13:10 +00:00
bgpd bgpd: well-known attr check only run for v4/uni, which could cause a crash. 2016-05-26 20:13:10 +00:00
cumulus/etc Fixup of Code to allow pimd to actually run on startup 2016-05-25 20:38:33 -04:00
debian Fixup of Code to allow pimd to actually run on startup 2016-05-25 20:38:33 -04:00
doc doc: older versions of texinfo seem to be sensitive to location of unmacro 2016-05-26 15:33:34 +00:00
fpm fpm: Add public header for Forwarding Plane Manager 2012-11-30 21:41:17 +01:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd isisd/isis_dlpi: Fix warning 2016-05-26 15:33:32 +00:00
lib Fix most compiler warnings in default GCC build. 2016-05-26 18:57:39 +00:00
m4 build: fix "pragma weak" mixups 2013-02-09 03:00:12 +01:00
ospf6d Fix most compiler warnings in default GCC build. 2016-05-26 18:57:39 +00:00
ospfclient build: make libraries self-reliant 2016-05-26 15:33:32 +00:00
ospfd ospfd: PointToPoint neighbors are identified by router ID 2016-05-26 15:33:33 +00:00
pimd quagga: Additional centos 6 -enable-werror fixes 2016-05-26 15:33:33 +00:00
pkgsrc build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
redhat distro/redhat: Update to support CentOS/RHEL/Fedora, upstart/init/systemd 2016-05-26 15:33:34 +00:00
ripd ripd: allow to enable/disable the ECMP feature 2016-05-26 17:12:05 +00:00
ripngd ripng_nexthop: remove unused store to variable 2016-05-26 01:08:59 +00:00
solaris solaris: fix SMF manifest dependency model and start method 2016-05-26 15:25:13 +00:00
tests tests: add more AS4 capability tests + little fixes for couple of GR test cases. 2016-05-26 15:33:33 +00:00
tools mrlg: Remove obsolete version. 2016-05-26 01:16:28 +00:00
vtysh vtysh: allow --with-libpam to build with --enable-werror 2016-05-26 15:33:31 +00:00
watchquagga watchquagga: break excessively long help string 2016-05-26 15:33:29 +00:00
zebra Fix most compiler warnings in default GCC build. 2016-05-26 18:57:39 +00:00
.gitignore git: add (generated) cscope files to .gitignore 2015-09-22 11:54:09 -07:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh build: enable pimd in test script 2016-05-25 20:38:32 -04:00
ChangeLog [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
configure.ac configure: Fix warnings on CentOS and bump the minimum autoconf version 2016-05-26 15:33:34 +00:00
COPYING *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
COPYING.LIB *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
HACKING.md HACKING: Change format to MarkDown 2016-05-26 15:33:32 +00:00
HACKING.pending HACKING.pending: Add Quagga-RE details 2012-03-02 11:56:38 +00:00
INSTALL.quagga.txt build: improve backtrace support/detection 2014-04-01 17:20:44 +02:00
Makefile.am build: fix 9562a77... (mrlg removal) 2016-05-26 01:16:29 +00:00
NEWS doc: update NEWS for 0.99.23 changes 2014-06-24 07:12:01 +02:00
README 2004-11-12 Paul Jakma <paul@dishone.st> 2004-11-12 10:30:21 +00:00
README.NetBSD Omit --opaque-lsa from build (now default). 2011-06-28 15:05:05 -04:00
REPORTING-BUGS Update for git and emphasize asking for good reports. 2010-05-05 07:51:26 -04:00
SERVICES pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
TODO doc: update TODO for ospf6d work & bgp multipath 2013-04-16 11:56:11 +02:00
update-autotools * README.NetBSD: use update-autotools instead of autoreconf 2007-02-02 16:52:38 +00:00

Quagga is free software that manages various IPv4 and IPv6 routing
protocols.

Currently Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1,
RIPv2, and RIPng as well as very early support for IS-IS.
  
See the file INSTALL.quagga.txt for building and installation instructions.
  
See the file REPORTING-BUGS to report bugs.
  
Quagga is free software. See the file COPYING for copying conditions.