X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgraph.c;h=73db3b2fddb46e05a15d2d61ed360584e6248246;hb=58026f72a17b316f1b9756400f0ee9e9f519f877;hp=48310bcdcf2c250faaf7097973ac379428334b46;hpb=58f4b845b9a7d83739af77337f2ce263d8df7838;p=tinc diff --git a/src/graph.c b/src/graph.c index 48310bcd..73db3b2f 100644 --- a/src/graph.c +++ b/src/graph.c @@ -125,13 +125,13 @@ static void sssp_bfs(void) { /* Loop while todo_list is filled */ - for list_each(node_t, n, todo_list) { /* "n" is the node from which we start */ + for list_each(node_t, n, todo_list) { /* "n" is the node from which we start */ logger(DEBUG_SCARY_THINGS, LOG_DEBUG, " Examining edges from %s", n->name); if(n->distance < 0) abort(); - for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */ + for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */ if(!e->reverse) continue; @@ -213,8 +213,7 @@ static void check_reachability(void) { n->minmtu = 0; n->mtuprobes = 0; - if(timeout_initialized(&n->mtuevent)) - event_del(&n->mtuevent); + timeout_del(&n->mtutimeout); char *name; char *address; @@ -246,6 +245,8 @@ static void check_reachability(void) { if(!n->status.reachable) { update_node_udp(n, NULL); + memset(&n->status, 0, sizeof n->status); + n->options = 0; } else if(n->connection) { if(n->status.sptps) { if(n->connection->outgoing)