rsync.git
2 years agoMake --chown|--usermap|--groupmap imply -o|-g (as appropriate).
Wayne Davison [Wed, 20 Oct 2021 04:01:58 +0000 (21:01 -0700)]
Make --chown|--usermap|--groupmap imply -o|-g (as appropriate).

2 years agoAllow a "%scope" suffix on the client's ipv6 addr.
Wayne Davison [Sun, 17 Oct 2021 20:35:29 +0000 (13:35 -0700)]
Allow a "%scope" suffix on the client's ipv6 addr.
Hopefully fixes bug #239.

2 years agoLinux: Handle protected_regular in inplace writes (#241)
Achim Leitner [Sun, 17 Oct 2021 20:00:24 +0000 (22:00 +0200)]
Linux: Handle protected_regular in inplace writes (#241)

The Linux fs.protected_regular sysctl setting could cause rsync to fail to write a file in-place with the O_CREAT flag set, so the code now tries an open without O_CREAT when it might help to avoid an EACCES error.  A testsuite script is included (and slightly improved by Wayne to ensure that it outputs a SKIP when fs.protected_regular is turned off).

2 years agoAdd more skipped verifications. [buildall]
Wayne Davison [Sun, 17 Oct 2021 19:40:24 +0000 (12:40 -0700)]
Add more skipped verifications. [buildall]

2 years agoTweak output about skipped tests.
Wayne Davison [Sun, 17 Oct 2021 18:56:58 +0000 (11:56 -0700)]
Tweak output about skipped tests.

2 years agoChange RSYNX_MAX_SKIPPED to RSYNC_EXPECT_SKIPPED.
Wayne Davison [Sun, 17 Oct 2021 18:32:06 +0000 (11:32 -0700)]
Change RSYNX_MAX_SKIPPED to RSYNC_EXPECT_SKIPPED.

2 years agoA couple minor tweaks.
Wayne Davison [Wed, 13 Oct 2021 17:39:44 +0000 (10:39 -0700)]
A couple minor tweaks.

2 years agoWe need stat memcpy.
Wayne Davison [Sun, 10 Oct 2021 21:01:59 +0000 (14:01 -0700)]
We need stat memcpy.

2 years agoImprove --omit-dir-times & --omit-link-times
Wayne Davison [Sun, 10 Oct 2021 20:32:19 +0000 (13:32 -0700)]
Improve --omit-dir-times & --omit-link-times

The code now better handles skipping time setting on dirs and/or links
when --atimes and/or --crtimes is specified without --times.

2 years agoTweak atime/crtime code a bit more.
Wayne Davison [Sun, 10 Oct 2021 18:45:14 +0000 (11:45 -0700)]
Tweak atime/crtime code a bit more.

2 years agoAvoid spurious warning about "code" var not being initialized.
Wayne Davison [Sun, 10 Oct 2021 17:04:54 +0000 (10:04 -0700)]
Avoid spurious warning about "code" var not being initialized.

2 years agoUnify on "path" vs "fname" arg naming.
Wayne Davison [Sun, 10 Oct 2021 16:53:35 +0000 (09:53 -0700)]
Unify on "path" vs "fname" arg naming.

2 years agoChange do_lchmod() back to a swtich with some better ENOTSUP & ENOSYS logic.
Wayne Davison [Sun, 10 Oct 2021 16:20:13 +0000 (09:20 -0700)]
Change do_lchmod() back to a swtich with some better ENOTSUP & ENOSYS logic.

2 years agoSome packaging improvements.
Wayne Davison [Sun, 3 Oct 2021 19:02:58 +0000 (12:02 -0700)]
Some packaging improvements.

2 years agoEnable --atimes on macOS.
Wayne Davison [Sat, 2 Oct 2021 17:16:58 +0000 (10:16 -0700)]
Enable --atimes on macOS.

2 years agoCheck ro in set_create_time() for Cygwin too.
Wayne Davison [Sat, 2 Oct 2021 18:39:41 +0000 (11:39 -0700)]
Check ro in set_create_time() for Cygwin too.

2 years agoAvoid an issue where the size of st_dev != dev_t.
Wayne Davison [Fri, 1 Oct 2021 21:21:26 +0000 (14:21 -0700)]
Avoid an issue where the size of st_dev != dev_t.

2 years agoAlways run `mkgitver` prior to a build
Wayne Davison [Fri, 1 Oct 2021 21:13:00 +0000 (14:13 -0700)]
Always run `mkgitver` prior to a build

Some hosts were not running `mkgitver` when they should, so tweak the
script to only update the timestamp when the file's data changes and
then always run the script when performing a build.

2 years agoAdd more NEWS updates.
Wayne Davison [Fri, 1 Oct 2021 20:40:07 +0000 (13:40 -0700)]
Add more NEWS updates.

2 years agoChange do_chmod to always try lchmod() first (when possible).
Wayne Davison [Fri, 1 Oct 2021 20:28:57 +0000 (13:28 -0700)]
Change do_chmod to always try lchmod() first (when possible).

2 years agoAdd a couple more options to rrsync.
Wayne Davison [Fri, 1 Oct 2021 20:24:51 +0000 (13:24 -0700)]
Add a couple more options to rrsync.

2 years agoAllow the script to be run from inside the packaging dir.
Wayne Davison [Fri, 1 Oct 2021 20:23:30 +0000 (13:23 -0700)]
Allow the script to be run from inside the packaging dir.

2 years agoReduce memory usage (#235)
Jindřich Makovička [Fri, 1 Oct 2021 19:04:59 +0000 (21:04 +0200)]
Reduce memory usage (#235)

In 2004, an allocation optimization has been added to the file
list handling code, that preallocates 32k of file_struct pointers
in a file_list. This optimization predates the incremental
recursion feature, for which it is not appropriate anymore. When
copying a tree containing a large number of small directories,
using the incremental recursion, rsync allocates many short
file_lists. Suddenly, the unused file_struct pointers can easily
take 90-95% of the memory allocated by rsync.

2 years agoTweak SIMD & ASM option defaults.
Wayne Davison [Mon, 27 Sep 2021 18:09:43 +0000 (11:09 -0700)]
Tweak SIMD & ASM option defaults.

2 years agoMake cygwin's curl grab the gist file. [buildall]
Wayne Davison [Mon, 27 Sep 2021 17:33:00 +0000 (10:33 -0700)]
Make cygwin's curl grab the gist file. [buildall]

2 years agoAdd --fsync option (promoted from patches).
Wayne Davison [Mon, 27 Sep 2021 17:30:00 +0000 (10:30 -0700)]
Add --fsync option (promoted from patches).

2 years agoHelp avoid a --sparse --inplace bug in older rsyncs.
Wayne Davison [Mon, 27 Sep 2021 17:16:15 +0000 (10:16 -0700)]
Help avoid a --sparse --inplace bug in older rsyncs.

2 years agoFix typo.
Wayne Davison [Mon, 27 Sep 2021 02:27:46 +0000 (19:27 -0700)]
Fix typo.

2 years agoDon't allow a broken samba host to cause gensend to fail.
Wayne Davison [Mon, 27 Sep 2021 02:11:24 +0000 (19:11 -0700)]
Don't allow a broken samba host to cause gensend to fail.

2 years agoAllow $host_cpu to be amd64 in addition to x86_64.
Wayne Davison [Mon, 27 Sep 2021 02:11:20 +0000 (19:11 -0700)]
Allow $host_cpu to be amd64 in addition to x86_64.

2 years agoRename cmdormsg -> cmd-or-msg.
Wayne Davison [Mon, 27 Sep 2021 01:55:46 +0000 (18:55 -0700)]
Rename cmdormsg -> cmd-or-msg.

2 years agoFix a couple variable typos.
Wayne Davison [Mon, 27 Sep 2021 01:50:32 +0000 (18:50 -0700)]
Fix a couple variable typos.

2 years agox86-64 AVX2 assemby implemenation of get_checksum1() (#174)
Shark64 [Mon, 27 Sep 2021 01:16:55 +0000 (03:16 +0200)]
x86-64 AVX2 assemby implemenation of get_checksum1() (#174)

2 years agoconfigure improvements
Wayne Davison [Mon, 27 Sep 2021 01:10:45 +0000 (18:10 -0700)]
configure improvements

- Make SIMD & ASM only default to enabled on linux for now (due to
  FreeBSD & MacOS issues).
- Improve the enable/disable help messages so that they don't look
  wrong when the opposite --enable-X/--disable-X arg is specified.

2 years agoTweak a comment.
Wayne Davison [Mon, 27 Sep 2021 00:23:33 +0000 (17:23 -0700)]
Tweak a comment.

2 years agoMinor cleanup (#214)
a1346054 [Sun, 26 Sep 2021 23:57:55 +0000 (23:57 +0000)]
Minor cleanup (#214)

- use `grep -E` and `grep -F` (`egrep` and `fgrep` are non-standard)
- use same hashbang style for all test scripts
- use explicit comparisons in test scripts
- remove redundant ; from test scripts
- make test script not executable, just like all the other scripts
- unify codestyle across all test scripts
- make openssl license exception clearer by having it at the top
- use modern links in COPYING. The text now matches:
  https://www.gnu.org/licenses/gpl-3.0.txt
- fix typo

2 years agoadd ssl/tls key option (#216)
Fabian H [Sun, 26 Sep 2021 23:44:00 +0000 (01:44 +0200)]
add ssl/tls key option (#216)

Improves rsync-ssl configurability.

2 years agoFix spelling of nanosecond (#220)
zgpmax [Sun, 26 Sep 2021 23:42:02 +0000 (00:42 +0100)]
Fix spelling of nanosecond (#220)

Hyphenating the word just makes it harder to find when nanosecond support was added.

2 years agoEventually add write permission when setting extended attributes (#212)
TomasKorbar [Sun, 26 Sep 2021 23:34:15 +0000 (01:34 +0200)]
Eventually add write permission when setting extended attributes (#212)

* Eventually add write permission when setting extended attributes

When we need to set extended atributes of file which does not
allow write then temporarily add write permission and after
attributes are set, remove it again.

Resolves #208

Co-authored-by: Wayne Davison <wayne@opencoder.net>
2 years agoRemove duplicate include.
Wayne Davison [Sun, 26 Sep 2021 23:28:35 +0000 (16:28 -0700)]
Remove duplicate include.

2 years agoAdd gist update logic to gensend target.
Wayne Davison [Sun, 26 Sep 2021 19:32:47 +0000 (12:32 -0700)]
Add gist update logic to gensend target.

2 years agoMake use of a git gist instead of the samba website.
Wayne Davison [Sun, 26 Sep 2021 19:09:17 +0000 (12:09 -0700)]
Make use of a git gist instead of the samba website.

2 years agoAdd missing INET6 check.
Wayne Davison [Sun, 26 Sep 2021 18:24:24 +0000 (11:24 -0700)]
Add missing INET6 check.

2 years agoconfigure.ac: Test IPv6 compatibility instead of relying on library probes (#206)
Jonathan Davies [Sun, 26 Sep 2021 18:25:06 +0000 (19:25 +0100)]
configure.ac: Test IPv6 compatibility instead of relying on library probes (#206)

Legacy configure behaviour was to detect IPv6 support through known IPv6
capable version of common standard libraries. Now: it runs a POSIX test
to determine if IPv6 is usable (in case it has not been disabled).

Patch originally from Pierre-Olivier Mercier <nemunaire@nemunai.re>.

Signed-off-by: Jonathan Davies <jpds@protonmail.com>
2 years agoadd missing - in certopt (#210)
Fabian H [Mon, 16 Aug 2021 22:52:39 +0000 (00:52 +0200)]
add missing - in certopt (#210)

otherwise openssl will give an error and not accept is as argument

2 years agoAdd test and fix regression for --delay-updates (#192) (#204)
Natanael Copa [Wed, 28 Jul 2021 16:10:55 +0000 (18:10 +0200)]
Add test and fix regression for --delay-updates (#192) (#204)

Fixes regression introduced with commit 3a7bf54ad520 (A resumed
partial-dir file is transferred in-place.)

2 years agoUpdate the options in rrsync.
Wayne Davison [Fri, 9 Jul 2021 18:57:35 +0000 (11:57 -0700)]
Update the options in rrsync.

2 years agoSupport --crtimes on Cygwin.
Wayne Davison [Fri, 9 Jul 2021 01:47:21 +0000 (18:47 -0700)]
Support --crtimes on Cygwin.

2 years agoMake whole-line comments clearer.
Wayne Davison [Sun, 4 Jul 2021 19:42:51 +0000 (12:42 -0700)]
Make whole-line comments clearer.

2 years agoSet whole_file = 0 when whole_file < 0. Fixes issue 114.
Wayne Davison [Sun, 4 Jul 2021 19:15:16 +0000 (12:15 -0700)]
Set whole_file = 0 when whole_file < 0.  Fixes issue 114.

2 years agoNeed to also check stdout_format_has_i in some INFO-NAME checks.
Wayne Davison [Sun, 27 Jun 2021 17:16:28 +0000 (10:16 -0700)]
Need to also check stdout_format_has_i in some INFO-NAME checks.

2 years agoFix compiling without ftruncate.
Wayne Davison [Sat, 26 Jun 2021 19:10:08 +0000 (12:10 -0700)]
Fix compiling without ftruncate.

2 years agofix man page typo
juleslagarde [Thu, 17 Jun 2021 05:39:45 +0000 (07:39 +0200)]
fix man page typo

Fix a copy/paste error that should be referring to deletions.

3 years agoUnset DISPLAY in environment.
Wayne Davison [Sat, 1 May 2021 16:00:03 +0000 (09:00 -0700)]
Unset DISPLAY in environment.

Without a DISPLAY var, ssh won't try to forward X11 when making an
ssh connection.  This patch also makes use of setenv() and unsetenv()
if they are available.

3 years agoUpdated GLIBC check in configure.ac (#175)
Bart S [Sat, 1 May 2021 15:23:25 +0000 (17:23 +0200)]
Updated GLIBC check in configure.ac (#175)

The current GLIBC check does not consider we may see glibc 3.0 in the future.

3 years agoFix plural of --group option.
Wayne Davison [Sun, 4 Apr 2021 04:09:14 +0000 (21:09 -0700)]
Fix plural of --group option.

3 years agoFix git-set-file-times's handling of staged changed files.
Wayne Davison [Mon, 15 Mar 2021 16:02:00 +0000 (09:02 -0700)]
Fix git-set-file-times's handling of staged changed files.

3 years agoSwitch to using image_family for Cirrus CI.
Wayne Davison [Wed, 3 Mar 2021 03:16:52 +0000 (19:16 -0800)]
Switch to using image_family for Cirrus CI.

3 years agoInstall bash on FreeBSD CI.
Wayne Davison [Wed, 3 Mar 2021 03:09:23 +0000 (19:09 -0800)]
Install bash on FreeBSD CI.

3 years agoUpdate FreeBSD CI to 12.2.
Wayne Davison [Wed, 3 Mar 2021 03:02:08 +0000 (19:02 -0800)]
Update FreeBSD CI to 12.2.

3 years agoSee if explicitly installing m4 gets FreeBSD CI a newer gm4 version.
Wayne Davison [Tue, 2 Mar 2021 22:13:54 +0000 (14:13 -0800)]
See if explicitly installing m4 gets FreeBSD CI a newer gm4 version.

3 years agoAllow the generator's msg iobuf to get bigger too.
Wayne Davison [Thu, 25 Feb 2021 20:28:18 +0000 (12:28 -0800)]
Allow the generator's msg iobuf to get bigger too.

3 years agoRename util.c to util1.c
Wayne Davison [Thu, 25 Feb 2021 17:13:52 +0000 (09:13 -0800)]
Rename util.c to util1.c

Fixes an issue where the Makefile's glob of *.c could sort util.c &
util2.c in an order that depends on the current collation setting.

3 years agoA few Cygwin build tweaks. [buildall]
Wayne Davison [Wed, 10 Feb 2021 16:06:47 +0000 (08:06 -0800)]
A few Cygwin build tweaks. [buildall]

3 years agoStop checking for gmake in build scripts
Wayne Davison [Fri, 5 Feb 2021 04:46:00 +0000 (20:46 -0800)]
Stop checking for gmake in build scripts

Since a non-cygwin gmake trips up the github cygwin action, let's just
require that the user put a good "make" early on their path (a simple
`ln -s `which gmake` ~/bin/make` with the right $PATH works fine).

3 years agoAdd optional netgroup.h include for NetBSD hosts.
Wayne Davison [Tue, 2 Feb 2021 00:31:28 +0000 (16:31 -0800)]
Add optional netgroup.h include for NetBSD hosts.

3 years agoSome pip-releated tweaking.
Wayne Davison [Mon, 1 Feb 2021 17:00:06 +0000 (09:00 -0800)]
Some pip-releated tweaking.

3 years agoAdd a link to the man page to the README.
Wayne Davison [Mon, 1 Feb 2021 16:47:44 +0000 (08:47 -0800)]
Add a link to the man page to the README.

3 years agoCheck for netinet/ip.h after including netinet/in.h.
Wayne Davison [Sun, 31 Jan 2021 19:11:07 +0000 (11:11 -0800)]
Check for netinet/ip.h after including netinet/in.h.

3 years agoA couple "make" tweaks.
Wayne Davison [Sun, 31 Jan 2021 19:10:38 +0000 (11:10 -0800)]
A couple "make" tweaks.

3 years agoPut 0 in parens to silence an Xcode warning.
Wayne Davison [Sun, 31 Jan 2021 17:28:34 +0000 (09:28 -0800)]
Put 0 in parens to silence an Xcode warning.

3 years agoAdd `--with-nobody-user=FOO` configure option.
Wayne Davison [Fri, 15 Jan 2021 15:38:49 +0000 (07:38 -0800)]
Add `--with-nobody-user=FOO` configure option.

3 years agoCygwin python3 is now 3.8 w/o commonmark lib. [buildall]
Wayne Davison [Fri, 1 Jan 2021 17:29:07 +0000 (09:29 -0800)]
Cygwin python3 is now 3.8 w/o commonmark lib. [buildall]

3 years agoFix spelling error in man page. (#124)
James Cook [Thu, 10 Dec 2020 17:43:04 +0000 (17:43 +0000)]
Fix spelling error in man page. (#124)

trasnferred -> transferred

3 years agoFix a typo.
Wayne Davison [Thu, 10 Dec 2020 06:35:16 +0000 (22:35 -0800)]
Fix a typo.

3 years agoWork around glibc's lchmod() issue a better way.
Wayne Davison [Sun, 29 Nov 2020 17:33:54 +0000 (09:33 -0800)]
Work around glibc's lchmod() issue a better way.

3 years agoInclude stdlib.h for exit() and consult HAVE_* macros more.
Wayne Davison [Sun, 29 Nov 2020 16:45:55 +0000 (08:45 -0800)]
Include stdlib.h for exit() and consult HAVE_* macros more.

3 years agoTweak cmd_txt routines in the packaging scripts.
Wayne Davison [Sun, 1 Nov 2020 19:21:06 +0000 (11:21 -0800)]
Tweak cmd_txt routines in the packaging scripts.

3 years agoForce HAVE_LCHMOD off for Linux (for now).
Wayne Davison [Fri, 30 Oct 2020 22:51:24 +0000 (15:51 -0700)]
Force HAVE_LCHMOD off for Linux (for now).

3 years agoUse the right powershell env syntax. [buildall]
Wayne Davison [Wed, 7 Oct 2020 21:02:28 +0000 (14:02 -0700)]
Use the right powershell env syntax. [buildall]

3 years agoAllow cross-compilation with SIMD (x86_84) (#104)
edo [Wed, 7 Oct 2020 05:33:57 +0000 (08:33 +0300)]
Allow cross-compilation with SIMD (x86_84) (#104)

Replace runtime SIMD check with a compile-only test in case of
cross-compilation.

You can still use '--enable-simd=no' to build x86_64 code without
SIMD instructions.

3 years agoUpdate CI builds to new path-setting idiom.
Wayne Davison [Wed, 7 Oct 2020 05:28:17 +0000 (22:28 -0700)]
Update CI builds to new path-setting idiom.

3 years agoSilence a few more warnings.
Wayne Davison [Tue, 29 Sep 2020 22:51:03 +0000 (15:51 -0700)]
Silence a few more warnings.

3 years agoUse a better -Wno-pedantic heuristic.
Wayne Davison [Tue, 29 Sep 2020 22:17:29 +0000 (15:17 -0700)]
Use a better -Wno-pedantic heuristic.

3 years agoAvoid some pedantic errors & old warnings.
Wayne Davison [Tue, 29 Sep 2020 21:47:31 +0000 (14:47 -0700)]
Avoid some pedantic errors & old warnings.

3 years agoHandle early gcc versions that don't understand -Wno-pedantic.
Wayne Davison [Tue, 29 Sep 2020 21:22:40 +0000 (14:22 -0700)]
Handle early gcc versions that don't understand -Wno-pedantic.

3 years agoMake gcc die on init overflow of an array.
Wayne Davison [Tue, 29 Sep 2020 20:04:41 +0000 (13:04 -0700)]
Make gcc die on init overflow of an array.

- Use -pedantic-errors with gcc to make an array-init fatal.
- Fix all the extra warnings that gcc outputs due to this option.
- Also add -Wno-pedantic to gcc if we're using the internal popt
  code (since it has lots of pedantic issues).

3 years agoExpand the max name_num_item list size.
Wayne Davison [Tue, 29 Sep 2020 19:57:32 +0000 (12:57 -0700)]
Expand the max name_num_item list size.

3 years agoChange `--info=skip2` messages & add info on attr changes.
Wayne Davison [Wed, 23 Sep 2020 16:26:10 +0000 (09:26 -0700)]
Change `--info=skip2` messages & add info on attr changes.

3 years agoChange from $build_cpu to $host_cpu as edo1 suggested.
Wayne Davison [Wed, 23 Sep 2020 00:19:45 +0000 (17:19 -0700)]
Change from $build_cpu to $host_cpu as edo1 suggested.

3 years agoMake the extra info on the "exists" messages optional.
Wayne Davison [Tue, 22 Sep 2020 23:43:18 +0000 (16:43 -0700)]
Make the extra info on the "exists" messages optional.

3 years agoVarious file comparison improvements
Wayne Davison [Tue, 22 Sep 2020 18:46:36 +0000 (11:46 -0700)]
Various file comparison improvements

- Rename unchanged_file() to quick_check_ok().
- Enhance quick_check_ok() to work with non-regular files.
- Add a get_file_type() function to the generator.
- Use the new functions in the generator code to make the logic simpler.
- Fix a bug where the `--alt-dest` functions were not checking if a
  special file fully matched the non-permission mode bits before
  deciding if we have found an alt-dest match.
- Enhance the `--info=skip --ignore-existing` output to include extra
  info on if the existing file differs in type or passes the standard
  quick-check logic.
- Add `--info=skip2` that authorizes rsync to perform a slow checksum
  "quick check" when ignoring existing files. This provides the uptodate
  and differs info even if we need to checksum a file to get it.

3 years agoMore NEWS updates.
Wayne Davison [Tue, 22 Sep 2020 02:17:59 +0000 (19:17 -0700)]
More NEWS updates.

3 years agoA couple whitespace tweaks.
Wayne Davison [Tue, 22 Sep 2020 01:42:21 +0000 (18:42 -0700)]
A couple whitespace tweaks.

3 years agooptimize avx2 code (#102)
Shark64 [Mon, 21 Sep 2020 22:11:27 +0000 (00:11 +0200)]
optimize avx2 code (#102)

Optimize avx2 code using only intrinsic functions supported by older gcc versions.

3 years agoSkip an append if sender's file gets shorter.
Wayne Davison [Mon, 21 Sep 2020 21:40:23 +0000 (14:40 -0700)]
Skip an append if sender's file gets shorter.

Fixes bug #90.  Similar to a pull request by Tomas Korbar.

3 years agoImprove the docs for `--archive`.
Wayne Davison [Mon, 21 Sep 2020 21:05:51 +0000 (14:05 -0700)]
Improve the docs for `--archive`.

A slightly tweaked version of a patch from Richard Michael.

3 years agoAvoid output variance in protocol 29.
Wayne Davison [Mon, 21 Sep 2020 20:45:42 +0000 (13:45 -0700)]
Avoid output variance in protocol 29.

3 years agoCheck status of tests that pipe rsync's output & simplify output diffing.
Wayne Davison [Mon, 21 Sep 2020 20:15:43 +0000 (13:15 -0700)]
Check status of tests that pipe rsync's output & simplify output diffing.

3 years agoPut CAN_HARDLINK_SYMLINK info into --version output.
Wayne Davison [Mon, 21 Sep 2020 20:17:15 +0000 (13:17 -0700)]
Put CAN_HARDLINK_SYMLINK info into --version output.