aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compat.c5
-rw-r--r--rsync.h8
2 files changed, 11 insertions, 2 deletions
diff --git a/compat.c b/compat.c
index 2f497007..02f5028f 100644
--- a/compat.c
+++ b/compat.c
@@ -61,7 +61,10 @@ 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 (remote_version < OLD_PROTOCOL_VERSION)
+ rprintf(FINFO,"%s is very old version of rsync, upgrade recommended.\n",
+ am_server ? "Server" : "Client");
+
if (remote_version >= 12) {
if (am_server) {
if (read_batch || write_batch) /* dw */
diff --git a/rsync.h b/rsync.h
index 317c545f..beddf51f 100644
--- a/rsync.h
+++ b/rsync.h
@@ -57,13 +57,19 @@
* people writing them to make sure that they don't send us anything
* we won't understand.
*
+ * Interoperation with old but supported protocol versions
+ * should cause a warning to be printed. At a future date
+ * 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
-#define MAX_PROTOCOL_VERSION 30
+#define OLD_PROTOCOL_VERSION 20
+#define MAX_PROTOCOL_VERSION 40
#define RSYNC_PORT 873