]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixes serious bug in core related to route filtering.
authorOndrej Zajicek <santiago@crfreenet.org>
Tue, 24 Nov 2009 16:15:20 +0000 (17:15 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Tue, 24 Nov 2009 16:15:20 +0000 (17:15 +0100)
If protocol announces a route, route is accepted by import filter to
routing table, and later it announces replacement of that route that is
rejected by import filter, old route remains in routing table.

nest/rt-table.c

index 87bf0dc7dca7b70f795e6737bd41653c1c5cbbc5..dda0e56b157e562b7396d8cb829196302cda4989 100644 (file)
@@ -636,6 +636,7 @@ rte_update(rtable *table, net *net, struct proto *p, struct proto *src, rte *new
 
 drop:
   rte_free(new);
+  rte_recalculate(table, net, p, src, NULL, NULL);
   rte_update_unlock();
 }