Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add --ignore-errors documentation.
[rsync/rsync.git]
/
clientserver.c
diff --git
a/clientserver.c
b/clientserver.c
index
044f86d
..
1baa1e0
100644
(file)
--- a/
clientserver.c
+++ b/
clientserver.c
@@
-63,7
+63,7
@@
int start_socket_client(char *host, char *path, int argc, char *argv[])
}
if (*path == '/') {
}
if (*path == '/') {
- rprintf(FERROR,"ERROR: The remote path must start with a module name\n");
+ rprintf(FERROR,"ERROR: The remote path must start with a module name
not a /
\n");
return -1;
}
return -1;
}
@@
-141,7
+141,7
@@
static int rsync_module(int fd, int i)
char *argv[MAX_ARGS];
char **argp;
char line[MAXPATHLEN];
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);
gid_t gid = (gid_t)-2;
char *p;
char *addr = client_addr(fd);
@@
-196,7
+196,7
@@
static int rsync_module(int fd, int i)
if (!name_to_uid(p, &uid)) {
if (!isdigit(*p)) {
rprintf(FERROR,"Invalid uid %s\n", p);
if (!name_to_uid(p, &uid)) {
if (!isdigit(*p)) {
rprintf(FERROR,"Invalid uid %s\n", p);
- io_printf(fd,"@ERROR: invalid uid
\n"
);
+ io_printf(fd,"@ERROR: invalid uid
%s\n", p
);
return -1;
}
uid = atoi(p);
return -1;
}
uid = atoi(p);
@@
-206,12
+206,19
@@
static int rsync_module(int fd, int i)
if (!name_to_gid(p, &gid)) {
if (!isdigit(*p)) {
rprintf(FERROR,"Invalid gid %s\n", p);
if (!name_to_gid(p, &gid)) {
if (!isdigit(*p)) {
rprintf(FERROR,"Invalid gid %s\n", p);
- io_printf(fd,"@ERROR: invalid gid
\n"
);
+ io_printf(fd,"@ERROR: invalid gid
%s\n", p
);
return -1;
}
gid = atoi(p);
}
}
return -1;
}
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);
p = lp_include_from(i);
add_exclude_file(p, 1, 1);
@@
-492,7
+499,7
@@
int daemon_main(void)
rsyserr(FLOG, errno, "failed to create pid file %s", pid_file);
exit_cleanup(RERR_FILEIO);
}
rsyserr(FLOG, errno, "failed to create pid file %s", pid_file);
exit_cleanup(RERR_FILEIO);
}
- s
l
printf(pidbuf, sizeof(pidbuf), "%d\n", pid);
+ s
n
printf(pidbuf, sizeof(pidbuf), "%d\n", pid);
write(fd, pidbuf, strlen(pidbuf));
close(fd);
}
write(fd, pidbuf, strlen(pidbuf));
close(fd);
}