diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2014-07-01 16:14:05 +0200 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2014-08-18 18:16:28 +0200 |
commit | 90444ca35e3037ed43ec695428f0ef6d82f9a320 (patch) | |
tree | 441582b4f1ee1118f6b9b696fed65a2c38064503 /lib/zclient.h | |
parent | ad2f92b6b07883f6a2a26499eab1776933185960 (diff) | |
download | quagga-90444ca35e3037ed43ec695428f0ef6d82f9a320.tar.bz2 quagga-90444ca35e3037ed43ec695428f0ef6d82f9a320.tar.xz |
lib: unset ZEBRA_IFA_PEER if no dst addr present (BZ#801)
On OpenBSD, carp interfaces claim to be PtP interfaces with a 0.0.0.0/0
peer address. We process those in zebra and try to send them to
clients, at which point they get encoded as all-0. The client code,
however, decodes that to a NULL pointer instead of 0.0.0.0. This later
turns into a SEGV when CONNECTED_PREFIX sees that ZEBRA_IFA_PEER is set
and tries to access the peer prefix.
This is a band-aid fix for stable/0.99.23, a long-term solution needs
some conceptual improvements on the entire thing.
(The usefulness of a PtP-to-0.0.0.0/0 is a separate question; at this
point dropping the peer prefix seems the least intrusive solution.)
Reported-by: Laurent Lavaud <laurent.lavaud@ladtech.fr>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'lib/zclient.h')
0 files changed, 0 insertions, 0 deletions