Commit | Line | Data |
---|---|---|
60ef8ed1 | 1 | NEWS for rsync 2.6.9 (unreleased) |
3ae6c187 | 2 | Protocol: 29 (unchanged) |
60ef8ed1 | 3 | Changes since 2.6.8: |
36f59b58 | 4 | |
ac1541f4 WD |
5 | BUG FIXES: |
6 | ||
eece5fe3 WD |
7 | - If rsync is interrupted via a handled signal (such as SIGINT), it will |
8 | once again clean-up its temp file from the destination dir. | |
9 | ||
5fdbb87d | 10 | - An rsync daemon that is receiving files with "use chroot = no" no longer |
40f910c4 WD |
11 | sanitizes the symlink target strings (by default). This means that each |
12 | symlink's value will now be accepted (and thus returned) with its symlink | |
13 | info intact. Also, in order to keep things safe, all arg paths and any | |
5bc933a2 WD |
14 | dereferenced symlinks (e.g. via --copy-links or --keep-dirlinks) are |
15 | manually verified to ensure that no symlinks try to escape past the top | |
16 | of the module's path. These changes make a non-chroot daemon behave the | |
17 | same way as a chroot daemon with regard to symlinks, and also avoids a | |
2220ec0a | 18 | potential problem where a pre-existing symlink could have escaped the |
8adc22e3 | 19 | module's hierarchy. See also the new "munge symlinks" daemon setting. |
5fdbb87d | 20 | |
a17e119d WD |
21 | - Fixed an overzealous sanitizing bug in the handling of the --link-dest, |
22 | --copy-dest, and --compare-dest options to a daemon without chroot: if | |
23 | the copy's destination dir is deeper than the top of the module's path, | |
242f6052 | 24 | these options now accept a safe number of parent-dir (../) references |
a17e119d | 25 | (since these options are relative to the destination dir). The old code |
5fdbb87d | 26 | incorrectly chopped off all "../" prefixes for these options, no matter |
45ba206a | 27 | how deep the destination directory was in the module's hierarchy. |
d8bf7ea8 | 28 | |
bdac7621 WD |
29 | - Fixed a bug where a deferred info/error/log message could get sent |
30 | directly to the sender instead of being handled by rwrite() in the | |
31 | generator. This fixes an "unexpected tag 3" fatal error, and should | |
32 | also fix a potential problem where a deferred info/error message from | |
33 | the receiver might bypass the log file and get sent only to the client | |
34 | process. (These problems could only affect an rsync daemon that was | |
35 | receiving files.) | |
8ac47746 | 36 | |
242f6052 WD |
37 | - Fixed a bug where using --dry-run with a --*-dest option with a path |
38 | relative to a directory that does not yet exist: the affected option | |
39 | gets its proper path value so that the output of the dry-run is right. | |
40 | ||
72d1b262 WD |
41 | - Fixed a bug in the %f logfile escape when receiving files: the |
42 | destination path is now included in the output (e.g. you can now tell | |
43 | when a user specifies a subdir inside a module). | |
44 | ||
4c5a2da6 WD |
45 | - If the receiving side fails to create a directory, it will now skip |
46 | trying to update everything that is inside that directory. | |
47 | ||
a17e119d WD |
48 | - If --link-dest is specified with --checksum but without --times, rsync |
49 | will now allow a hard-link to be created to a matching link-dest file | |
eece5fe3 | 50 | even when the file's modify-time doesn't match the server's file. |
08c0cd8a | 51 | |
5fdbb87d | 52 | - The daemon now calls more timezone-using functions prior to doing a |
45ba206a WD |
53 | chroot. This should help some C libraries to generate proper timestamps |
54 | from inside a chrooted daemon (and to not try to access /etc/timezone | |
55 | over and over again). | |
5fdbb87d | 56 | |
5bc933a2 WD |
57 | - Fixed a bug in the handling of an absolute --partial-dir=ABS_PATH option: |
58 | it now deletes an alternate basis file from the partial-dir that was used | |
59 | to successfully update a destination file. | |
60 | ||
40f910c4 WD |
61 | - Fixed a bug in the handling of --delete-excluded when using a per-dir |
62 | merge file: the merge file is now honored on the receiving side, and | |
63 | only its unqualified include/exclude commands are ignored (just as is | |
64 | done for global include/excludes). | |
65 | ||
66 | - Fixed a recent bug where --delete was not working when transferring from | |
67 | the root (/) of the filesystem with --relative enabled. | |
68 | ||
69 | - Fixed a recent bug where an --exclude='*' could affect the root (/) of | |
70 | the filesystem with --relative enabled. | |
71 | ||
dde698c2 WD |
72 | - When --inplace creates a file, it is now created with owner read/write |
73 | permissions (0600) instead of no permissions at all. This avoids a | |
74 | problem continuing a transfer that was interrupted (since --inplace | |
75 | will not update a file that has no write permissions). | |
76 | ||
2edfe522 WD |
77 | - If either --remove-source-files or --remove-sent-files is enabled and we |
78 | are unable to remove the source file, rsync now outputs an error. | |
79 | ||
242f6052 | 80 | - Fixed a bug in the daemon's "incoming chmod" rule: newly-created |
ed4b8da0 WD |
81 | directories no longer get the 'F' (file) rules applied to them. |
82 | ||
ac1541f4 WD |
83 | ENHANCEMENTS: |
84 | ||
051f5df5 WD |
85 | - Added the --log-file=FILE and --log-file-format=FORMAT options. These |
86 | can be used to tell any rsync to output what it is doing to a log file. | |
87 | They work with a client rsync, a non-daemon server rsync (see the man | |
88 | page for instructions), and also allows the overriding of rsyncd.conf | |
89 | settings when starting a daemon. | |
90 | ||
91 | - The --log-format option was renamed to be --out-format to avoid confusing | |
92 | it with affecting the log-file output. (The old option remains as an | |
93 | alias for the new to preserve backward compatibility.) | |
8b3e964d | 94 | |
d2ab094d WD |
95 | - Made "log file" and "syslog facility" settable on a per-module basis in |
96 | the daemon's config file. | |
97 | ||
8adc22e3 | 98 | - Added the "munge symlinks" daemon setting to enable the old-style |
40f910c4 WD |
99 | tweaking of "unsafe" symlinks, but it can now be consistently applied |
100 | regardless of how "use chroot" is set. | |
101 | ||
c2b47e31 WD |
102 | - Added the --remove-source-files option as a replacement for the (now |
103 | deprecated) --remove-sent-files option. This new option removes all | |
104 | non-dirs from the source directories, even if the file was already | |
105 | up-to-date. This fixes a problem where interrupting an rsync that | |
106 | was using --remove-sent-files and restarting it could leave behind | |
107 | a file that the earlier rsync synchronized, but didn't get to remove. | |
108 | (The deprecated --remove-sent-files is still understood for now, and | |
109 | still behaves in the same way as before.) | |
110 | ||
40f910c4 WD |
111 | - Added a new environment variable to the pre-/post-xfer exec commands (in |
112 | the daemon's config file): RSYNC_PID. This value will be the same in | |
113 | both the pre- and post-xfer commands, so it can be used if the pre-xfer | |
114 | command wants to cache some arg/request info for the post-xfer command. | |
8adc22e3 | 115 | |
7c329ec7 WD |
116 | DEVELOPER RELATED: |
117 | ||
d8bf7ea8 WD |
118 | - The acls.diff and xattrs.diff patches have received a bunch of work to |
119 | make them much closer to being acceptable in the main distribution. | |
120 | ||
60ef8ed1 | 121 | - Updated config.guess and config.sub to their 2006-02-23 version. |
d8bf7ea8 WD |
122 | |
123 | - Updated various files to include the latest FSF address and to have | |
124 | consistent opening comments. |