n->recent[i + known_count] = packmsg_get_sockaddr(&in);
}
-
config_free(&config);
return true;
}
const void *key;
uint32_t len = packmsg_get_bin_raw(&in, &key);
- if(len != 32) {
- return false;
- }
+ if(len) {
+ if(len != 32) {
+ return false;
+ }
- if(!ecdsa_active(n->ecdsa)) {
- n->ecdsa = ecdsa_set_public_key(key);
+ if(!ecdsa_active(n->ecdsa)) {
+ n->ecdsa = ecdsa_set_public_key(key);
+ }
}
n->canonical_address = packmsg_get_str_dup(&in);
}
if(!packmsg_output_ok(&out)) {
+ meshlink_errno = MESHLINK_EINTERNAL;
return false;
}
graph(mesh);
if(!config_scan_all(mesh, "current", "hosts", load_node, NULL)) {
- meshlink_errno = MESHLINK_ESTORAGE;
- return false;
+ logger(mesh, MESHLINK_WARNING, "Could not scan all host config files");
}
/* Open sockets */