NEWS for rsync 3.1.1 (UNRELEASED) Protocol: 31 (unchanged) Changes since 3.1.0: BUG FIXES: - If the receiver gets bogus filenames from the sender (an unexpected leading slash or a ".." infix dir), exit with an error. This prevents a malicious sender from trying to inject filenames that would affect an area outside the destination directories. - Fixed a failure to remove the partial-transfer temp file when interrupted (and rsync is not saving the partial files). - Changed the chown/group/xattr-set order to avoid losing some security- related xattr info (that would get cleared by a chown). - Fixed a bug in the xattr-finding code that could make a non-root-run receiver not able to find some xattr numbers. - Fixed a bug in the early daemon protocol where a timeout failed to be honored (e.g. if the remote side fails to send us the initial protocol greeting). - Fixed unintended inclusion of commas in file numbers in the daemon log. - We once again send the 'f' sub-flag (of -e) to the server side so it knows that we can handle incremental-recursion directory errors properly in older protocols. - Fixed an issue with too-aggressive keep-alive messages causing a problem for older rsync versions early in the transfer. - Fixed an incorrect message about backup-directory-creation when using --dry-run and the backup dir is not an absolute path. - Fixed a bug where a failed deletion and/or a failed sender-side removal would not affect the exit code. - Fixed a bug that caused a failure when combining --delete-missing-args with --xattrs and/or --acls. - Fixed a strange dir_depth assertion error that was caused by empty-dir removals and/or duplicate files in the transfer. - Fixed a problem with --info=progress2's output stats where rsync would only update the stats at the end of each file's transfer. It now uses the data that is flowing for the current file, making the stats more accurate and less jumpy. - Fixed an itemize bug that affected the combo of --link-dest, -X, and -n. - Fixed a problem with delete messages not appearing in the log file when the user didn't use --verbose. - Improve chunked xattr reading for OS X. - Removed an attempted hard-link xattr optimization that was causing a transfer failure. (If you need to interact with an rsync 3.1.0 using --hard-links & --xattrs, you can specify --protocol=30.) - We now generate a better error if the buffer overflows in do_mknod(). - Fixed a problem reading more than 16 ACLs on some OSes. - Fixed the reading of the secrets file to avoid an infinite wait when the username is missing. - Fixed a parsing problem in the --usermap/--groupmap options when using MIN-MAX numbers. - Switched Cygwin back to using socketpair "pipes" to try to speed it up. - Added knowledge of a few new options to rrsync. ENHANCEMENTS: - Tweaked the temp-file naming when --temp-dir=DIR is used: the temp-file names will not get a '.' prepended. - Added support for a new-compression idiom that does not compress all the matching data in a transfer. This can help rsync to use less cpu when a transfer has a lot of matching data, and also makes rsync compatible with a non-bundled zlib. See the --new-compress and --old-compress options in the manpage. - Added the support/rsync-no-vanished wrapper script. - Made configure more prominently mention when we failed to find yodl (in case the user wants to be able to generate manpages from *.yo files). - Have manpage mention how a daemon's max-verbosity setting affects info and debug options. Also added more clarification on backslash removals for excludes that contain wildcards. - Have configure check if for the attr lib (for getxattr) for those systems that need to link against it explicitly. - Change the early dir-creation logic to only use that idiom in an inc-recursive copy that is preserving directory times. e.g. using --omit-dir-times will avoid these early directories being created. DEVELOPER RELATED: - We now include an example systemd file (in packaging/systemd).