Commit cbbd8e2e authored by Wayne Davison's avatar Wayne Davison

The --fake-super option conflicts with -XX (which copies internal

rsync xattrs literally).
parent af6241f7
......@@ -32,6 +32,7 @@ extern int am_daemon;
extern int am_root;
extern int rsync_port;
extern int ignore_errors;
extern int preserve_xattrs;
extern int kluge_around_eof;
extern int daemon_over_rsh;
extern int sanitize_paths;
......@@ -745,9 +746,11 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
if (write_batch < 0)
dry_run = 1;
if (lp_fake_super(i))
if (lp_fake_super(i)) {
if (preserve_xattrs > 1)
preserve_xattrs = 1;
am_root = -1;
else if (am_root < 0) /* Treat --fake-super from client as --super. */
} else if (am_root < 0) /* Treat --fake-super from client as --super. */
am_root = 2;
if (filesfrom_fd == 0)
......
......@@ -1314,7 +1314,13 @@ int parse_arguments(int *argc_p, const char ***argv_p, int frommain)
}
#endif
#ifndef SUPPORT_XATTRS
#ifdef SUPPORT_XATTRS
if (am_root < 0 && preserve_xattrs > 1) {
snprintf(err_buf, sizeof err_buf,
"--fake-super conflicts with -XX\n");
return 0;
}
#else
if (am_root < 0) {
snprintf(err_buf, sizeof err_buf,
"--fake-super requires an rsync with extended attributes enabled\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment