Rsync 3.5.1 Fixes Path Regressions, Adds Protocol 33

Rsync 3.5.1 addresses several regressions from version 3.5 while introducing protocol 33 and new 4 KiB logical block statistics.

Rsync 3.5.1 is now available as the latest version of the widely used open-source file synchronization and transfer utility, arriving just over a month after the major 3.5 release.

One of the main areas rsync 3.5.1 addresses is path handling. Explicit sender paths can again traverse symlinked parent directories without weakening protections applied to paths discovered during recursive scans.

In addition, paths supplied through --files-from for local and remote-shell transfers are now correctly treated as paths explicitly provided by the operator rather than as paths beneath the transfer root.

The release also fixes access to /dev/stdin, /dev/stdout, /dev/stderr, and /dev/fd/N when these refer to pipes or file descriptors inside user namespaces. This restores scenarios like reading batch data through a FIFO or process substitution, which were affected by regressions in the previous release.

Another correction concerns the --max-alloc=0 option. It again means that rsync should use the parser’s maximum allocation ceiling, rather than disabling the allocation limit altogether.

Other fixes in rsync 3.5.1 include:

  • Corrected restricted-root path handling in rrsync.
  • Better detection of inetd connections when the daemon receives a local socket through standard input.
  • Support for --contimeout when connecting to an rsync daemon through --rsh, without affecting ordinary remote-shell transfers.
  • Stricter validation of partial-directory state and alternate-destination paths.
  • Prevention of an alternate-destination leaf symlink from being followed as a basis file.
  • Fixes for undefined shifts in the bundled zlib code.
  • A fix for a FreeBSD amd64 build problem involving assembly and SIMD objects.

On the protocol side, rsync 3.5.1 increases the protocol number to 33. The change enables a new statistic in --stats showing how many distinct 4 KiB logical file blocks were touched by the receiver.

There is also support for internationalized domain names when rsync is compiled with the required library, allowing hostnames containing non-ASCII characters to be handled directly.

For more information, refer to the release notes.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *