]> git.proxmox.com Git - mirror_frr.git/commit - configure.ac
zebra: fix sockaddr_dl length assumptions (BZ#737)
authorDavid Lamparter <equinox@opensourcerouting.org>
Wed, 26 Sep 2012 12:52:39 +0000 (14:52 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Wed, 16 Jan 2013 00:45:57 +0000 (01:45 +0100)
commitca3ccd8748434719e4670ce812d1310013fad518
tree3fae89070206bc47704a456219350c34b5f8ea54
parent8d083b9ec5bb0375ebb6d8b2b05c848febd92cb5
zebra: fix sockaddr_dl length assumptions (BZ#737)

Quagga makes bad assumptions about sockaddr_dl (on NetBSD, but possibly
on other systems as well).  Particularly, sizeof(struct sockaddr_dl)
returns a size that does not include the full sdl_data field, leading to
not enough data being copied.  This breaks IPv6 RAs in particular, as
a broken mac address from sockaddr_dl will be included in the packets.

From: Matthias-Christian Ott <ott@mirix.org>
Tested-by: Uwe Toenjes <6bone@6bone.informatik.uni-leipzig.de>
[further simplified + more comments]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
configure.ac
lib/if.h
lib/zclient.c
zebra/kernel_socket.c
zebra/zserv.c