X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4875d6b64dd0ed8d451746cc0cc609cff36192bd..8ebdc9724efd6a4f3aeaf6287f5dc7c4762969b8:/clientserver.c diff --git a/clientserver.c b/clientserver.c index 4007bffe..87916017 100644 --- a/clientserver.c +++ b/clientserver.c @@ -27,15 +27,15 @@ #include "rsync.h" +extern int verbose; +extern int list_only; extern int am_sender; extern int am_server; extern int am_daemon; extern int am_root; -extern int verbose; extern int rsync_port; -extern int kludge_around_eof; +extern int kluge_around_eof; extern int daemon_over_rsh; -extern int list_only; extern int sanitize_paths; extern int filesfrom_fd; extern int remote_protocol; @@ -52,6 +52,8 @@ extern char *files_from; char *auth_user; int read_only = 0; +int daemon_log_format_has_i = 0; +int daemon_log_format_has_o_or_i = 0; int module_id = -1; /* Length of lp_path() string when in daemon mode & not chrooted, else 0. */ @@ -169,7 +171,7 @@ int start_inband_exchange(char *user, char *path, int f_in, int f_out, /* Old servers may just drop the connection here, rather than sending a proper EXIT command. Yuck. */ - kludge_around_eof = list_only && (protocol_version < 25); + kluge_around_eof = list_only && protocol_version < 25 ? 1 : 0; while (1) { if (!read_line(f_in, line, sizeof line - 1)) { @@ -202,7 +204,7 @@ int start_inband_exchange(char *user, char *path, int f_in, int f_out, rprintf(FINFO,"%s\n", line); } } - kludge_around_eof = False; + kluge_around_eof = 0; for (i = 0; i < sargc; i++) { io_printf(f_out, "%s\n", sargs[i]); @@ -283,6 +285,14 @@ static int rsync_module(int f_in, int f_out, int i) if (lp_read_only(i)) read_only = 1; + if (lp_transfer_logging(i)) { + if (strstr(lp_log_format(i), "%i") != NULL) + daemon_log_format_has_i = 1; + if (daemon_log_format_has_i + || strstr(lp_log_format(i), "%o") != NULL) + daemon_log_format_has_o_or_i = 1; + } + am_root = (MY_UID() == 0); if (am_root) { @@ -398,7 +408,7 @@ static int rsync_module(int f_in, int f_out, int i) io_printf(f_out, "@ERROR: setgid failed\n"); return -1; } -#if HAVE_SETGROUPS +#ifdef HAVE_SETGROUPS /* Get rid of any supplementary groups this process * might have inheristed. */ if (setgroups(1, &gid)) {