X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet.c;h=d6f4403b487c117f9d9aaf6f6ea8dca339e7abcf;hp=1f0655bb84ea760a708ddba4a6b7592abab2015c;hb=762cc2d2797d62ab593ea64d8ceeb4fe96be2a0d;hpb=ffb55e6904426a31c03b56c3bd87bb60db0624c6 diff --git a/src/net.c b/src/net.c index 1f0655bb..d6f4403b 100644 --- a/src/net.c +++ b/src/net.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: net.c,v 1.35.4.198 2003/08/22 15:04:26 guus Exp $ + $Id: net.c,v 1.35.4.199 2003/08/28 15:27:11 guus Exp $ */ #include "system.h" @@ -186,6 +186,17 @@ void terminate_connection(connection_t *c, bool report) /* Run MST and SSSP algorithms */ graph(); + + /* If the node is not reachable anymore but we remember it had an edge to us, clean it up */ + + if(report && !c->node->status.reachable) { + edge_t *e; + e = lookup_edge(c->node, myself); + if(e) { + send_del_edge(broadcast, e); + edge_del(e); + } + } } /* Check if this was our outgoing connection */