Make sure cmp_time() doesn't mess up due to a time_t overflow.
[rsync.git] / NEWS
1 NEWS for rsync 3.1.1 (UNRELEASED)
2 Protocol: 31 (unchanged)
3 Changes since 3.1.0:
4
5   BUG FIXES:
6
7     - If the receiver gets bogus filenames from the sender (an unexpected
8       leading slash or a ".." infix dir), exit with an error.  This prevents a
9       malicious sender from trying to inject filenames that would affect an
10       area outside the destination directories.
11
12     - Fixed a failure to remove the partial-transfer temp file when interrupted
13       (and rsync is not saving the partial files).
14
15     - Changed the chown/group/xattr-set order to avoid losing some security-
16       related xattr info (that would get cleared by a chown).
17
18     - Fixed a bug in the xattr-finding code that could make a non-root-run
19       receiver not able to find some xattr numbers.
20
21     - Fixed a bug in the early daemon protocol where a timeout failed to be
22       honored (e.g. if the remote side fails to send us the initial protocol
23       greeting).
24
25     - Fixed unintended inclusion of commas in file numbers in the daemon log.
26
27     - We once again send the 'f' sub-flag (of -e) to the server side so it
28       knows that we can handle incremental-recursion directory errors properly
29       in older protocols.
30
31     - Fixed an issue with too-aggressive keep-alive messages causing a problem
32       for older rsync versions early in the transfer.
33
34     - Fixed an incorrect message about backup-directory-creation when using
35       --dry-run and the backup dir is not an absolute path.
36
37     - Fixed a bug where a failed deletion and/or a failed sender-side removal
38       would not affect the exit code.
39
40     - Fixed a bug that caused a failure when combining --delete-missing-args
41       with --xattrs and/or --acls.
42
43     - Fixed a strange dir_depth assertion error that was caused by empty-dir
44       removals and/or duplicate files in the transfer.
45
46     - Fixed a problem with --info=progress2's output stats where rsync would
47       only update the stats at the end of each file's transfer.  It now uses
48       the data that is flowing for the current file, making the stats more
49       accurate and less jumpy.
50
51     - Fixed an itemize bug that affected the combo of --link-dest, -X, and -n.
52
53     - Fixed a problem with delete messages not appearing in the log file when
54       the user didn't use --verbose.
55
56     - Improve chunked xattr reading for OS X.
57
58     - Removed an attempted hard-link xattr optimization that was causing a
59       transfer failure.  This removal is flagged in the compatibility code, so
60       if a better fix can be discovered, we have a way to flip it on again.
61
62     - Fixed a bug when the receiver is not configured to be able to hard link
63       symlimks/devices/special-file items but the sender sent some of these
64       items flagged as hard-linked.
65
66     - We now generate a better error if the buffer overflows in do_mknod().
67
68     - Fixed a problem reading more than 16 ACLs on some OSes.
69
70     - Fixed the reading of the secrets file to avoid an infinite wait when
71       the username is missing.
72
73     - Fixed a parsing problem in the --usermap/--groupmap options when using
74       MIN-MAX numbers.
75
76     - Switched Cygwin back to using socketpair "pipes" to try to speed it up.
77
78     - Added knowledge of a few new options to rrsync.
79
80   ENHANCEMENTS:
81
82     - Tweaked the temp-file naming when --temp-dir=DIR is used: the temp-file
83       names will not get a '.' prepended.
84
85     - Added support for a new-compression idiom that does not compress all the
86       matching data in a transfer.  This can help rsync to use less cpu when a
87       transfer has a lot of matching data, and also makes rsync compatible with
88       a non-bundled zlib.  See the --new-compress and --old-compress options in
89       the manpage.
90
91     - Added the support/rsync-no-vanished wrapper script.
92
93     - Made configure more prominently mention when we failed to find yodl (in
94       case the user wants to be able to generate manpages from *.yo files).
95
96     - Have manpage mention how a daemon's max-verbosity setting affects info
97       and debug options.  Also added more clarification on backslash removals
98       for excludes that contain wildcards.
99
100     - Have configure check if for the attr lib (for getxattr) for those systems
101       that need to link against it explicitly.
102
103     - Change the early dir-creation logic to only use that idiom in an
104       inc-recursive copy that is preserving directory times. e.g. using
105       --omit-dir-times will avoid these early directories being created.
106
107     - Fix a bug in cmp_time() that would return a wrong result if the 2 times
108       differed by an amount greater than what a time_t can hold.
109
110   DEVELOPER RELATED:
111
112     - We now include an example systemd file (in packaging/systemd).
113
114     - Tweaked configure to make sure that any intended use of the included popt
115       and/or zlib code is put early in the CFLAGS.