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
Mention how the daemon handles a failure to open a user-specified
[rsync/rsync.git]
/
clientserver.c
diff --git
a/clientserver.c
b/clientserver.c
index
531944a
..
7c46c70
100644
(file)
--- a/
clientserver.c
+++ b/
clientserver.c
@@
-100,7
+100,7
@@
int start_socket_client(char *host, char *path, int argc, char *argv[])
ret = start_inband_exchange(user, path, fd, fd, argc);
ret = start_inband_exchange(user, path, fd, fd, argc);
- return ret
< 0
? ret : client_run(fd, fd, -1, argc, argv);
+ return ret ? ret : client_run(fd, fd, -1, argc, argv);
}
int start_inband_exchange(char *user, char *path, int f_in, int f_out,
}
int start_inband_exchange(char *user, char *path, int f_in, int f_out,
@@
-196,10
+196,10
@@
int start_inband_exchange(char *user, char *path, int f_in, int f_out,
rprintf(FERROR, "%s\n", line);
/* This is always fatal; the server will now
* close the socket. */
rprintf(FERROR, "%s\n", line);
/* This is always fatal; the server will now
* close the socket. */
- return RERR_STARTCLIENT;
- } else {
- rprintf(FINFO,"%s\n", line);
+ return -1;
}
}
+
+ rprintf(FINFO, "%s\n", line);
}
kluge_around_eof = 0;
}
kluge_around_eof = 0;
@@
-268,11
+268,9
@@
static int rsync_module(int f_in, int f_out, int i)
return -1;
}
return -1;
}
- auth_user = auth_server(f_in, f_out, i, addr, "@RSYNCD: AUTHREQD ");
+ auth_user = auth_server(f_in, f_out, i,
host,
addr, "@RSYNCD: AUTHREQD ");
if (!auth_user) {
if (!auth_user) {
- rprintf(FLOG, "auth failed on module %s from %s (%s)\n",
- name, host, addr);
io_printf(f_out, "@ERROR: auth failed on module %s\n", name);
return -1;
}
io_printf(f_out, "@ERROR: auth failed on module %s\n", name);
return -1;
}
@@
-283,10
+281,10
@@
static int rsync_module(int f_in, int f_out, int i)
read_only = 1;
if (lp_transfer_logging(i)) {
read_only = 1;
if (lp_transfer_logging(i)) {
- if (
strstr(lp_log_format(i), "%i") != NULL
)
+ if (
log_format_has(lp_log_format(i), 'i')
)
daemon_log_format_has_i = 1;
if (daemon_log_format_has_i
daemon_log_format_has_i = 1;
if (daemon_log_format_has_i
- ||
strstr(lp_log_format(i), "%o") != NULL
)
+ ||
log_format_has(lp_log_format(i), 'o')
)
daemon_log_format_has_o_or_i = 1;
}
daemon_log_format_has_o_or_i = 1;
}
@@
-321,13
+319,11
@@
static int rsync_module(int f_in, int f_out, int i)
/* TODO: Perhaps take a list of gids, and make them into the
* supplementary groups. */
/* TODO: Perhaps take a list of gids, and make them into the
* supplementary groups. */
- if (use_chroot) {
+ if (use_chroot
|| (module_dirlen = strlen(lp_path(i))) == 1
) {
module_dirlen = 0;
set_filter_dir("/", 1);
module_dirlen = 0;
set_filter_dir("/", 1);
- } else {
- module_dirlen = strlen(lp_path(i));
+ } else
set_filter_dir(lp_path(i), module_dirlen);
set_filter_dir(lp_path(i), module_dirlen);
- }
p = lp_filter(i);
parse_rule(&server_filter_list, p, MATCHFLG_WORD_SPLIT,
p = lp_filter(i);
parse_rule(&server_filter_list, p, MATCHFLG_WORD_SPLIT,