- 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 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.