X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_setup.c;h=17675aec40ace0b3f8d775875c54321961206e55;hp=314fd716fa412bb8361a6f3865c3ed085ae9d69c;hb=92d66492e0824674f68d26e787dd1ba4444a4601;hpb=f6e87ab476a0faf8b124ecaaa27f967d825e6457 diff --git a/src/net_setup.c b/src/net_setup.c index 314fd716..17675aec 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -75,7 +75,7 @@ bool node_read_ecdsa_public_key(node_t *n) { init_configuration(&config_tree); - if(!read_host_config(config_tree, n->name)) { + if(!read_host_config(config_tree, n->name, true)) { goto exit; } @@ -120,7 +120,7 @@ bool read_ecdsa_public_key(connection_t *c) { if(!c->config_tree) { init_configuration(&c->config_tree); - if(!read_host_config(c->config_tree, c->name)) { + if(!read_host_config(c->config_tree, c->name, true)) { return false; } } @@ -382,7 +382,7 @@ void load_all_nodes(void) { splay_tree_t *config_tree; init_configuration(&config_tree); read_config_options(config_tree, ent->d_name); - read_host_config(config_tree, ent->d_name); + read_host_config(config_tree, ent->d_name, true); if(!n) { n = new_node(); @@ -583,7 +583,7 @@ bool setup_myself_reloadable(void) { free(fmode); } - choice = true; + choice = !(myself->options & OPTION_TCPONLY); get_config_bool(lookup_config(config_tree, "PMTUDiscovery"), &choice); if(choice) { @@ -637,7 +637,7 @@ bool setup_myself_reloadable(void) { subnet_add(NULL, s); } -#if !defined(IPPROTO_IP) || !defined(IP_TOS) +#if !defined(IP_TOS) if(priorityinheritance) { logger(DEBUG_ALWAYS, LOG_WARNING, "%s not supported on this platform for IPv4 connections", "PriorityInheritance"); @@ -645,7 +645,7 @@ bool setup_myself_reloadable(void) { #endif -#if !defined(IPPROTO_IPV6) || !defined(IPV6_TCLASS) +#if !defined(IPV6_TCLASS) if(priorityinheritance) { logger(DEBUG_ALWAYS, LOG_WARNING, "%s not supported on this platform for IPv6 connections", "PriorityInheritance"); @@ -843,7 +843,7 @@ static bool setup_myself(void) { myself->connection = new_connection(); myself->name = name; myself->connection->name = xstrdup(name); - read_host_config(config_tree, name); + read_host_config(config_tree, name, true); if(!get_config_string(lookup_config(config_tree, "Port"), &myport)) { myport = xstrdup("655"); @@ -902,6 +902,7 @@ static bool setup_myself(void) { free(myport); memcpy(&sa, ai->ai_addr, ai->ai_addrlen); + freeaddrinfo(ai); sockaddr2str(&sa, NULL, &myport); }