bird/proto
Toke Høiland-Jørgensen 8657e7e703
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-12 13:46:35 +08:00
..
babel babel: Don't try to remove multicast seqno request objects from neighbour list 2022-12-12 13:46:35 +08:00
bfd Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
bgp BGP: Log unacceptable hold time as decimal number 2022-12-10 18:06:52 +01:00
mrt Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
ospf Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
perf Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
pipe Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
radv Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
rip Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
rpki RPKI: wait for retry_time if we get error immediately after connected 2022-10-03 17:09:02 +02:00
static Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00