More accurately, the uid/gid is set to -2, not "nobody".
[rsync/rsync.git] / clientserver.c
index 044f86d..a4e9e82 100644 (file)
@@ -141,7 +141,7 @@ static int rsync_module(int fd, int i)
        char *argv[MAX_ARGS];
        char **argp;
        char line[MAXPATHLEN];
-       uid_t uid = (uid_t)-2;
+       uid_t uid = (uid_t)-2;  /* canonically "nobody" */
        gid_t gid = (gid_t)-2;
        char *p;
        char *addr = client_addr(fd);
@@ -212,6 +212,13 @@ static int rsync_module(int fd, int i)
                        gid = atoi(p);
                }
        }
+        
+        /* TODO: If we're not root, but the configuration requests
+         * that we change to some uid other than the current one, then
+         * log a warning. */
+
+        /* TODO: Perhaps take a list of gids, and make them into the
+         * supplementary groups. */
 
        p = lp_include_from(i);
        add_exclude_file(p, 1, 1);