📄 oldnews
字号:
option (verifying the existing data in the destination file). For compatibility with older rsync versions, any use of --append that is talking protocol 29 or older will revert to the --append-verify method. - Added the --contimeout=SECONDS option that lets the user specify a connection timeout for rsync daemon access. - Documented and extended the support for the RSYNC_CONNECT_PROG variable that can be used to enhance the client side of a daemon connection. - Improved the dashes and double-quotes in the nroff manpage output. - Rsync now supports a lot more --no-OPTION override options. INTERNAL: - The file-list sorting algorithm now uses a sort that keeps any same- named items in the same order as they were specified. This allows rsync to always ensure that the first of the duplicates is the one that will be included in the copy. The new sort is also faster than the glibc version of qsort() and mergesort(). - Rsync now supports the transfer of 64-bit timestamps (time_t values). - Made the file-deletion code use a little less stack when recursing through a directory hierarchy of extraneous files. - Fixed a build problem with older (2.x) versions of gcc. - Added some isType() functions that make dealing with signed characters easier without forcing variables via casts. - Changed strcat/strcpy/sprintf function calls to use safer versions. - Upgraded the included popt version to 1.10.2 and improved its use of string-handling functions. - Added missing prototypes for compatibility functions from the lib dir. - Configure determines if iconv() has a const arg, allowing us to avoid a compiler warning. - Made the sending of some numbers more efficient for protocol 30. - Make sure that a daemon process doesn't mind if the client was weird and omitted the --server option. - There are more internal logging categories available in protocol 30 than the age-old FINFO and FERROR, including FERROR_XFER and FWARN. These new categories allow some errors and warnings to go to stderr without causing an erroneous end-of-run warning about some files not being able to be transferred. - Improved the use of "const" on pointers. - Improved J.W.'s pool_alloc routines to add a way of incrementally freeing older sections of a pool's memory. - The getaddrinfo.c compatibility code in the "lib" dir was replaced with some new code (derived from samba, derived from PostgreSQL) that has a better license than the old code. DEVELOPER RELATED: - Rsync is now licensed under the GPLv3 or later. - Rsync is now being maintained in a "git" repository instead of CVS (though the old CVS repository still exists for historical access). Several maintenance scripts were updated to work with git. - Generated files are no longer committed into the source repository. The autoconf and autoheader commands are now automatically run during the normal use of "configure" and "make". The latest dev versions of all generated files can also be copied from the samba.org web site (see the prepare-source script's fetch option). - The "patches" directory of diff files is now built from branches in the rsync git repository (branch patch/FOO creates file patches/FOO.diff). This directory is now distributed in a separate separate tar file named rsync-patches-VERSION.tar.gz instead of the main rsync-VERSION.tar.gz. - The proto.h file is now built using a simple perl script rather than a complex awk script, which proved to be more widely compatible. - When running the tests, we now put our per-test temp dirs into a sub- directory named testtmp (which is created, if missing). This allows someone to symlink the testtmp directory to another filesystem (which is useful if the build dir's filesystem does not support ACLs and xattrs, but another filesystem does). - Rsync now has a way of handling protocol-version changes during the development of a new protocol version. This causes any out-of-sync versions to speak an older protocol rather than fail in a cryptic manner. This addition makes it safer to deploy a pre-release version that may interact with the public. This new exchange of sub-version info does not interfere with the {MIN,MAX}_PROTOCOL_VERSION checking algorithm (which does not have enough range to allow the main protocol number to be incremented for every minor tweak in that happens during development). - The csprotocol.txt file was updated to mention the daemon protocol change in the 3.0.0 release.NEWS for rsync 2.6.9 (6 Nov 2006)Protocol: 29 (unchanged)Changes since 2.6.8: BUG FIXES: - If rsync is interrupted via a handled signal (such as SIGINT), it will once again clean-up its temp file from the destination dir. - 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 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 bug when --inplace was combined with a --*-dest option and we update a file's data using an alternate basis file. The code now notices that it needs to copy the matching data from the basis file instead of (wrongly) assuming that it was already present in the file. - Fixed a bug where using --dry-run with a --*-dest option with a path relative to a directory that does not yet exist: the affected option gets its proper path value so that the output of the dry-run is right. - Fixed a bug in the %f logfile escape when receiving files: the destination path is now included in the output (e.g. you can now tell when a user specifies a subdir inside a module). - If the receiving side fails to create a directory, it will now skip trying to update everything that is inside that directory. - 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 even when the file's modify-time doesn't match the server's file. - 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). - 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. - Fixed a bug in the handling of --delete-excluded when using a per-dir merge file: the merge file is now honored on the receiving side, and only its unqualified include/exclude commands are ignored (just as is done for global include/excludes). - Fixed a recent bug where --delete was not working when transferring from the root (/) of the filesystem with --relative enabled. - Fixed a recent bug where an --exclude='*' could affect the root (/) of the filesystem with --relative enabled. - When --inplace creates a file, it is now created with owner read/write permissions (0600) instead of no permissions at all. This avoids a problem continuing a transfer that was interrupted (since --inplace will not update a file that has no write permissions). - If either --remove-source-files or --remove-sent-files is enabled and we are unable to remove the source file, rsync now outputs an error. - Fixed a bug in the daemon's "incoming chmod" rule: newly-created directories no longer get the 'F' (file) rules applied to them. - Fixed an infinite loop bug when a filter rule was rejected due to being overly long. - When the server receives a --partial-dir option from the client, it no longer runs the client-side code that adds an assumed filter rule (since the client will be sending us the rules in the usual manner, and they may have chosen to override the auto-added rule). ENHANCEMENTS: - 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. - 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.) - Made "log file" and "syslog facility" settable on a per-module basis in the daemon's config file. - Added the --remove-source-files option as a replacement for the (now deprecated) --remove-sent-files option. This new option removes all non-dirs from the source directories, even if the file was already up-to-date. This fixes a problem where interrupting an rsync that was using --remove-sent-files and restarting it could leave behind a file that the earlier rsync synchronized, but didn't get to remove. (The deprecated --remove-sent-files is still understood for now, and still behaves in the same way as before.) - Added the option --no-motd to suppress the message-of-the-day output from a daemon when doing a copy. (See the manpage for a caveat.) - Added a new environment variable to the pre-/post-xfer exec commands (in the daemon's config file): RSYNC_PID. This value will be the same in both the pre- and post-xfer commands, so it can be used as a unique ID if the pre-xfer command wants to cache some arg/request info for the post-xfer command. INTERNAL: - Did a code audit using IBM's code-checker program and made several changes, including: replacing most of the strcpy() and sprintf() calls with strlcpy(), snprintf(), and memcpy(), adding a 0-value to an enum that had been intermingling a literal 0 with the defined enum values, silencing some uninitialized memory checks, marking some functions with a "noreturn" attribute, and changing an "if" that could never succeed on some platforms into a pre-processor directive that conditionally compiles the code. - Fixed a potential bug in f_name_cmp() when both the args are a top-level "." dir (which doesn't happen in normal operations). - Changed exit_cleanup() so that it can never return instead of exit. The old code might return if it found the exit_cleanup() function was being called recursively. The new code is segmented so that any recursive calls move on to the next step of the exit-processing. - The macro WIFEXITED(stat) will now be defined if the OS didn't already define it. DEVELOPER RELATED: - 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. The xattrs patch also has some preliminary Mac OS X and FreeBSD compatibility code that various system types to exchange extended file-attributes. - A new diff in the patches dir, fake-root.diff, allows rsync to maintain a backup hierarchy with full owner, group, and device info without actually running as root. It does this using a special extended attribute, so it depends on xattrs.diff (which depends on acls.diff). - The rsync.yo and rsyncd.conf.yo files have been updated to work better with the latest yodl 2.x releases. - Updated config.guess and config.sub to their 2006-07-02 versions. - Updated various files to include the latest FSF address and to have consistent opening comments.NEWS for rsync 2.6.8 (22 Apr 2006)Protocol: 29 (unchanged)Changes since 2.6.7: 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. - 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).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -