]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Fix spelling errors.
[meshlink] / src / meshlink.c
index 2309d77521865147a0f584701df518bd635c12a4..11e45503c4ccbebc9a9098c89a3ae7d52c27008f 100644 (file)
@@ -720,7 +720,7 @@ static bool invitation_receive(void *handle, uint8_t type, const void *msg, uint
                return finalize_join(mesh, msg, len);
 
        case 1:
-               logger(mesh, MESHLINK_DEBUG, "Invitation succesfully accepted.\n");
+               logger(mesh, MESHLINK_DEBUG, "Invitation successfully accepted.\n");
                shutdown(mesh->sock, SHUT_RDWR);
                mesh->success = true;
                break;
@@ -2155,7 +2155,7 @@ bool meshlink_get_node_reachability(struct meshlink_handle *mesh, struct meshlin
        bool reachable;
 
        pthread_mutex_lock(&mesh->mutex);
-       reachable = n->status.reachable;
+       reachable = n->status.reachable && !n->status.blacklisted;
 
        if(last_reachable) {
                *last_reachable = n->last_reachable;
@@ -2454,7 +2454,7 @@ char *meshlink_invite_ex(meshlink_handle_t *mesh, meshlink_submesh_t *submesh, c
        // If we changed our own host config file, write it out now
        if(mesh->self->status.dirty) {
                if(!node_write_config(mesh, mesh->self)) {
-                       logger(mesh, MESHLINK_ERROR, "Could not write our own host conifg file!\n");
+                       logger(mesh, MESHLINK_ERROR, "Could not write our own host config file!\n");
                        pthread_mutex_unlock(&mesh->mutex);
                        return NULL;
                }
@@ -2975,6 +2975,10 @@ static bool blacklist(meshlink_handle_t *mesh, node_t *n) {
        n->mtuprobes = 0;
        n->status.udp_confirmed = false;
 
+       if(n->status.reachable) {
+               n->last_unreachable = mesh->loop.now.tv_sec;
+       }
+
        /* Graph updates will suppress status updates for blacklisted nodes, so we need to
         * manually call the status callback if necessary.
         */
@@ -3046,6 +3050,7 @@ static bool whitelist(meshlink_handle_t *mesh, node_t *n) {
        n->status.blacklisted = false;
 
        if(n->status.reachable) {
+               n->last_reachable = mesh->loop.now.tv_sec;
                update_node_status(mesh, n);
        }