X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;h=421315b8fbf5eb2d77114177cab13307f5381154;hb=6168a9b6d51b19378af9ba9977227042cf6eafc6;hp=b9c5df7a8209bce0521bd9724543ee0f54419c03;hpb=57991e264202ad83e2c1b663777b358bf5573652;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index b9c5df7a..421315b8 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -411,17 +411,18 @@ char *get_name(void) { if(*name == '$') { char *envname = getenv(name + 1); + char hostname[32] = ""; if(!envname) { if(strcmp(name + 1, "HOST")) { logger(DEBUG_ALWAYS, LOG_ERR, "Invalid Name: environment variable %s does not exist\n", name + 1); return false; } - char envname[32]; - if(gethostname(envname, 32)) { + if(gethostname(hostname, sizeof hostname) || !*hostname) { logger(DEBUG_ALWAYS, LOG_ERR, "Could not get hostname: %s\n", strerror(errno)); return false; } - envname[31] = 0; + hostname[31] = 0; + envname = hostname; } free(name); name = xstrdup(envname); @@ -632,6 +633,8 @@ bool setup_myself_reloadable(void) { keylifetime = 3600; get_config_int(lookup_config(config_tree, "AutoConnect"), &autoconnect); + if(autoconnect < 0) + autoconnect = 0; get_config_bool(lookup_config(config_tree, "DisableBuggyPeers"), &disablebuggypeers);