n->ecdsa = ecdsa_set_public_key(data);
n->submesh = c->submesh;
- if(!node_write_config(mesh, n)) {
+ if(!node_write_config(mesh, n) || !config_sync(mesh, "current")) {
logger(mesh, MESHLINK_ERROR, "Error writing configuration file for invited node %s!\n", c->name);
free_node(n);
return false;
n->connection->outgoing = NULL;
}
+ /* Remove the edge before terminating the connection, to prevent a graph update. */
+ edge_del(mesh, n->connection->edge);
+ n->connection->edge = NULL;
+
terminate_connection(mesh, n->connection, false);
- /* Run graph algorithm to keep things in sync */
- graph(mesh);
}
}