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 */
* 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