X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fgraph.c;h=d779ecd5f4144b2d6c92be41155924b5dbe56d02;hb=aff6ff7ee5c0c353df6a3aa5c09fc66810c59b6e;hp=a6e38e42ea914bda3cb913b902b84ca7a72b1388;hpb=b67296418c51784d39a24c3041e2cb199bee06f2;p=meshlink diff --git a/src/graph.c b/src/graph.c index a6e38e42..d779ecd5 100644 --- a/src/graph.c +++ b/src/graph.c @@ -229,17 +229,23 @@ static void check_reachability(meshlink_handle_t *mesh) { timeout_del(&mesh->loop, &n->mtutimeout); - update_node_status(mesh, n); + if(!n->status.blacklisted) { + update_node_status(mesh, n); + } if(!n->status.reachable) { update_node_udp(mesh, n, NULL); - memset(&n->status, 0, sizeof(n)->status); + n->status.broadcast = false; n->options = 0; } else if(n->connection) { if(n->connection->outgoing) { send_req_key(mesh, n); } } + + if(n->utcp) { + utcp_offline(n->utcp, !n->status.reachable); + } } } }