]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Check for key later because maybe we have to generate it
[meshlink] / src / meshlink.c
index c703ddbe6da3bb205ecff27b67bde3fcbe3a62db..af248044650af88ef395f27e6542f287bf3acb02 100644 (file)
@@ -508,6 +508,7 @@ static bool finalize_join(meshlink_handle_t *mesh) {
        free(mesh->self->name);
        free(mesh->self->connection->name);
        mesh->self->name = xstrdup(name);
+       mesh->name = xstrdup(name);
        mesh->self->connection->name = xstrdup(name);
 
        fprintf(stderr, "Configuration stored in: %s\n", mesh->confbase);
@@ -737,6 +738,9 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
        meshlink_handle_t *mesh = xzalloc(sizeof *mesh);
        mesh->confbase = xstrdup(confbase);
        if (usingname) mesh->name = xstrdup(name);
+       mesh->self = new_node();
+       mesh->self->connection = new_connection();
+       init_nodes(mesh);
        pthread_mutex_init ( &(mesh->outpacketqueue_mutex), NULL);
        pthread_mutex_init ( &(mesh->nodes_mutex), NULL);
        mesh->threadstarted = false;
@@ -773,6 +777,8 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
        WSAStartup(MAKEWORD(2, 2), &wsa_state);
 #endif
 
+       if(!read_ecdsa_private_key(mesh))
+               return false;
 
        return mesh;
 }