X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f855a7d01ab8401a307bb02cdcdee546df3e2423..e72b18a9bd9f89847e49e87c1159c74d7bf0fbf3:/compat.c diff --git a/compat.c b/compat.c index ee9e0520..f89fb513 100644 --- a/compat.c +++ b/compat.c @@ -17,7 +17,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* compatability routines for older rsync protocol versions */ +/** + * @file compat.c + * + * Compatibility routines for older rsync protocol versions. + **/ #include "rsync.h" @@ -36,6 +40,9 @@ extern int checksum_seed; extern int remote_version; extern int verbose; +extern int read_batch; /* dw */ +extern int write_batch; /* dw */ + void setup_protocol(int f_out,int f_in) { if (remote_version == 0) { @@ -54,20 +61,18 @@ void setup_protocol(int f_out,int f_in) rprintf(FERROR,"(see the rsync man page for an explanation)\n"); exit_cleanup(RERR_PROTOCOL); } - - if (verbose > 2) - rprintf(FINFO, "local_version=%d remote_version=%d\n", - PROTOCOL_VERSION, remote_version); - - if (remote_version >= 12) { - if (am_server) { + if (remote_version < OLD_PROTOCOL_VERSION) + rprintf(FINFO,"%s is very old version of rsync, upgrade recommended.\n", + am_server ? "Server" : "Client"); + + if (am_server) { + if (read_batch || write_batch) /* dw */ + checksum_seed = 32761; + else checksum_seed = time(NULL); - write_int(f_out,checksum_seed); - } else { - checksum_seed = read_int(f_in); - } + write_int(f_out,checksum_seed); + } else { + checksum_seed = read_int(f_in); } - - checksum_init(); }