X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4875d6b64dd0ed8d451746cc0cc609cff36192bd..f08ca43472b518b93230acd853532d79b7e8a3a5:/clientserver.c diff --git a/clientserver.c b/clientserver.c index 4007bffe..fba0d212 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 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. */ @@ -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)) {