X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;ds=sidebyside;f=src%2Fgraph.c;h=73db3b2fddb46e05a15d2d61ed360584e6248246;hb=6bc5d626a8726fc23365ee705761a3c666a08ad4;hp=86b62a51189af649eef68e1b4d631925c6e17976;hpb=0b8b23e0dd7219344543f135ca0aeba8a4a42d48;p=tinc diff --git a/src/graph.c b/src/graph.c index 86b62a51..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; @@ -208,12 +208,12 @@ static void check_reachability(void) { } n->last_req_key = 0; + n->status.udp_confirmed = false; n->maxmtu = MTU; n->minmtu = 0; n->mtuprobes = 0; - if(timeout_initialized(&n->mtuevent)) - event_del(&n->mtuevent); + timeout_del(&n->mtutimeout); char *name; char *address; @@ -245,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)