aboutsummaryrefslogtreecommitdiffstats
path: root/compat.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2007-10-16 04:08:18 +0000
committerWayne Davison <wayned@samba.org>2007-10-16 04:08:18 +0000
commitdbd697b5780f8ec2f5e8615799ed0be921694f32 (patch)
tree2c6ed61bd982e2e25f4bcb5078fd6ea2867f4da2 /compat.c
parent5ca70927bea19aff939445bf78ed4d871bb04f7c (diff)
downloadandroid_external_rsync-dbd697b5780f8ec2f5e8615799ed0be921694f32.tar.gz
android_external_rsync-dbd697b5780f8ec2f5e8615799ed0be921694f32.tar.bz2
android_external_rsync-dbd697b5780f8ec2f5e8615799ed0be921694f32.zip
- Send a flag from the client to the server to indicate if the protocol
is going to run in inc_recurse mode or not. - Verify that the options we received (as a server or as a batch-reader) are compatible with the requested inc_recurse mode.
Diffstat (limited to 'compat.c')
-rw-r--r--compat.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/compat.c b/compat.c
index 80c44a34..a1a0f247 100644
--- a/compat.c
+++ b/compat.c
@@ -220,6 +220,17 @@ void setup_protocol(int f_out,int f_in)
&& !delete_before && !delete_after && !delay_updates
&& !use_qsort && !prune_empty_dirs)
inc_recurse = 1;
+ if (am_server || read_batch) {
+ int i_r = read_byte(f_in);
+ if (i_r && !inc_recurse) {
+ fprintf(stderr,
+ "Incompatible options specified for inc-recursive %s.\n",
+ read_batch ? "batch file" : "connection");
+ exit_cleanup(RERR_SYNTAX);
+ }
+ inc_recurse = i_r;
+ } else
+ write_byte(f_out, inc_recurse);
need_messages_from_generator = 1;
}