version 1.1, 2012/02/17 15:09:30
|
version 1.1.1.3, 2016/11/01 09:54:32
|
Line 1
|
Line 1
|
|
NEWS for rsync 3.1.1 (22 Jun 2014) |
|
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. This removal is flagged in the compatibility code, so |
|
if a better fix can be discovered, we have a way to flip it on again. |
|
|
|
- Fixed a bug when the receiver is not configured to be able to hard link |
|
symlimks/devices/special-file items but the sender sent some of these |
|
items flagged as hard-linked. |
|
|
|
- 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. |
|
|
|
- Fix a bug in cmp_time() that would return a wrong result if the 2 times |
|
differed by an amount greater than what a time_t can hold. |
|
|
|
DEVELOPER RELATED: |
|
|
|
- We now include an example systemd file (in packaging/systemd). |
|
|
|
- Tweaked configure to make sure that any intended use of the included popt |
|
and/or zlib code is put early in the CFLAGS. |
|
|
|
NEWS for rsync 3.1.0 (28 Sep 2013) |
|
Protocol: 31 (changed) |
|
Changes since 3.0.9: |
|
|
|
OUTPUT CHANGES: |
|
|
|
- Output numbers in 3-digit groups by default (e.g. 1,234,567). See the |
|
--human-readable option for a way to turn it off. See also the daemon's |
|
"log format" parameter and related command-line options (including |
|
--out-format) for a modifier that can be used to request digit-grouping |
|
or human-readable output in log escapes. (Note that log output is |
|
unchanged by default.) |
|
|
|
- The --list-only option is now affected by the --human-readable setting. |
|
It will display digit groupings by default, and unit suffixes if higher |
|
levels of readability are requested. Also, the column width for the size |
|
output has increased from 11 to 14 characters when human readability is |
|
enabled. Use --no-h to get the old-style output and column size. |
|
|
|
- The output of the --progress option has changed: the string "xfer" was |
|
shortened to "xfr", and the string "to-check" was shortened to "to-chk", |
|
both designed to make room for the (by default) wider display of file |
|
size numbers without making the total line-length longer. Also, when |
|
incremental recursion is enabled, the string "ir-chk" will be used |
|
instead of "to-chk" up until the incremental-recursion scan is done, |
|
letting you know that the value to check and the total value will still |
|
be increasing as new files are found. |
|
|
|
- Enhanced the --stats output: 1) to mention how many files were created |
|
(protocol >= 28), 2) to mention how many files were deleted (a new line |
|
for protocol 31, but only output when --delete is in effect), and 3) to |
|
follow the file-count, created-count, and deleted-count with a subcount |
|
list that shows the counts by type. The wording of the transferred count |
|
has also changed so that it is clearer that it is only a count of regular |
|
files. |
|
|
|
BUG FIXES: |
|
|
|
- Fixed a bug in the iconv code when EINVAL or EILSEQ is returned with a |
|
full output buffer. |
|
|
|
- Fixed some rare bugs in --iconv processing that might cause a multibyte |
|
character to get translated incorrectly. |
|
|
|
- Fixed a bogus "vanished file" error if some files were specified with |
|
"./" prefixes and others were not. |
|
|
|
- Fixed a bug in --sparse where an extra gap could get inserted after a |
|
partial write. |
|
|
|
- Changed the way --progress overwrites its prior output in order to make |
|
it nearly impossible for the progress to get overwritten by an error. |
|
|
|
- Improved the propagation of abnormal-exit error messages. This should |
|
help the client side to receive errors from the server when it is exiting |
|
abnormally, and should also avoid dying with an "connection unexpectedly |
|
closed" exit when the closed connection is really expected. |
|
|
|
- The sender now checks each file it plans to remove to ensure that it |
|
hasn't changed from the first stat's info. This helps to avoid losing |
|
file data when the user is not using the option in a safe manner. |
|
|
|
- Fixed a data-duplication bug in the compress option that made compression |
|
less efficient. This improves protocol 31 onward, while behaving in a |
|
compatible (buggy) manner with older rsync protocols. |
|
|
|
- When creating a temp-file, rsync is now a bit smarter about it dot-char |
|
choices, which can fix a problem on OS X with names that start with "..". |
|
|
|
- Rsync now sets a cleanup flag for --inplace and --append transfers that |
|
will flush the write buffer if the transfer aborts. This ensures that |
|
more received data gets written out to the disk on an aborted transfer |
|
(which is quite helpful on a slow, flaky connection). |
|
|
|
- The reads that map_ptr() now does are aligned on 1K boundaries. This |
|
helps some filesystems and/or files that don't like unaligned reads. |
|
|
|
- Fix an issue in the msleep() function if time jumps backwards. |
|
|
|
- Fix daemon-server module-name splitting bug where an arg would get split |
|
even if --protect-args was used. |
|
|
|
ENHANCEMENTS: |
|
|
|
- Added the --remote-option=OPT (-M OPT) command-line option that is useful |
|
for things like sending a remote --log-file=FILE or --fake-super option. |
|
|
|
- Added the --info=FLAGS and --debug=FLAGS options to allow finer-grained |
|
control over what is output. Added an extra type of --progress output |
|
using --info=progress2. |
|
|
|
- The --msgs2stderr option can help with debugging rsync by allowing the |
|
debug messages to get output to stderr rather than travel via the socket |
|
protocol. |
|
|
|
- Added the --delete-missing-args and --ignore-missing-args options to |
|
either delete or ignore user-specified files on the receiver that are |
|
missing on the sender (normally the absence of user-specified files |
|
generates an error). |
|
|
|
- Added a "T" (terabyte) category to the --human-readable size suffixes. |
|
|
|
- Added the --usermap/--groupmap/--chown options for manipulating file |
|
ownership during the copy. |
|
|
|
- Added the "%C" escape to the log-output handling, which will output the |
|
MD5 checksum of any transferred file, or all files if --checksum was |
|
specified (when protocol 30 or above is in effect). |
|
|
|
- Added the "reverse lookup" parameter to the rsync daemon config file to |
|
allow reverse-DNS lookups to be disabled. |
|
|
|
- Added a forward-DNS lookup for the daemon's hosts allow/deny config. Can |
|
be disabled via "forward lookup" parameter (defaults to enabled). |
|
|
|
- Added a way for more than one group to be specified in the daemon's |
|
config file, including a way to specify that you want all of the |
|
specified user's groups without having to name them. Also changed the |
|
daemon to complain about an inability to set explicitly-specified uid/gid |
|
values, even when not run by a super-user. |
|
|
|
- The daemon now tries to send the user the error messages from the |
|
pre-xfer exec script when it fails. |
|
|
|
- Improved the use of alt-dest options into an existing hierarchy of files: |
|
If a match is found in an alt-dir, it takes precedence over an existing |
|
file. (We'll need to wait for a future version before attribute-changes |
|
on otherwise unchanged files are safe when using an existing hierarchy.) |
|
|
|
- Added per-user authorization options and group-authorization support to |
|
the daemon's "auth users" parameter. |
|
|
|
- Added a way to reference environment variables in a daemon's config file |
|
(using %VAR% references). |
|
|
|
- When replacing a non-dir with a symlink/hard-link/device/special-file, |
|
the update should now be done in an atomic manner. |
|
|
|
- Avoid re-sending xattr info for hard-linked files w/the same xattrs |
|
(protocol 31). |
|
|
|
- The backup code was improved to use better logic maintaining the backup |
|
directory hierarchy. Also, when a file is being backed up, rsync tries |
|
to hard-link it into place so that the upcoming replacement of the |
|
destination file will be atomic (for the normal, non-inplace logic). |
|
|
|
- Added the ability to synchronize nano-second modified times. |
|
|
|
- Added a few more default suffixes for the "dont compress" settings. |
|
|
|
- Added the checking of the RSYNC_PROTECT_ARGS environment variable to allow |
|
the default for the --protect-args command-line option to be overridden. |
|
|
|
- Added the --preallocate command-line option. |
|
|
|
- Allow --password-file=- to read the password from stdin (filename "-"). |
|
|
|
- Rsync now comes packaged with an rsync-ssl helper script that can be |
|
used to contact a remote rsync daemon using a piped-stunnel command. |
|
It also includes an stunnel config file to run the server side to |
|
support ssl daemon connections. See the packaging/lsb/rsync.spec |
|
file for one way to package the resulting files. (Suggestions for |
|
how to make this even easier to install & use are welcomed.) |
|
|
|
- Improved the speed of some --inplace updates when there are lots of |
|
identical checksum blocks that end up being unusable. |
|
|
|
- Added the --outbuf=N|L|B option for choosing the output buffering. |
|
|
|
- Repeating the --fuzzy option now causes the code to look for fuzzy |
|
matches inside alt-dest directories too. |
|
|
|
- The --chmod option now supports numeric modes, e.g. --chmod=644,D755 |
|
|
|
- Added some Solaris xattr code. |
|
|
|
- Made an rsync daemon (the listening process) exit with a 0 status when |
|
it was signaled to die. This helps launchd. |
|
|
|
- Improved the RSYNC_* environment variables for the pre-xfer exec script: |
|
when a daemon is sent multiple request args, they are now joined into a |
|
single return value (separated by spaces) so that the RSYNC_REQUEST |
|
environment variable is accurate for any "pre-xfer exec". The values in |
|
RSYNC_ARG# vars are no longer truncated at the "." arg (prior to the |
|
request dirs/files), so that all the requested values are also listed |
|
(separately) in RSYNC_ARG# variables. |
|
|
|
EXTRAS: |
|
|
|
- Added an "instant-rsyncd" script to the support directory, which makes |
|
it easy to configure a simple rsync daemon in the current directory. |
|
|
|
- Added the "mapfrom" and "mapto" scripts to the support directory, which |
|
makes it easier to do user/group mapping in a local transfer based on |
|
passwd/group files from another machine. |
|
|
|
- There's a new, improved version of the lsh script in the support dir: |
|
it's written in perl and supports -u without resorting to using sudo |
|
(when run as root). The old shell version is now named lsh.sh. |
|
|
|
- There is a helper script named rsync-slash-strip in the support directory |
|
for anyone that wants to change the way rsync handles args with trailing |
|
slashes. (e.g. arg/ would get stripped to arg while arg/. would turn into |
|
arg/). |
|
|
|
INTERNAL: |
|
|
|
- The I/O code was rewritten to be simpler and do bigger buffered reads |
|
over the socket. The I/O between the receiver and the generator was |
|
changed to be standard multiplexed-I/O (like that over the socket). |
|
|
|
- The sender tries to use any dead time while the generator is looking for |
|
files to transfer in order to do sender-side directory scanning in a more |
|
parallel manner. |
|
|
|
- A daemon can now inform a client about a daemon-configured timeout value |
|
so that the client can assist in the keep-alive activity (protocol 31). |
|
|
|
- The filter code received some refactoring to make it more extendible, to |
|
read better, and do better sanity checking. |
|
|
|
- Really big numbers are now output using our own big-num routine rather |
|
than casting them to a double and using a %.0f conversion. |
|
|
|
- The pool_alloc library has received some minor improvements in alignment |
|
handling. |
|
|
|
- Added init_stat_x() function to avoid duplication of acl/xattr init code. |
|
|
|
- The included zlib was upgraded from 1.2.3 to 1.2.8. |
|
|
|
- Rsync can now be compiled to use an unmodified zlib library instead of |
|
the tweaked one that is included with rsync. This will eventually |
|
become the default, at which point we'll start the countdown to removing |
|
the included zlib. Until then, feel free to configure using: |
|
|
|
./configure --with-included-zlib=no |
|
|
|
DEVELOPER RELATED: |
|
|
|
- Added more conditional debug output. |
|
|
|
- Fixed some build issues for android and minix. |
|
|
|
NEWS for rsync 3.0.9 (23 Sep 2011) |
|
Protocol: 30 (unchanged) |
|
Changes since 3.0.8: |
|
|
|
BUG FIXES: |
|
|
|
- Fix a crash bug in checksum scanning when --inplace is used. |
|
|
|
- Fix a hang if a hard-linked file cannot be opened by the sender (e.g. |
|
if it has no read permission). |
|
|
|
- Fix preservation of a symlink's system xattrs (e.g. selinux) on Linux. |
|
|
|
- Fix a memory leak in the xattr code. |
|
|
|
- Fixed a bug with --delete-excluded when a filter merge file has a rule |
|
that specifies a receiver-only side restriction. |
|
|
|
- Fix a bug with the modifying of unwritable directories. |
|
|
|
- Fix --fake-super's interaction with --link-dest same-file comparisons. |
|
|
|
- Fix the updating of the curr_dir buffer to avoid a duplicate slash. |
|
|
|
- Fix the directory permissions on an implied dot-dir when using --relative |
|
(e.g. /outside/path/././send/path). |
|
|
|
- Fixed some too-long sleeping instances when using --bwlimit. |
|
|
|
- Fixed when symlink ownership difference-checking gets compiled into |
|
unchanged_attrs(). |
|
|
|
- Improved the socket-error reporting when multiple protocols fail. |
|
|
|
- Fixed a case where a socket error could reference just-freed memory. |
|
|
|
- Failing to use a password file that was specified on the command-line is |
|
now a fatal error. |
|
|
|
- Fix the non-root updating of directories that don't have the read and/or |
|
execute permission. |
|
|
|
- Make daemon-excluded file errors more error-like. |
|
|
|
- Fix a compilation issue on older C compilers (due to a misplaced var |
|
declaration). |
|
|
|
- Make configure avoid finding socketpair on cygwin. |
|
|
|
- Avoid trying to reference SO_BROADCAST if the OS doesn't support it. |
|
|
|
- Fix some issues with the post-processing of the man pages. |
|
|
|
- Fixed the user home-dir handling in the support/lsh script. |
|
|
|
- Some minor manpage improvements. |
|
|
NEWS for rsync 3.0.8 (26 Mar 2011) |
NEWS for rsync 3.0.8 (26 Mar 2011) |
Protocol: 30 (unchanged) |
Protocol: 30 (unchanged) |
Changes since 3.0.7: |
Changes since 3.0.7: |
Line 136 Changes since 3.0.7:
|
Line 553 Changes since 3.0.7:
|
- Fixed configure's checking for iconv routines for newer OS X versions. |
- Fixed configure's checking for iconv routines for newer OS X versions. |
|
|
- Fixed the testsuite/xattrs.test script on OS X. |
- Fixed the testsuite/xattrs.test script on OS X. |
|
|
|
|
NEWS for rsync 3.0.7 (31 Dec 2009) |
NEWS for rsync 3.0.7 (31 Dec 2009) |
Protocol: 30 (unchanged) |
Protocol: 30 (unchanged) |
Line 3231 Changes since 2.4.6:
|
Line 3647 Changes since 2.4.6:
|
* The existing test.sh script by Phil Hands has been merged into a |
* The existing test.sh script by Phil Hands has been merged into a |
test framework that works from both "make check" and the Samba |
test framework that works from both "make check" and the Samba |
build farm. |
build farm. |
|
|
|
|
Partial Protocol History |
Partial Protocol History |
RELEASE DATE VER. DATE OF COMMIT* PROTOCOL |
RELEASE DATE VER. DATE OF COMMIT* PROTOCOL |
|
21 Dec 2015 3.1.2 31 |
|
22 Jun 2014 3.1.1 31 |
|
28 Sep 2013 3.1.0 31 Aug 2008 31 |
23 Sep 2011 3.0.9 30 |
23 Sep 2011 3.0.9 30 |
26 Mar 2011 3.0.8 30 |
26 Mar 2011 3.0.8 30 |
31 Dec 2009 3.0.7 30 |
31 Dec 2009 3.0.7 30 |