X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;h=2a67d432f5c366192f34c8d2b0ac6aa588ae18d3;hb=3887e6dcb54494ee11798e721e274e06b0a5621a;hp=ecffed9556730d5579506b2ae77c3c60a5ad6aae;hpb=d6388d782ede1bbe49a5c2643362e2e0f383fa89;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index ecffed95..2a67d432 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -229,7 +229,7 @@ static bool read_rsa_private_key(void) { result = rsa_set_hex_private_key(&myself->connection->rsa, n, "FFFF", d); free(n); free(d); - return true; + return result; } /* Else, check for PrivateKeyFile statement and read it */ @@ -571,8 +571,19 @@ static bool setup_myself(void) { int i, err; int replaywin_int; + if(!(name = get_name())) { + logger(DEBUG_ALWAYS, LOG_ERR, "Name for tinc daemon required!"); + return false; + } + myself = new_node(); myself->connection = new_connection(); + myself->name = name; + myself->connection->name = xstrdup(name); + xasprintf(&fname, "%s" SLASH "hosts" SLASH "%s", confbase, name); + read_config_options(config_tree, name); + read_config_file(config_tree, fname); + free(fname); if(!get_config_string(lookup_config(config_tree, "Port"), &myport)) myport = xstrdup("655"); @@ -586,18 +597,6 @@ static bool setup_myself(void) { myself->options |= PROT_MINOR << 24; - if(!(name = get_name())) { - logger(DEBUG_ALWAYS, LOG_ERR, "Name for tinc daemon required!"); - return false; - } - - myself->name = name; - myself->connection->name = xstrdup(name); - xasprintf(&fname, "%s" SLASH "hosts" SLASH "%s", confbase, name); - read_config_options(config_tree, name); - read_config_file(config_tree, fname); - free(fname); - get_config_bool(lookup_config(config_tree, "ExperimentalProtocol"), &experimental); if(experimental && !read_ecdsa_private_key()) @@ -916,6 +915,8 @@ static bool setup_myself(void) { return false; } + last_config_check = time(NULL); + return true; }