Per Lundqvist
2013-Oct-21 03:00 UTC
use_safe_inc_flist not set for 3.1.0 client -> 3.0.9 daemon
Hi, When using the latest rsync 3.1.0 client, connecting to a pre 3.1.0 (i.e. 3.0.9 and earlier, protocol version 30) server running in daemon mode and requesting a recursive (incremental by default) file transfer, the variable use_safe_inc_flist is not set (affecting how I/O errors are handled during file list generation). so it is set for: 3.0.9 client -> 3.0.9 daemon 3.0.9 client -> 3.1.0 daemon 3.1.0 client -> 3.1.0 daemon but not for: 3.1.0 client -> 3.0.9 daemon In server_options() in options.c, the client does not automatically send 'f' anymore. Unless this has been specifically disabled (?), here's a patch to enable safe incremental file lists between a 3.1.0 client and a pre 3.1.0 daemon (protocol version 30) --- options.c.ORIG 2013-06-12 06:28:45.000000000 +1000 +++ options.c 2013-10-21 12:46:25.251082555 +1100 @@ -2477,6 +2477,8 @@ #ifdef ICONV_OPTION argstr[x++] = 's'; #endif + if (protocol_version == 30) + argstr[x++] = 'f'; } if (x >= (int)sizeof argstr) { /* Not possible... */ thanks, /Per Lundqvist
Wayne Davison
2013-Oct-27 16:33 UTC
use_safe_inc_flist not set for 3.1.0 client -> 3.0.9 daemon
On Sun, Oct 20, 2013 at 8:00 PM, Per Lundqvist <perlundq at gmail.com> wrote:> n server_options() in options.c, the client does not automatically send > 'f' anymore. >Yes, that appears to have been neglected in 3.1.0's logic. Note that your patch shouldn't be checking a protocol_version number there, as the real version is not yet known. Fix being committed momentarily. ..wayne.. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.samba.org/pipermail/rsync/attachments/20131027/d65d41c0/attachment.html>