X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fnet_setup.c;h=8c8ef6ed453809d05af4e24fad10627e8b5c5681;hp=ec16b400873f15742ac2e998b287797771ad4c87;hb=42cef01039177f3c762001439c8fb6bbdcd6e159;hpb=9dd7e301e61ecf3e15aa6611751515d844fa8dae diff --git a/src/net_setup.c b/src/net_setup.c index ec16b400..8c8ef6ed 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -116,6 +116,15 @@ bool node_read_public_key(meshlink_handle_t *mesh, node_t *n) { } } + time_t last_reachable = packmsg_get_int64(&in); + time_t last_unreachable = packmsg_get_int64(&in); + + if(!n->last_reachable) { + n->last_reachable = last_reachable; + } + + if(!n->last_unreachable) { + n->last_unreachable = last_unreachable; } config_free(&config); @@ -192,6 +201,9 @@ bool node_read_from_config(meshlink_handle_t *mesh, node_t *n, const config_t *c } } + n->last_reachable = packmsg_get_int64(&in); + n->last_unreachable = packmsg_get_int64(&in); + return packmsg_done(&in); } @@ -233,6 +245,9 @@ bool node_write_config(meshlink_handle_t *mesh, node_t *n) { packmsg_add_sockaddr(&out, &n->recent[i]); } + packmsg_add_int64(&out, n->last_reachable); + packmsg_add_int64(&out, n->last_unreachable); + if(!packmsg_output_ok(&out)) { meshlink_errno = MESHLINK_EINTERNAL; return false; @@ -245,6 +260,8 @@ bool node_write_config(meshlink_handle_t *mesh, node_t *n) { return false; } + + return true; } @@ -398,7 +415,6 @@ bool setup_myself(meshlink_handle_t *mesh) { mesh->self->nexthop = mesh->self; mesh->self->status.reachable = true; - mesh->self->last_state_change = mesh->loop.now.tv_sec; node_add(mesh, mesh->self);