Have tincd and tincctl use the same method of determining netname.
[tinc] / src / tincd.c
index 9f65bbe..85aee39 100644 (file)
@@ -177,9 +177,7 @@ static bool parse_options(int argc, char **argv) {
                                break;
 
                        case 'n':                               /* net name given */
-                               /* netname "." is special: a "top-level name" */
-                               netname = strcmp(optarg, ".") != 0 ?
-                                               xstrdup(optarg) : NULL;
+                               netname = xstrdup(optarg);
                                break;
 
                        case 'o':                               /* option */
@@ -228,6 +226,16 @@ static bool parse_options(int argc, char **argv) {
                }
        }
 
+       if(!netname && (netname = getenv("NETNAME")))
+               netname = xstrdup(netname);
+
+       /* netname "." is special: a "top-level name" */
+
+       if(!strcmp(netname, ".")) {
+               free(netname);
+               netname = NULL;
+       }
+
        return true;
 }