X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgraph.c;h=9036c528d815e05ffb8438cd425c0621a1b0f9e7;hb=45944e4514a7765f858fa33cc1d9719a603099e0;hp=86b62a51189af649eef68e1b4d631925c6e17976;hpb=0b8b23e0dd7219344543f135ca0aeba8a4a42d48;p=tinc diff --git a/src/graph.c b/src/graph.c index 86b62a51..9036c528 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; @@ -208,6 +208,7 @@ static void check_reachability(void) { } n->last_req_key = 0; + n->status.udp_confirmed = false; n->maxmtu = MTU; n->minmtu = 0; n->mtuprobes = 0; @@ -245,6 +246,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)