bird/proto/babel
Toke Høiland-Jørgensen 4a80664b84
babel: Don't try to remove multicast seqno request objects from neighbour list
The Babel seqno request code keeps track of which seqno requests are
outstanding for a neighbour by putting them onto a per-neighbour list. When
reusing a seqno request, it will try to remove this node, but if the seqno
request in question was a multicast request with no neighbour attached this
will result in a crash because it tries to remove a list node that wasn't
added to any list.

Fix this by making the list remove conditional. Also add a check so that
seqno requests are only reused if the neighbour also matches, allowing
multiple outstanding requests for the same router ID.

Fixes: ebd5751cde ("Babel: Seqno requests are properly decoupled from neighbors when the underlying interface disappears")
Reported-by: Stefan Haller <stefan.haller@stha.de>
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-07 00:12:13 +08:00
..
babel.c babel: Don't try to remove multicast seqno request objects from neighbour list 2022-12-07 00:12:13 +08:00
babel.h Babel: Simplify auth expiration 2021-06-09 19:31:55 +02:00
config.Y Babel: Add MAC authentication support - update 2021-06-06 16:28:18 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
Makefile Babel: Add MAC authentication support 2021-06-06 16:28:18 +02:00
packets.c Babel: Fix compilation when LOCAL_DEBUG is set in packets.c 2022-04-22 17:04:56 +02:00