Commits
Author | Commit | Message | Commit date | Issues | |
---|---|---|---|---|---|
Martin Winter | c01f37e9c86 | snapcraft: update doc to adapt to new snapd version--force-dangerous is now required to install self-built snap's | |||
Martin Winter | 8b6654e1481 | snapcraft: Update doc.Only plug network-control is needed. | |||
Martin Winter | 6676d0777b9 | snapcraft/helpers: Remove ping (too many dependencies and installed on most systems anyway) and limit installed helper files to required ones | |||
Martin Winter | 47710b96207 | Snapcraft: Add telnet/traceroute/ping tools to snap | |||
Martin Winter | d1c6ff47a90 | snapcraft: Add snapcraft build and definition files | |||
Martin Winter | a612a7741d7 | vtysh: Use HOME environment variable to get homedir and only fallback to passed entry if no HOME is definedSnap packages have a local HOME defined inside the SNAP container, but don't get access to passwd entry. | |||
Martin Winter | 45c1ae1f629 | lib: Don't change uid/gid if we are already the correct uid/gid | |||
Martin Winter | 321ea0822db | vtysh: Add vty_socket option to override the compiled-in location for the VTY daemon sockets | |||
Martin Winter | 7b8be07f8f6 | ripngd: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | 487a9b1cb8f | ripd: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | 8eaac823798 | pimd: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | 51333366183 | ospfd: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | e70ff965bbd | ospf6d: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | 6259fd25619 | isisd: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | 7362b32d80b | bgpd: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | 6ec7b21e743 | zebra: Add vty_socket option to override the compiled-in location for the VTY Socket | |||
Martin Winter | e0516a414e6 | pimd: Add missing 'socket' getopt cmdline option | |||
Igor Ryzhov | 5f678889843 | zebra: add missing vty commandsSigned-off-by: Igor Ryzhov <iryzhov@nfware.com> Tested-by: NetDEF CI System <cisystem@netdef.org> | |||
Stas Nichiporovich | aef4650851c | zebra: fix crash caused by using route-map with "set src"Signed-off-by: Stas Nichiporovich <stas@iptel.by> Tested-by: NetDEF CI System <cisystem@netdef.org> | |||
Jafar Al-Gharaibeh | bb01bdd7403 | ospfd: fix - correct neighbor index on changing/p2p/virtual linksospfd keeps a list of neighbor routers for each configured interface. This list is indexed using the neighbor router id in case of point-to-point and virtual link types, otherwise the list is indexed using the neighbor's source IP (RFC 2328, page 96). The router adds itself as a "pseudo" neighbor on each link, and also keeps a pointer called (nbr_self) to the neighbor structure. This takes... | |||
Donald Sharp | e6ec2d6d18d | lib: Fix priviledge modification for vty group specifiedWhen attempting to switch runtime permissions over to the correct group specified for the vty group, if the user specified to run as does not have that vty group then do warn about the issue and stop running Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reported-by: Thomas Martin <tmartincpp@gmail.com> Tested-by: NetDEF CI System <cisystem@netdef.org> | |||
Jafar Al-Gharaibeh | 190591f0fe3 | zserv: [pimd] fix - avoid dereferencing a NULL pointerSigned-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com> Tested-by: NetDEF CI System <cisystem@netdef.org> | |||
Jonathan Hart | 80f61a99790 | pimd: Fix hang when doing nexthop lookup from zebraI was running in to a bug when pimd would hang in some cases when it had to do a nexthop lookup from zebra, such as when a PIM JOIN was received. This issue could be easily reproduced by running 'show ip rib <ip>' from the pimd vty which forces a nexthop lookup. The issue is in zclient_read_nexthop, the zclient_read_header function reads the message content into the stream, but then after that... | |||
Timo Teräs | 7e73eb740f3 | zebra: handle multihop nexthop changes properlyThe rib entries are normally added and deleted when they are changed. However, they are modified in placae when the nexthop reachability changes. This fixes to: - properly detect nexthop changes from nexthop_active_update() calls from rib_process() - rib_update_kernel() to not reset FIB flags when a RIB entry is being modifed (old and new RIB are same) - improves the "show ip route <pr... | |||
Donald Sharp | 7e7a101dde5 | ripd: Fix Null pointer dereferenceThe rip_output_process function dereferenced a NULL pointer. Core file examination showed that tmp_rinfo was NULL on line 2435. Looking at the last diff associated with this commit, it was obvious that a formating mistake had been made in the loop over the route nodes list of possible paths. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reported-by: Sebastian Kricner <sebastian.kr... | |||
Christian Franke | e7207098c0f | isisd: ignore unknown interfaces when adjusting IS-IS mtuFor example during startup of isisd, the MTU of interfaces is not known, since this information will only be available once the interfaces have been learned from zebra. It makes no sense to include the MTU 0 that is stored for interfaces in this state in the consideration whether a new lsp-mtu for an area is valid, so skip interfaces which are in this state. Signed-off-by: Christian Franke <n... | |||
Christian Franke | 84a4da039fa | isisd: make sure that all interface addresses are advertisedIf the following configuration commands are run interactively in succession, the ipv6 addresses of this interface won't be advertised in the router's LSP immediately: # interface eth0 # ip router isis test # ipv6 router isis test This is because the ipv6 router command won't trigger a state change for the interface and therefore, it won't trigger a regeneration of the LSPs. The same... | |||
Christian Franke | 8ed8d0b5d15 | isisd: fix a crash due to an lsp-mtu issueisisd crashed on startup if it was enabled for an interface with a too small MTU. To fix this, we treat this case as an invalid configuration and disable isis on that interface if that case happens, since it is a configuration error. Signed-off-by: Christian Franke <nobody@nowhere.ws> | |||
Christian Franke | 106e38e4d42 | isisd: work around route table asserts for deleting node with infoThe route table code in lib/table.c triggers an assertion when a route node with rn->info != NULL reaches refcount 0, probably to avoid memleaks. In this particular case, this is not an issue, since the info will be freed by the destructor. However, since removing this assertion probably requires more discussion, just make sure that rn->info gets freed and unset before its refcount is decremen... | |||
Donald Sharp | 86c5d2ee68f | release: 1.0.20160315 | |||
Donald Sharp | 5e57b5fc621 | quagga: Remove double read of streamThe addition of a MIN(X,Y) with a stream_getc in the Y causes a double read of the stream due to the way that MIN is defined. This fix removes a crash in all protocols. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> | |||
Donald Sharp | e3f623be8b6 | release: 1.0.20160309 | |||
Paul Jakma | c0cb90c608f | Revert "bgpd: Lower BGP's default keepalive/holdtime to 3s/9s"This reverts commit f89b09be92bed03b1e5add55dc14ef92e94c52e1. Martin Winter has reported reliability issues in testing on some platforms. We need a more comprehensive way to deal with defaults and updating them, e.g. profiles of some kind. Defer this change till after next release. | |||
Timo Teräs | d849e23b1c6 | zebra: Fix route deletion on *BSDFix for not handling RTM_CHANGE correctly. This patch change it to delete/add instead. Using RTM_CHANGE on kernels where it works is better, but is left as an exercise for developer who has access and will to fix it on *BSD. [ed note: collaboration with Martin Winter] | |||
Paul Jakma | f9f4731245e | configure: Fix warnings on CentOS and bump the minimum autoconf version* configure.ac: Bump the minimum version to 2.60 as needed by AC_USE_SYSTEM_EXTENSIONS. AC 2.60 is nearly 10 years old, note. Add AC_PROG_RANLIB, for when --disable-shared is used. There are other warnings on, e.g., CentOS 6.7 with 2.63, but they don't go away if the suggestion to add AC_SYSTEM_EXTENSIONS is followed. This warning doesn't occur on Fedora with AC 2.69. Note: auto... | |||
Paul Jakma | f8113a2b10a | doc: older versions of texinfo seem to be sensitive to location of unmacro* bgpd.texi: The unmacro of mprec seems to be disliked by older texinfos. Moving it to after the section fixes it. Even easier, just don't undef the macro. | |||
Paul Jakma | e84e4d3d2d6 | doc: Distribute a modern version of texinfo.tex with the docs* doc/texinfo.tex: Ship a more recent texinfo.tex, from texinfo 6.1, so we don't have to worry about that. E.g., this should allow UTF-8 unicode chars to be used directly in the text. * doc/Makefile.am: Add previous to EXTRA_DIST | UTF-8 | ||
Martin Winter | a5efdb60905 | distro/redhat: Update to support CentOS/RHEL/Fedora, upstart/init/systemd* redhat/quagga.spec.in: Update to support CentOS, RHEL and Fedora, and support the various init systems across different versions of these distros, e.g. upstart/init/systemd. Clean up various warnings from rpmlint. Remove configure options that are gone. A few edits and commit message by: Paul Jakma <paul.jakma@hpe.com> / <paul@jakma.org> | |||
Paul Jakma | 988e22f8429 | configure.ac: remove -dev in version* configure.ac: Remove the -dev suffix from the version, some package systems at least do not like non-numeric strings in package versions (e.g., rpm, which I often use in testing Quagga). TODO: Work out some sensible scheme for semi-autogenerating the version perhaps via git describe. The --with-pkg-git-version doesn't affect the tarball name. | |||
Paul Jakma | 283d5d7f2fa | distro/redhat/rpm: remove with_ipv6, package pimd binary, remove pam stack* redhat/quagga.spec.in: remove with_ipv6, it should just be the norm now. The actual pimd binary wasn't being packaged, fix. Remove deprecated pam.stack support. * redhat/quagga.pam.stack: ancient, nuke. * Makefile.am: ditto | |||
Martin Winter | fca2c24ff21 | Adding redhat init/service files to start pimdAdded missing pimd.init (for RedHat/CentOS <= 6) and pimd.service (for RedHat/CentOS >= 7) Signed-off-by: Martin Winter <mwinter@opensourcerouting.org> | |||
Paul Jakma | e07068c8381 | distro: fix redhat/quagga.spec.in* quagga.spec.in: Add default for with_pimd macro. Remove ancient condtional on quagga_buildreqs. More recent rpmbuild complains about too many levels of recursion in quagga_buildreqs, so use %{expand:..}. Actually use quagga_buildreqs in BuildRequires! groff is needed for build. texi2html --number argument has disappeared, split into 2. Acked-by: Donald Sharp <sharpd at cumulusnet... | |||
David Lamparter | a3ee120fcf2 | lib: fix vrf_bitmap leak in zclient_free()zclient_stop(), which is used as antagonist to zclient_init(), needs to undo the vrf_bitmap allocation. Otherwise zclient_init() will leak the allocated memory, for example when zclient_reset() is used. Reported-by: Lou Berger <lberger@labn.net> Signed-off-by: David Lamparter <equinox@opensourcerouting.org> | |||
Lou Berger | 370b7e59170 | bgpd: Fix crash reported by NetDEF CIThis patch is part of the previously submitted patch set on VPN and Encap SAFIs. It fixes an issue identified by NetDEF CI. Ensure temp stack structures are initialized Add protection against double frees / post free access to bgp_attr_flush Signed-off-by: Lou Berger <lberger@labn.net> | |||
Paul Jakma | bf83fa25f1b | lib: Check prefix length from zebra is sensible* zclient.c: prefix length on router-id and interface address add messages not sanity checked. fix. * */*_zebra.c: Prefix length on zebra route read was not checked, and clients use it to write to storage. An evil zebra could overflow client structures by sending overly long prefixlen. Prompted by discussions with: Donald Sharp <sharpd@cumulusnetworks.com> | |||
Paul Jakma | 2db96276042 | lib: zclient can overflow (struct interface) hw_addr if zebra is evil* lib/zclient.c: (zebra_interface_if_set_value) The hw_addr_len field is used as trusted input to read off the hw_addr and write to the INTERFACE_HWADDR_MAX sized hw_addr field. The read from the stream is bounds-checked by the stream abstraction, however the write out to the heap can not be. Tighten the supplied length to stream_get used to do the write. Impact: a malicious zebr... | |||
Paul Jakma | 405e9e19eb6 | bgpd: Remove the double-pass parsing of NLRIs* bgpd parses NLRIs twice, a first pass "sanity check" and then a second pass that changes actual state. For most AFI/SAFIs this is done by bgp_nlri_sanity_check and bgp_nlri_parse, which are almost identical. As the required action on a syntactic error in an NLRI is to NOTIFY and shut down the session, it should be acceptable to just do a one pass parse. There is no need to atomica... | |||
Paul Jakma | 518a4b7eadc | bgpd: Regularise bgp_update_receive, add missing notifies and checks* bgp_packet.c: (bgp_update_receive) Lots of repeated code, doing same thing for each AFI/SAFI. Except when it doesn't, e.g. the IPv4/VPN case was missing the EoR bgp_clear_stale_route call - the only action really needed for EoR. Make this function a lot more regular, using common, AFI/SAFI independent blocks so far as possible. Replace the 4 separate bgp_nlris with an array, i... | |||
Paul Jakma | 18ab08b71e6 | bgpd: Regularise BGP NLRI sanity checks a bit* bgp_route.h: (bgp_nlri_sanity_check) The bulk of the args are equivalent to a (struct bgp_nlri), consolidate. * bgp_route.c: (bgp_nlri_sanity_check) Make this a frontend for all afi/safis. Including SAFI_MPLS_LABELED_VPN. (bgp_nlri_sanity_check_ip) Regular IP NLRI sanity check based on the existing code, and adjusted for (struct bgp_nlri *) arg. * bgp_attr.c: (bgp_mp_reach_parse) Adju... | |||
Paul Jakma | c49a2747f6a | bgpd: make bgp_nlri_parse_encap conform with other nlri_parse funcs* bgp_encap.{c,h} (bgp_nlri_parse_encap) afi is already in the NLRI argument. update or withdraw is signalled by attr being non-NULL or NULL. * bgp_packet.c: (update_receive) fixup to match, and also make the attr argument conform with NLRI_ATTR_ARG for correct error handling on optional, transitive, partial, attributes. |