X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincd.c;h=72bd8f3134b65cf3baee793449b885bee866dab3;hb=9a66d7499ae2c838c25f9c6bfcc277c3fa231dea;hp=eb03165f357edb71565bf38b5b9082fb8a9f02f6;hpb=537a9366718b39278fd4eb33b2ac568011e374cc;p=tinc diff --git a/src/tincd.c b/src/tincd.c index eb03165f..72bd8f31 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -43,8 +43,6 @@ #include #endif -#include - #include "conf.h" #include "control.h" #include "crypto.h" @@ -263,11 +261,14 @@ static bool parse_options(int argc, char **argv) { netname = NULL; } - if(netname && (strpbrk(netname, "\\/") || *netname == '.')) { + if(netname && !check_netname(netname, false)) { fprintf(stderr, "Invalid character in netname!\n"); return false; } + if(netname && !check_netname(netname, true)) + fprintf(stderr, "Warning: unsafe character in netname!\n"); + return true; } @@ -340,6 +341,7 @@ int main(int argc, char **argv) { return 1; make_names(true); + chdir(confbase); if(show_version) { printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE,