aboutsummaryrefslogtreecommitdiffstats
path: root/compat.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-11-11 05:09:17 +0000
committerWayne Davison <wayned@samba.org>2006-11-11 05:09:17 +0000
commit771d0add8fd662e2731e7c619738943bb36831ed (patch)
tree64bc2bc359cc84d84ca9470a1b83ab507be4e972 /compat.c
parente5e85283a99a834bc495f29598cc3d138d7a9696 (diff)
downloadandroid_external_rsync-771d0add8fd662e2731e7c619738943bb36831ed.tar.gz
android_external_rsync-771d0add8fd662e2731e7c619738943bb36831ed.tar.bz2
android_external_rsync-771d0add8fd662e2731e7c619738943bb36831ed.zip
Die if we sent --max-delete=0 to a receiving side that is too old.
Diffstat (limited to 'compat.c')
-rw-r--r--compat.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/compat.c b/compat.c
index 475a1fe4..b22c983b 100644
--- a/compat.c
+++ b/compat.c
@@ -26,9 +26,11 @@ int remote_protocol = 0;
extern int verbose;
extern int am_server;
+extern int am_sender;
extern int inplace;
extern int fuzzy_basis;
extern int read_batch;
+extern int max_delete;
extern int checksum_seed;
extern int basis_dir_cnt;
extern int prune_empty_dirs;
@@ -75,6 +77,16 @@ void setup_protocol(int f_out,int f_in)
exit_cleanup(RERR_PROTOCOL);
}
+ if (protocol_version < 30) {
+ if (max_delete == 0 && am_sender) {
+ rprintf(FERROR,
+ "--max-delete=0 requires protocol 30 or higher"
+ " (negotiated %d).\n",
+ protocol_version);
+ exit_cleanup(RERR_PROTOCOL);
+ }
+ }
+
if (protocol_version < 29) {
if (fuzzy_basis) {
rprintf(FERROR,