aboutsummaryrefslogtreecommitdiffstats
path: root/clientserver.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-03-07 15:23:39 -0800
committerWayne Davison <wayned@samba.org>2008-03-07 15:23:39 -0800
commitcbbd8e2e8bf72aa46c84c7de43e19da40f040fa7 (patch)
tree34a34316cda01a275e988219b139d0fc5c780a7a /clientserver.c
parentaf6241f7adda9fa90fb47b857a5269f2cbcc0319 (diff)
downloadandroid_external_rsync-cbbd8e2e8bf72aa46c84c7de43e19da40f040fa7.tar.gz
android_external_rsync-cbbd8e2e8bf72aa46c84c7de43e19da40f040fa7.tar.bz2
android_external_rsync-cbbd8e2e8bf72aa46c84c7de43e19da40f040fa7.zip
The --fake-super option conflicts with -XX (which copies internal
rsync xattrs literally).
Diffstat (limited to 'clientserver.c')
-rw-r--r--clientserver.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/clientserver.c b/clientserver.c
index 7c15e3bf..6bcbc81e 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -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)