- - The setting of flist->high in clean_flist() was wrong for an empty list.
- This could cause flist_find() to crash in certain rare circumstances
- (e.g. if just the right directory setup was around when --fuzzy was
- combined with --link-dest).
-
- - The outputting of hard-linked files when verbosity was > 1 was not right:
- without -i it would output the name of each hard-linked file as though
- it had been changed (it now outputs a "is hard linked" message for the
- file); with -i it would output all dots for the unchanged attributes of
- a hard-link (it now changes those dots to spaces, as is done for other
- totally unchanged items).
-
- - When backing up a changed symlink or device, get rid of any old backup
- item so that we don't get an "already exists" error.
-
- - A couple places that were comparing a local and a remote modification-
- time were not honoring the --modify-window option.
-
- - Fixed a really old, minor bug that could cause rsync to warn about being
- unable to mkdir() a path that ends in "/." because it just created the
- directory (required --relative, --no-implied-dirs, a source path that
- ended in either a trailing slash or a trailing "/.", and a non-existing
- destination dir to tickle the bug in a recent version).
-
- - If the user specifies a remote-host for both the source and destination,
- we now output a syntax error rather than trying to open the destination
- hostspec as a filename.
+ - Fixed the sanitizing of acceptable ../ dirs in 2 cases where an rsync
+ daemon is receiving files when "use chroot" is not enabled and the
+ destination dir is not at the top of the module's path: both the value
+ of a symlink and the arg of the --FOO-dest options (i.e. --link-dest,
+ --copy-dest, and --compare-dest) now know how deep the destination dir
+ is in the module, and allow a safe number of ../ references instead of
+ preventing the references from leaving the destination hierarchy (use
+ the age-old --safe-links for that behavior).