Files
rsync/NEWS
2020-05-24 20:19:15 -07:00

112 lines
4.8 KiB
Plaintext

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-files not 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 --iconv code.
- 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-simd
flag to configure, but they will probably be enabled by default in the
near future. The environment variable RSYNC_CHECKSUM_LIST can 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_LIST can be used to customize the
preference order of the heuristic (which will be more useful when new
compression options are added).
- Added the --atimes option based on the long-standing patch (just with
some fixes that the patch has been needing).
- Added --open-noatime option to open files using O_NOATIME.
- Added the --write-devices option 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_PORT environment variable when running a daemon-over-rsh
script. Its value is the user-specified port number (set via --port or an
rsync:// URL) or 0 if the user didn't override the port.
- Added negated matching to the daemon's "refuse options" setting 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=USER option 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_EXEC environment variables
that affect the pre-xfer exec and post-xfer exec rsync daemon options.
- Fixed a problem with the --link-dest|--copy-dest code when --xattrs was
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=FOO options 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 alignment" hosts.
- Some code typos were fixed (as pointed out by a Fossies run).