Wayne Davison [Sat, 16 Mar 2019 16:52:30 +0000 (09:52 -0700)]
Fix zlib CVE-2016-9842.
Wayne Davison [Sat, 16 Mar 2019 16:48:10 +0000 (09:48 -0700)]
Fix zlib CVE-2016-9841.
Wayne Davison [Sat, 16 Mar 2019 16:47:55 +0000 (09:47 -0700)]
Fix zlib CVE-2016-9840.
Wayne Davison [Sat, 16 Mar 2019 16:15:49 +0000 (09:15 -0700)]
Tweak the copyright year.
Wayne Davison [Sat, 16 Mar 2019 16:09:09 +0000 (09:09 -0700)]
Fix --remove-source-files sanity check w/--copy-links the right way.
Fixes bug #10494.
Wayne Davison [Fri, 15 Mar 2019 19:20:55 +0000 (12:20 -0700)]
Handle a run from down inside the checkout tree.
Wayne Davison [Tue, 15 Jan 2019 19:18:36 +0000 (11:18 -0800)]
Improve write-only --sender check & handle 2 new options.
Wayne Davison [Tue, 15 Jan 2019 19:16:50 +0000 (11:16 -0800)]
Update option culling to handle latest changes.
Wayne Davison [Tue, 15 Jan 2019 18:41:42 +0000 (10:41 -0800)]
Use a separate pass-by-value pointer for clarity.
Wayne Davison [Tue, 15 Jan 2019 18:40:18 +0000 (10:40 -0800)]
Avoid warning about leaked mem (didn't affect rsync's pool use).
Wayne Davison [Tue, 15 Jan 2019 18:38:00 +0000 (10:38 -0800)]
Avoid leaving a file open on error return.
Wayne Davison [Tue, 15 Jan 2019 16:51:08 +0000 (08:51 -0800)]
Fix --prealloc to keep file-size 0 when possible.
Wayne Davison [Wed, 9 Jan 2019 20:15:31 +0000 (12:15 -0800)]
Reject --log-file when read-only.
Wayne Davison [Wed, 9 Jan 2019 19:54:34 +0000 (11:54 -0800)]
Improve check for ".." and guard against dash args.
Wayne Davison [Wed, 9 Jan 2019 04:33:58 +0000 (20:33 -0800)]
Save each expanded daemon-config string on first use to
avoid a new alloc on every use (one that was not freed).
Wayne Davison [Wed, 9 Jan 2019 04:30:58 +0000 (20:30 -0800)]
No need to strdup each new section since we stopped using free().
Wayne Davison [Wed, 9 Jan 2019 00:39:48 +0000 (16:39 -0800)]
Avoid a yodl macro warning.
Wayne Davison [Tue, 8 Jan 2019 22:46:41 +0000 (14:46 -0800)]
Make sure that some memory zeroing always happens.
Wayne Davison [Tue, 8 Jan 2019 21:38:19 +0000 (13:38 -0800)]
Avoid a yodl macro warning.
Wayne Davison [Tue, 8 Jan 2019 21:29:18 +0000 (13:29 -0800)]
Fix 2 spelling errors pointed out by bug 13734.
Wayne Davison [Sat, 5 Jan 2019 05:43:50 +0000 (21:43 -0800)]
Avoid a failed test if dirs report 1 hlink (e.g. WSL weirdness).
Wayne Davison [Fri, 4 Jan 2019 23:06:30 +0000 (15:06 -0800)]
Silence fall-through warnings.
Wayne Davison [Sun, 16 Dec 2018 00:52:53 +0000 (16:52 -0800)]
Avoid a potential out-of-bounds read in daemon mode if argc is 0.
Wayne Davison [Tue, 20 Nov 2018 22:17:32 +0000 (14:17 -0800)]
Try to be clearer that --append-verify isn't a general-purpose-copy option.
Wayne Davison [Tue, 20 Nov 2018 22:11:42 +0000 (14:11 -0800)]
Don't force cygwin to solaris ACLs anymore.
Wayne Davison [Tue, 20 Nov 2018 21:44:09 +0000 (13:44 -0800)]
Document how a leading comma changes the gid parsing.
Wayne Davison [Tue, 20 Nov 2018 20:45:36 +0000 (12:45 -0800)]
Fix itemizing of wrong dir name on some --iconv transfers.
Fixes bug #13492.
Wayne Davison [Thu, 14 Jun 2018 22:19:34 +0000 (15:19 -0700)]
Need to mark xattr rules in get_rule_prefix().
This fixes the bug of xattr filters getting sent as a normal filter rule
(since the 'x' was dropped in the prefix).
Wayne Davison [Mon, 26 Mar 2018 02:07:22 +0000 (19:07 -0700)]
Avoid a compiler error/warning about shifting a negative value.
Fixes bug #13268.
Wayne Davison [Sun, 25 Mar 2018 18:02:50 +0000 (11:02 -0700)]
Allow some pre-/post-xfer exec shell restrictions.
Support both RSYNC_SHELL & RSYNC_NO_XFER_EXEC environment variables.
Wayne Davison [Sun, 25 Mar 2018 17:04:14 +0000 (10:04 -0700)]
Prepare the repository for more development.
Wayne Davison [Sun, 28 Jan 2018 23:24:27 +0000 (15:24 -0800)]
Preparing for release of 3.1.3
Wayne Davison [Mon, 15 Jan 2018 19:25:04 +0000 (11:25 -0800)]
Mention nanoseconds change.
Wayne Davison [Mon, 15 Jan 2018 18:52:15 +0000 (10:52 -0800)]
Don't force nanoseconds if a file wasn't transferred or checksummed.
Wayne Davison [Mon, 15 Jan 2018 03:58:02 +0000 (19:58 -0800)]
Preparing for release of 3.1.3pre1
Wayne Davison [Mon, 15 Jan 2018 03:55:07 +0000 (19:55 -0800)]
Tweak copyright date.
Wayne Davison [Mon, 15 Jan 2018 03:51:25 +0000 (19:51 -0800)]
Mention more changes.
Jeriko One [Mon, 20 Nov 2017 22:42:30 +0000 (14:42 -0800)]
Ignore --protect-args when already sent by client
In parse_arguments when --protect-args is encountered the function exits
early. The caller is expected to check protect_args, and recall
parse_arguments setting protect_args to 2. This patch prevents the
client from resetting protect_args during the second pass of
parse_arguments. This prevents parse_arguments returning early the
second time before it's able to sanitize the arguments it received.
Wayne Davison [Sun, 3 Dec 2017 23:49:56 +0000 (15:49 -0800)]
Fix issue with earlier path-check (fixes "make check")
and make a BOOL more explicit.
Jeriko One [Fri, 17 Nov 2017 01:26:03 +0000 (17:26 -0800)]
Check daemon filter against fnamecmp in recv_files().
Jeriko One [Fri, 17 Nov 2017 01:05:42 +0000 (17:05 -0800)]
Sanitize xname in read_ndx_and_attrs.
Jeriko One [Fri, 3 Nov 2017 06:44:19 +0000 (23:44 -0700)]
Check fname in recv_files sooner.
Wayne Davison [Tue, 7 Nov 2017 22:01:13 +0000 (14:01 -0800)]
More archaic-checksum improvements. This makes the len vars clearer
and ensures that only the flist code gets the 2-byte digest len.
Wayne Davison [Tue, 7 Nov 2017 21:32:10 +0000 (13:32 -0800)]
Use the right sum len.
Wayne Davison [Sun, 5 Nov 2017 19:55:12 +0000 (11:55 -0800)]
Replace startdit|enddit with description for newer yodl.
Fixes bug 13115.
Wayne Davison [Sun, 5 Nov 2017 19:50:52 +0000 (11:50 -0800)]
Add missing closing paren that Paul Slootman pointed out.
Wayne Davison [Sun, 5 Nov 2017 19:33:15 +0000 (11:33 -0800)]
Enforce trailing \0 when receiving xattr name values.
Fixes bug 13112.
Wayne Davison [Mon, 30 Oct 2017 16:11:16 +0000 (09:11 -0700)]
Use full MD4 len for archaic protocol auth.
Wayne Davison [Sun, 29 Oct 2017 22:52:46 +0000 (15:52 -0700)]
Don't overflow an allocated dest buf when input path is empty.
Fixes bug 13105.
Wayne Davison [Sun, 29 Oct 2017 22:22:22 +0000 (15:22 -0700)]
Add an extra argc validation in do_server_sender().
Fixes bug 13104.
Wayne Davison [Wed, 25 Oct 2017 03:44:37 +0000 (20:44 -0700)]
Only allow a modern checksum method for passwords.
Wayne Davison [Wed, 25 Oct 2017 03:42:41 +0000 (20:42 -0700)]
Don't forget to tweak sum_update().
Wayne Davison [Tue, 24 Oct 2017 22:40:37 +0000 (15:40 -0700)]
Handle archaic checksums properly.
Wayne Davison [Tue, 10 Oct 2017 00:13:00 +0000 (17:13 -0700)]
Set our_uid & our_gid values when changed by the daemon.
Fixes bug 10719.
Wayne Davison [Sun, 8 Oct 2017 16:30:18 +0000 (09:30 -0700)]
Mention --link-dest limit.
Wayne Davison [Sun, 8 Oct 2017 16:18:10 +0000 (09:18 -0700)]
Mention refusing delete for write-only.
Wayne Davison [Sun, 8 Oct 2017 15:52:33 +0000 (08:52 -0700)]
Mention -O is forced, not just implied.
Wayne Davison [Sun, 8 Oct 2017 15:39:35 +0000 (08:39 -0700)]
Fix double-fuzzy + link-dest issue.
Fixes bug 11866.
Wayne Davison [Sun, 8 Oct 2017 00:54:03 +0000 (17:54 -0700)]
Fix possible buffer overrun for some large name_len values.
Fixes bug 12568.
Wayne Davison [Mon, 4 Sep 2017 21:20:16 +0000 (14:20 -0700)]
Add "daemon chroot|uid|gid" parameters.
This allows the daemon to run chrooted as any uid+gid you like
(prior to the transfer possibly changing the chroot and/or the
uid+gid further). Based on the patch in #12817.
Wayne Davison [Thu, 31 Aug 2017 15:22:14 +0000 (08:22 -0700)]
Add nanosecond mtime support for Mac OS X.
Slightly tweaked the patch contributed by Heikki Lindholm.
Wayne Davison [Sat, 29 Apr 2017 18:07:39 +0000 (11:07 -0700)]
Add "syslog tag" to rsync daemon config.
Wayne Davison [Mon, 20 Feb 2017 19:04:06 +0000 (11:04 -0800)]
Don't allow --daemon or --server alias via popt.
Fixes bug 12576.
Wayne Davison [Mon, 23 Jan 2017 00:01:45 +0000 (16:01 -0800)]
Add a way to specify xattr name filtering.
Wayne Davison [Sun, 22 Jan 2017 23:44:18 +0000 (15:44 -0800)]
Join some lines.
Wayne Davison [Sun, 22 Jan 2017 23:42:36 +0000 (15:42 -0800)]
Get rid of some superfluous double-quotes in error messages.
Wayne Davison [Mon, 31 Oct 2016 16:06:50 +0000 (09:06 -0700)]
Fix extern of preallocated_len w/o SUPPORT_PREALLOCATION.
Wayne Davison [Sat, 29 Oct 2016 21:47:58 +0000 (14:47 -0700)]
More fixes for --progress quirks.
This patch avoids inconsistent evaluation of options in the
show_filelist_p() function by turning it into a var. We
also avoid setting "output_needs_newline" if --quiet was
specified.
Wayne Davison [Sat, 29 Oct 2016 21:33:44 +0000 (14:33 -0700)]
We need a LF after filelist-progress with a CR.
Fixes bug 12367.
Wayne Davison [Sat, 15 Oct 2016 18:13:28 +0000 (11:13 -0700)]
Use S_BLKSIZE when multiplying st_blocks.
Wayne Davison [Mon, 10 Oct 2016 18:49:50 +0000 (11:49 -0700)]
Support --sparse combined with --preallocate or --inplace.
The new code tries to punch holes in the destination file using newer
Linux fallocate features. It also supports a --whole-file + --sparse +
--inplace copy on any filesystem by truncating the destination file.
Stefan Metzmacher [Fri, 22 Jul 2016 17:46:46 +0000 (19:46 +0200)]
xattrs: maintain a hashtable in order to speed up find_matching_xattr()
As a testcase I've used one directory on gpfs with
1000000 files,
each with an xattr called 'name$i' having a value of 'value$i'.
So we also have
1000000 unique xattrs. The source and dest directories
are already in sync before. So the rsync command is basically a noop,
just verifying that everything is already in sync.
The results before this patchset are:
[gpfs]# time rsync -a -P -X -q source-xattr/ dest-with-xattr/
real 8m46.191s
user 6m29.016s
sys 0m24.883s
[gpfs]# time rsync -a -P -q source-xattr/ dest-without-xattr/
real 1m58.462s
user 0m0.957s
sys 0m11.801s
With the patchset I got:
[gpfs]# time /gpfs/rsync.install/bin/rsync -a -P -X -q source-xattr/ dest-with-xattr/
real 2m4.150s
user 0m1.917s
sys 0m17.077s
[gpfs]# time /gpfs/rsync.install/bin/rsync -a -P -q source-xattr/ dest-without-xattr/
real 1m59.534s
user 0m0.924s
sys 0m11.599s
It means the time in userspace dropped from 6m29.016s down to 0m1.917s!
Without -X we get ~ 0m0.9s with or without the patch.
Part of a patchset for bug 5324.
Stefan Metzmacher [Fri, 22 Jul 2016 16:35:18 +0000 (18:35 +0200)]
hashtable: add hashlittle() from lookup3.c, by Bob Jenkins
Part of a patchset for bug 5324.
Stefan Metzmacher [Fri, 22 Jul 2016 16:32:04 +0000 (18:32 +0200)]
xattrs: introduce a rsync_xa_list struct as layer between two nested item_lists
We have the global 'item_list rsync_xal_l', this maintains an array
of rsync_xa_list structure, one per file.
Each rsync_xa_list structure maintains an array of rsync_xa structure,
while each represent a single xattr with name and value.
Part of a patchset for bug 5324.
Stefan Metzmacher [Fri, 22 Jul 2016 16:14:40 +0000 (18:14 +0200)]
xattrs: let rsync_xal_store() return ndx.
Part of a patchset for bug 5324.
Stefan Metzmacher [Fri, 22 Jul 2016 12:43:27 +0000 (14:43 +0200)]
xattrs: add const to empty_xattr
Part of a patchset for bug 5324.
Greg Whiteley [Wed, 20 Jul 2016 07:13:56 +0000 (17:13 +1000)]
Makefile: rounding.h generation requires proto.h via h
Bug 12029 - Makefile missing dep gives parallel race for rounding.h
Signed-off-by: Greg Whiteley <greg.whiteley@gmail.com>
Wayne Davison [Sun, 26 Jun 2016 18:46:18 +0000 (11:46 -0700)]
Fix "could not find xattr #1" errors.
The abbreviated-xattr code can get requests that are not in the same
order as the xattr list, so we need to support wrap-around scanning
of the available xattrs. Fixes bug 6590.
Wayne Davison [Sat, 4 Jun 2016 18:53:33 +0000 (11:53 -0700)]
Fix path check when prior_dir_file is NULL.
Wayne Davison [Sat, 7 May 2016 22:42:20 +0000 (15:42 -0700)]
Improve the top-level section on include/exclude traversal.
This is my edit of some suggestions by Karl O. Pinc.
Wayne Davison [Sun, 1 May 2016 23:32:45 +0000 (16:32 -0700)]
Add --checksum-choice option to choose the checksum algorithms.
Wayne Davison [Sun, 1 May 2016 23:29:34 +0000 (16:29 -0700)]
Tweak indentation only.
Wayne Davison [Sun, 17 Apr 2016 23:31:57 +0000 (16:31 -0700)]
If a backup fails (e.g. full disk) rsync should fail.
Fixes bug 11668.
Wayne Davison [Sun, 17 Apr 2016 23:07:25 +0000 (16:07 -0700)]
Output "UNKNOWN" if starttime or endtime is -1.
Fixes bug 11382.
Wayne Davison [Sun, 17 Apr 2016 22:53:11 +0000 (15:53 -0700)]
Support only splitting users/groups on commas.
Fixes bug 11817.
Wayne Davison [Sun, 17 Apr 2016 18:43:46 +0000 (11:43 -0700)]
Tweak non-fatal output when man pages cannot be created.
Wayne Davison [Sun, 17 Apr 2016 18:20:38 +0000 (11:20 -0700)]
Fix use of obsolete compile macro.
Fixes bug 11813.
Wayne Davison [Sun, 17 Apr 2016 18:06:58 +0000 (11:06 -0700)]
Only output about new backup dirs when requested.
Fixes bug 11812.
Wayne Davison [Sun, 31 Jan 2016 22:40:47 +0000 (14:40 -0800)]
Fix/improve the sort functions.
Fixes bug 11704.
Wayne Davison [Sun, 24 Jan 2016 19:12:38 +0000 (11:12 -0800)]
Add support for comparing nanoseconds on the receiver.
This patch adds the ability to specify --modify-window=-1 (aka -@-1) to
ask rsync to compare files with the full nanosecond timestamps. The
default is still -@0 for the moment, which ignores nanoseconds in time
comparisons. Changing the default to -1 would cause a copy from ext4 to
ext3 to constantly compare as different, or a copy there and back again
to do a full copy as it zeroed all the nanosecond times. Such a change
might be too much of a functional difference for things like backup
solutions to handle without a warning period. The current plan is to
support nanosecond comparisons for those that want them, and possibly
change the default window value from 0 to -1 at some point in the
future.
Wayne Davison [Sun, 24 Jan 2016 19:12:24 +0000 (11:12 -0800)]
Prepare the repository for more development.
Wayne Davison [Thu, 24 Dec 2015 21:09:47 +0000 (13:09 -0800)]
Fix a tweak that should have been untweaked.
Wayne Davison [Mon, 21 Dec 2015 20:00:49 +0000 (12:00 -0800)]
Preparing for release of 3.1.2
Wayne Davison [Mon, 21 Dec 2015 19:56:24 +0000 (11:56 -0800)]
Improve the "use chroot" & "numeric ids" info a bit more.
Wayne Davison [Mon, 21 Dec 2015 18:54:02 +0000 (10:54 -0800)]
Improve the comment a bit more.
Wayne Davison [Sat, 19 Dec 2015 00:09:58 +0000 (16:09 -0800)]
Fix rule for out-of-tree builds.
Fixes bug 11635.
Wayne Davison [Fri, 18 Dec 2015 22:46:28 +0000 (14:46 -0800)]
Don't allow an empty flag name to --info & --debug.
Wayne Davison [Fri, 18 Dec 2015 22:38:10 +0000 (14:38 -0800)]
Document expand_item_list's args & make sure incr==0 works OK.
Wayne Davison [Sat, 5 Dec 2015 19:10:24 +0000 (11:10 -0800)]
Fix return of stat info from try_dests_reg().
The try_dests_reg() function could sometimes tweak the stat struct's
info when it should have been left unchanged. This fixes bug 11545
(where an ACL check of a file that was mistakenly thought to be a
directory failed).
Wayne Davison [Sun, 13 Sep 2015 23:15:17 +0000 (16:15 -0700)]
Add -wo option for write-only rrsync mode.