X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;h=2a67d432f5c366192f34c8d2b0ac6aa588ae18d3;hb=3887e6dcb54494ee11798e721e274e06b0a5621a;hp=bebde4d9d2cbd3078cf8cee83289e7173c5f06d5;hpb=18237e1f2d9dd5eef4a4e0d746d016bf94a42ad4;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index bebde4d9..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,23 +571,13 @@ static bool setup_myself(void) { int i, err; int replaywin_int; - myself = new_node(); - myself->connection = new_connection(); - - myself->hostname = xstrdup("MYSELF"); - myself->connection->hostname = xstrdup("MYSELF"); - - myself->connection->options = 0; - myself->connection->protocol_major = PROT_MAJOR; - myself->connection->protocol_minor = PROT_MINOR; - - myself->options |= PROT_MINOR << 24; - 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); @@ -595,6 +585,18 @@ static bool setup_myself(void) { read_config_file(config_tree, fname); free(fname); + if(!get_config_string(lookup_config(config_tree, "Port"), &myport)) + myport = xstrdup("655"); + + xasprintf(&myself->hostname, "MYSELF port %s", myport); + myself->connection->hostname = xstrdup(myself->hostname); + + myself->connection->options = 0; + myself->connection->protocol_major = PROT_MAJOR; + myself->connection->protocol_minor = PROT_MINOR; + + myself->options |= PROT_MINOR << 24; + get_config_bool(lookup_config(config_tree, "ExperimentalProtocol"), &experimental); if(experimental && !read_ecdsa_private_key()) @@ -603,9 +605,6 @@ static bool setup_myself(void) { if(!read_rsa_private_key()) return false; - if(!get_config_string(lookup_config(config_tree, "Port"), &myport)) - myport = xstrdup("655"); - if(!atoi(myport)) { struct addrinfo *ai = str2addrinfo("localhost", myport, SOCK_DGRAM); sockaddr_t sa; @@ -709,6 +708,8 @@ static bool setup_myself(void) { myself->nexthop = myself; myself->via = myself; myself->status.reachable = true; + myself->last_state_change = time(NULL); + myself->status.sptps = experimental; node_add(myself); graph(); @@ -914,6 +915,8 @@ static bool setup_myself(void) { return false; } + last_config_check = time(NULL); + return true; }