bird/proto
Toke Høiland-Jørgensen 8f9a091d30 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-05-12 14:09:59 +02:00
..
babel babel: Don't try to remove multicast seqno request objects from neighbour list 2022-05-12 14:09:59 +02:00
bfd BFD: Add 'strict bind' option 2022-04-07 19:33:40 +02:00
bgp Merge branch 'oz-trie-table' 2022-02-06 23:42:10 +01:00
mrt Routing tables list iteration should use explicit node struct position 2021-03-30 21:56:08 +02:00
ospf Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
perf Perf: changed route update pattern to be more like common protocols 2020-03-12 09:26:05 +01:00
pipe BGP: Implement flowspec validation procedure 2022-02-06 23:27:13 +01:00
radv Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
rip Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
rpki RPKI: Add contextual out-of-bound checks in RTR Prefix PDU handler 2021-12-18 16:35:28 +01:00
static Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00