Merge branch 'master' into 1.1
[tinc] / src / tincd.c
index 98123fe..fc92f0b 100644 (file)
@@ -231,11 +231,16 @@ static bool parse_options(int argc, char **argv) {
 
        /* netname "." is special: a "top-level name" */
 
-       if(netname && !strcmp(netname, ".")) {
+       if(netname && (!*netname || !strcmp(netname, "."))) {
                free(netname);
                netname = NULL;
        }
 
+       if(netname && (strpbrk(netname, "\\/") || *netname == '.')) {
+               fprintf(stderr, "Invalid character in netname!\n");
+               return false;
+       }
+
        return true;
 }
 
@@ -324,8 +329,11 @@ static bool drop_privs(void) {
                               "initgroups", strerror(errno));
                        return false;
                }
+#ifndef __ANDROID__
+// Not supported in android NDK
                endgrent();
                endpwent();
+#endif
        }
        if (do_chroot) {
                tzset();        /* for proper timestamps in logs */