4.8 KiB
NEWS for rsync 3.2.0 (UNRELEASED)
Protocol: 31 (unchanged)
Changes since 3.1.3:
BUG FIXES:
-
Avoid a potential out-of-bounds read in daemon mode if argc can be made to become 0.
-
Fix the default list of skip-compress files for non-daemon transfers.
-
Fix xattr filter rules losing an 'x' attribute in a non-local transfer.
-
Avoid an error when a check for a potential fuzzy file happens to reference a directory.
-
Make the atomic-rsync helper script have a more consistent error-exit.
-
Make sure that a signal handler calls
_exit()instead of exit(). -
Various zlib fixes, including security fixes for CVE-2016-9843, CVE-2016-9842, CVE-2016-9841, and CVE-2016-9840.
-
Fixed an issue with
--remove-source-filesnot removing a source symlink when combined with--copy-links. -
Fixed a bug where the daemon would fail to write early fatal error messages to the client, such as refused or unknown command-line options.
-
Fixed the block-size validation logic when dealing with older protocols.
-
Some rrsync fixes and enhancements to handle the latest options.
-
Fixed a crash in the
--iconvcode. -
Fixed a bug in the writing of the batch.sh file (w/--write-batch) when the source & destination args were not last on the command-line.
ENHANCEMENTS:
-
Various checksum enhancements, including the optional use of openssl's MD4 & MD5 checksum algorithms, some x86-64 optimizations for the rolling checksum, some x86-64 optimizations for the (non-openssl) MD5 checksum, the addition of xxhash checksum support, and a negotiation heuristic that ensures that it is easier to add new checksum algorithms in the future. Currently the x86-64 optimizations require the use of the
--enable-simdflag to configure, but they will probably be enabled by default in the near future. The environment variableRSYNC_CHECKSUM_LISTcan be used to customize the preference order of the negotiation. -
Various compression enhancements, including a negotiation heuristic that tries to pick the best compression option supported by both sides. The environment variable
RSYNC_COMPRESS_LISTcan be used to customize the preference order of the heuristic (which will be more useful when new compression options are added). -
Added the
--atimesoption based on the long-standing patch (just with some fixes that the patch has been needing). -
Added
--open-noatimeoption to open files usingO_NOATIME. -
Added the
--write-devicesoption based on the long-standing patch. -
Added openssl support to the rsync-ssl script via its renamed helper script, rsync-ssl-rsh. Both bash scripts are now installed by default (removing the install-ssl-client make target). Rsync was also enhanced to set the
RSYNC_PORTenvironment variable when running a daemon-over-rsh script. Its value is the user-specified port number (set via--portor an rsync:// URL) or 0 if the user didn't override the port. -
Added negated matching to the daemon's
refuse optionssetting by using match strings that start with a!(such as!compress*). -
Added status output in response to a signal (via both SIGINFO & SIGVTALRM).
-
Added a
--copy-as=USERoption to give some extra security to root-run rsync commands into/from untrusted directories (such as backups and restores). -
When resuming the transfer of a file in the
--partial-dir, rsync will now update that partial file in-place instead of creating yet another tmp file copy. This requires both sender & receiver to be at least v3.2.0. -
Added support for
RSYNC_SHELL&RSYNC_NO_XFER_EXECenvironment variables that affect the pre-xfer exec and post-xfer exec rsync daemon options. -
Fixed a problem with the
--link-dest|--copy-destcode when--xattrswas specified along with multiple alternate-destination directories (it could possibly choose a bad file match while trying to find a better xattr match). -
Various manpage improvements.
DEVELOPER RELATED:
-
Silenced some annoying warnings about major()|minor() due to the autoconf include-file check not being smart enough.
-
Improved some configure checks to work better with strict C99 compilers.
-
The
--debug=FOOoptions are no longer auto-forwarded to the server side, allowing more control over what is output & the ability to request debug data from divergent rsync versions. -
Some perl scripts were recoded into awk and python3.
-
Some defines in byteorder.h were changed into static inline functions that will help to ensure that the args don't get evaluated multiple times on
careful alignmenthosts. -
Some code typos were fixed (as pointed out by a Fossies run).