Add stricter checks for netnames.
[tinc] / src / tincd.c
index 3bc17e2..72bd8f3 100644 (file)
@@ -261,11 +261,14 @@ static bool parse_options(int argc, char **argv) {
                netname = NULL;
        }
 
                netname = NULL;
        }
 
-       if(netname && (strpbrk(netname, "\\/") || *netname == '.')) {
+       if(netname && !check_netname(netname, false)) {
                fprintf(stderr, "Invalid character in netname!\n");
                return 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;
 }
 
        return true;
 }