From 91c4da3fda9862fa95d4aaea0a328a827e93073b Mon Sep 17 00:00:00 2001 From: "J.W. Schultz" Date: Thu, 10 Apr 2003 00:13:48 +0000 Subject: [PATCH] versions prior to 1.7.0 (protcol version 17) cannot talk to protocol versions > 20 so bumping up the minimum protocol version and excising the pre-17 cruft. --- OLDNEWS | 9 ++++++--- flist.c | 8 ++++---- io.c | 10 +++------- rsync.h | 14 ++++++++------ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/OLDNEWS b/OLDNEWS index 355e1ec1..288ec782 100644 --- a/OLDNEWS +++ b/OLDNEWS @@ -302,17 +302,20 @@ protocol: 25 (changed) build farm. Partial Protocol History - DATE OF COMMIT* RELEASE PROTOCL VERSION + DATE RELEASE PROTOCOL 2003/01/26 20:11:16 release-2-5-6 26 2002/02/23 00:17:50 release-2-5-3 26 2002/01/25 23:00:21 release-2-5-2 26 2001/12/18 06:47:40 release-2-5-1 25 + release-2-4-6 24 2000/08/16 08:34:18 release-2-4-5 24 2000/07/29 04:52:05 release-2-4-4 24 2000/03/30 14:15:00 release-2-4-2 24 2000/01/29 23:49:36 release-2-4-1 24 2000/01/29 02:56:37 release-2-4-0 23 + release-2-3-3 21 1999/06/26 01:06:38 release-2-3-2 21 + release-2-3-1 20 1999/03/15 21:17:59 release-2-3-0 20 1998/11/15 01:21:42 release-2-2-1 19 1998/11/03 07:08:28 release-2-2-0 19 @@ -330,8 +333,8 @@ Partial Protocol History 1998/05/13 15:44:11 release-2-0-0 17 1998/04/17 06:07:26 release-1-7-4 17 1998/04/05 06:43:55 release-1-7-2 17 - 1998/03/26 04:18:57 release-1-7-0 17 - 1998/01/13 15:57:32 release-1-6-9 15 + 1998/03/26 04:18:57 release-1-7-0 17 MAX=30 + 1998/01/13 15:57:32 release-1-6-9 15 MAX=20 1997/12/17 11:07:30 release-1-6-7 14 1997/12/15 18:36:21 release-1-6-4 14 diff --git a/flist.c b/flist.c index 2fff9cf1..cd5aa149 100644 --- a/flist.c +++ b/flist.c @@ -1046,8 +1046,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) send_uid_list(f); } - /* if protocol version is >= 17 then send the io_error flag */ - if (f != -1 && remote_version >= 17) { + /* send the io_error flag */ + if (f != -1) { extern int module_id; write_int(f, lp_ignore_errors(module_id) ? 0 : io_error); } @@ -1126,8 +1126,8 @@ struct file_list *recv_file_list(int f) recv_uid_list(f, flist); } - /* if protocol version is >= 17 then recv the io_error flag */ - if (f != -1 && remote_version >= 17 && !read_batch) { /* dw-added readbatch */ + /* recv the io_error flag */ + if (f != -1 && !read_batch) { /* dw-added readbatch */ extern int module_id; extern int ignore_errors; if (lp_ignore_errors(module_id) || ignore_errors) { diff --git a/io.c b/io.c index f6302fc2..117a9d62 100644 --- a/io.c +++ b/io.c @@ -524,7 +524,6 @@ int32 read_int(int f) int64 read_longint(int f) { - extern int remote_version; int64 ret; char b[8]; ret = read_int(f); @@ -537,10 +536,8 @@ int64 read_longint(int f) rprintf(FERROR,"Integer overflow - attempted 64 bit offset\n"); exit_cleanup(RERR_UNSUPPORTED); #else - if (remote_version >= 16) { - readfd(f,b,8); - ret = IVAL(b,0) | (((int64)IVAL(b,4))<<32); - } + readfd(f,b,8); + ret = IVAL(b,0) | (((int64)IVAL(b,4))<<32); #endif return ret; @@ -797,10 +794,9 @@ void write_int_named(int f, int32 x, const char *phase) */ void write_longint(int f, int64 x) { - extern int remote_version; char b[8]; - if (remote_version < 16 || x <= 0x7FFFFFFF) { + if (x <= 0x7FFFFFFF) { write_int(f, (int)x); return; } diff --git a/rsync.h b/rsync.h index d897b3d6..85fce14e 100644 --- a/rsync.h +++ b/rsync.h @@ -62,12 +62,14 @@ * the old protocol will become the minimum and * compatibility code removed. * - * There are two possible explanations for the limit at thirty: either - * to allow new major-rev versions that do not interoperate with us, - * and (more likely) so that we can detect an attempt to connect rsync - * to a non-rsync server, which is unlikely to begin by sending a byte - * between 15 and 30. */ -#define MIN_PROTOCOL_VERSION 15 + * There are two possible explanations for the limit at + * MAX_PROTOCOL_VERSION: either to allow new major-rev versions that + * do not interoperate with us, and (more likely) so that we can + * detect an attempt to connect rsync to a non-rsync server, which is + * unlikely to begin by sending a byte between MIN_PROTOCL_VERSION and + * MAX_PROTOCOL_VERSION. */ + +#define MIN_PROTOCOL_VERSION 17 #define OLD_PROTOCOL_VERSION 20 #define MAX_PROTOCOL_VERSION 40 -- 2.34.1