X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_setup.c;h=813c58baca29fbf782a88d2133d9f01e00d72e4d;hp=867fef9455592e5e5c0fa26e5f294517bdcdda99;hb=f75e71bc693847af71f61fb72cd788e3e47f9bd3;hpb=3e4829e78a3c7f7e19017d05611e5b69d5268119 diff --git a/src/net_setup.c b/src/net_setup.c index 867fef94..813c58ba 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -309,6 +309,16 @@ bool setup_myself(void) { && !get_config_string(lookup_config(myself->connection->config_tree, "Port"), &myport)) myport = xstrdup("655"); + if(!atoi(myport)) { + struct addrinfo *ai = str2addrinfo("localhost", myport, SOCK_DGRAM); + sockaddr_t sa; + if(!ai || !ai->ai_addr) + return false; + free(myport); + memcpy(&sa, ai->ai_addr, ai->ai_addrlen); + sockaddr2str(&sa, NULL, &myport); + } + /* Read in all the subnets specified in the host configuration file */ cfg = lookup_config(myself->connection->config_tree, "Subnet"); @@ -360,11 +370,11 @@ bool setup_myself(void) { if(get_config_string(lookup_config(config_tree, "Forwarding"), &mode)) { if(!strcasecmp(mode, "off")) - routing_mode = FMODE_OFF; + forwarding_mode = FMODE_OFF; else if(!strcasecmp(mode, "internal")) - routing_mode = FMODE_INTERNAL; + forwarding_mode = FMODE_INTERNAL; else if(!strcasecmp(mode, "kernel")) - routing_mode = FMODE_KERNEL; + forwarding_mode = FMODE_KERNEL; else { logger(LOG_ERR, "Invalid forwarding mode!"); return false;