Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changed "char" to "uchar" in delayed_bits's new_array() call.
[rsync/rsync.git]
/
compat.c
diff --git
a/compat.c
b/compat.c
index
6bd1a57
..
e90fa83
100644
(file)
--- a/
compat.c
+++ b/
compat.c
@@
-27,26
+27,27
@@
int remote_protocol = 0;
int remote_protocol = 0;
+extern int verbose;
extern int am_server;
extern int am_server;
-
+extern int am_sender;
+extern int read_batch;
extern int checksum_seed;
extern int checksum_seed;
-
extern int protocol_version;
extern int protocol_version;
-extern int verbose;
void setup_protocol(int f_out,int f_in)
{
if (remote_protocol == 0) {
void setup_protocol(int f_out,int f_in)
{
if (remote_protocol == 0) {
- if (am_server) {
- remote_protocol = read_int(f_in);
+ if (!read_batch)
write_int(f_out, protocol_version);
write_int(f_out, protocol_version);
- } else {
- write_int(f_out, protocol_version);
- remote_protocol = read_int(f_in);
- }
+ remote_protocol = read_int(f_in);
if (protocol_version > remote_protocol)
protocol_version = remote_protocol;
}
if (protocol_version > remote_protocol)
protocol_version = remote_protocol;
}
+ if (read_batch && remote_protocol > protocol_version) {
+ rprintf(FERROR, "The protocol version in the batch file is too new (%d > %d).\n",
+ remote_protocol, protocol_version);
+ exit_cleanup(RERR_PROTOCOL);
+ }
if (verbose > 3) {
rprintf(FINFO, "(%s) Protocol versions: remote=%d, negotiated=%d\n",
if (verbose > 3) {
rprintf(FINFO, "(%s) Protocol versions: remote=%d, negotiated=%d\n",