X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fgraph.c;h=56ef11db382deb39f5268cb0e8a34fcfc198f4a1;hp=1efdb26c9b21ad73a809a9fa95ec16076528c8c7;hb=77315aaa984e9a5821cf3ddbf3017db98204728c;hpb=1754bc2c1e992e7d9e8da2f392bbed9e2324bf9f diff --git a/src/graph.c b/src/graph.c index 1efdb26c..56ef11db 100644 --- a/src/graph.c +++ b/src/graph.c @@ -193,10 +193,13 @@ static void check_reachability(meshlink_handle_t *mesh) { /* TODO: only clear status.validkey if node is unreachable? */ - n->status.validkey = false; - sptps_stop(&n->sptps); - n->status.waitingforkey = false; - n->last_req_key = -3600; + if(!n->status.reachable) { + logger(mesh, MESHLINK_DEBUG, "Resetting validkey/waitingforkey for %s, reachable %d", n->name, n->status.reachable); + n->status.validkey = false; + sptps_stop(&n->sptps); + n->status.waitingforkey = false; + n->last_req_key = -3600; + } n->status.udp_confirmed = false; n->maxmtu = MTU;