X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/53936ef935e97d2036ad09b61b7040979d175469..8bd77e7098d9863f258070fb2274e324a446adbd:/io.c diff --git a/io.c b/io.c index 018dd282..6a91ffd5 100644 --- a/io.c +++ b/io.c @@ -352,8 +352,7 @@ static void check_for_d_option_error(const char *msg) if (saw_d) { rprintf(FWARNING, - "*** Try adding \"-r --exclude='/*/*'\" " - "if remote rsync is <= 2.6.3 ***\n"); + "*** Try using \"--old-d\" if remote rsync is <= 2.6.3 ***\n"); } } @@ -921,6 +920,8 @@ void read_args(int f_in, char *mod_name, char *buf, size_t bufsiz, int rl_nulls, } argv[argc] = NULL; + glob_expand(NULL, NULL, NULL, NULL); + *argc_p = argc; *argv_p = argv; } @@ -1353,6 +1354,7 @@ int read_vstring(int f, char *buf, int bufsize) * called by both the sender and the receiver. */ void read_sum_head(int f, struct sum_struct *sum) { + int32 max_blength = protocol_version < 30 ? OLD_MAX_BLOCK_SIZE : MAX_BLOCK_SIZE; sum->count = read_int(f); if (sum->count < 0) { rprintf(FERROR, "Invalid checksum count %ld [%s]\n", @@ -1360,7 +1362,7 @@ void read_sum_head(int f, struct sum_struct *sum) exit_cleanup(RERR_PROTOCOL); } sum->blength = read_int(f); - if (sum->blength < 0 || sum->blength > MAX_BLOCK_SIZE) { + if (sum->blength < 0 || sum->blength > max_blength) { rprintf(FERROR, "Invalid block length %ld [%s]\n", (long)sum->blength, who_am_i()); exit_cleanup(RERR_PROTOCOL);