X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b2501ccf123a42ff25a8853fb59f09986dac60be..85909931857090541511e7ab9a085225e0db0407:/NEWS diff --git a/NEWS b/NEWS index 0e6cae1c..8cac8e6a 100644 --- a/NEWS +++ b/NEWS @@ -1,48 +1,70 @@ -NEWS for rsync 2.6.8 (UNRELEASED) +NEWS for rsync 2.6.9 (unreleased) Protocol: 29 (unchanged) -Changes since 2.6.7: +Changes since 2.6.8: BUG FIXES: - - Fixed a bug in the exclude code where an anchored exclude without any - wildcards fails to match an absolute source arg, but only when --relative - is in effect. + - An rsync daemon that is receiving files with "use chroot = no" no longer + sanitizes the symlink target strings. This means that each symlink's + value will now be accepted (and thus returned) with its symlink info + intact. Also, in order to keep things safe, all arg paths and any + dereferenced symlinks (e.g. via --copy-links or --keep-dirlinks) are + manually verified to ensure that no symlinks try to escape past the top + of the module's path. These changes make a non-chroot daemon behave the + same way as a chroot daemon with regard to symlinks, and also avoids a + potential problem where a pre-existing symlink could have escaped the + module's hierarchy. - - Improved the I/O code for the generator to fix a potential hang when the - receiver gets an EOF on the socket but the generator's select() call - never indicates that the socket is writable for it to be notified about - the EOF. (This can happen when using stunnel). + - Fixed an overzealous sanitizing bug in the handling of the --link-dest, + --copy-dest, and --compare-dest options to a daemon without chroot: if + the copy's destination dir is deeper than the top of the module's path, + these options now accept a safe number of ../ (parent-dir) references + (since these options are relative to the destination dir). The old code + incorrectly chopped off all "../" prefixes for these options, no matter + how deep the destination directory was in the module's hierarchy. - - Fixed a problem with the file-reading code where a failed read (such as - that caused by a bad sector) would not advance the file's read-position - beyond the failed read's data. + - Fixed a bug where a deferred info/error/log message could get sent + directly to the sender instead of being handled by rwrite() in the + generator. This fixes an "unexpected tag 3" fatal error, and should + also fix a potential problem where a deferred info/error message from + the receiver might bypass the log file and get sent only to the client + process. (These problems could only affect an rsync daemon that was + receiving files.) - - Fixed a logging bug where the "log file" directive was not being honored - in a single-use daemon (one spawned by a remote-shell connection or by - init). + - Make sure that the --link-dest option can still do its job even when -I + is specified. - - If rsync cannot honor the --delete option, we output an error and exit - instead of silently ignoring the option. + - If --link-dest is specified with --checksum but without --times, rsync + will now allow a hard-link to be created to a matching link-dest file + regardless of the file's modify-time. - ENHANCEMENTS: + - The daemon now calls more timezone-using functions prior to doing a + chroot. This should help some C libraries to generate proper timestamps + from inside a chrooted daemon (and to not try to access /etc/timezone + over and over again). - - In daemon mode, if rsync fails to bind to the requested port, the - error(s) returned by socket() and/or bind() are now logged. + - Fixed a bug in the handling of an absolute --partial-dir=ABS_PATH option: + it now deletes an alternate basis file from the partial-dir that was used + to successfully update a destination file. - - When we output a fatal error, we now output the version of rsync in the - message. + ENHANCEMENTS: - - The rsyncstats script in "support" has an improved line-parsing regex - that is easier to read and also makes it to parse syslog-generated lines. + - Added the --log-file=FILE and --log-file-format=FORMAT options. These + can be used to tell any rsync to output what it is doing to a log file. + They work with a client rsync, a non-daemon server rsync (see the man + page for instructions), and also allows the overriding of rsyncd.conf + settings when starting a daemon. - - A new script in "support": file-attr-restore, can be used to restore the - attributes of a file-set (the permissions, ownership, and group info) - taken from the cached output of a "find ARG... -ls" command. + - The --log-format option was renamed to be --out-format to avoid confusing + it with affecting the log-file output. (The old option remains as an + alias for the new to preserve backward compatibility.) DEVELOPER RELATED: - - The acls.diff patch has been improved quite a bit, with more to come. + - The acls.diff and xattrs.diff patches have received a bunch of work to + make them much closer to being acceptable in the main distribution. + + - Updated config.guess and config.sub to their 2006-02-23 version. - - A new patch was added: log-file.diff. This contains an early version of - a future option, --log-file=FILE, that will allow any rsync to log its - actions to a file (something that only a daemon supports at present). + - Updated various files to include the latest FSF address and to have + consistent opening comments.