rsync.git
2 years agoPreparing for release of 3.2.4pre2 v3.2.4pre2
Wayne Davison [Sun, 16 Jan 2022 01:21:01 +0000 (17:21 -0800)]
Preparing for release of 3.2.4pre2

2 years agoUse standard "git diff" for full diff highlighting support.
Wayne Davison [Sun, 16 Jan 2022 01:20:11 +0000 (17:20 -0800)]
Use standard "git diff" for full diff highlighting support.

2 years agoEven more man page improvements.
Wayne Davison [Sun, 16 Jan 2022 01:11:06 +0000 (17:11 -0800)]
Even more man page improvements.

2 years agoMan page improvments, including html cross-links.
Wayne Davison [Sat, 15 Jan 2022 23:48:14 +0000 (15:48 -0800)]
Man page improvments, including html cross-links.

2 years agoA few more man page format tweaks.
Wayne Davison [Fri, 14 Jan 2022 22:03:27 +0000 (14:03 -0800)]
A few more man page format tweaks.

2 years agoMake it easier to get section links.
Wayne Davison [Fri, 14 Jan 2022 21:55:22 +0000 (13:55 -0800)]
Make it easier to get section links.

2 years agoAdd more link targets to html man pages.
Wayne Davison [Fri, 14 Jan 2022 07:39:40 +0000 (23:39 -0800)]
Add more link targets to html man pages.

2 years agoTweak a caveat.
Wayne Davison [Fri, 14 Jan 2022 07:31:43 +0000 (23:31 -0800)]
Tweak a caveat.

2 years agoDisplay ??:??:?? when a time estimate gets too big.
Wayne Davison [Thu, 13 Jan 2022 16:11:50 +0000 (08:11 -0800)]
Display ??:??:?? when a time estimate gets too big.

2 years agoAvoid a -8 in the progress output's remaining time
Wayne Davison [Thu, 13 Jan 2022 03:50:58 +0000 (19:50 -0800)]
Avoid a -8 in the progress output's remaining time

If the double "remain" value is so large that it overflows an int, make
the estimated seconds output as :00 instead of :-8.  Similar for the
estimated remaining minutes.  Support larger hours values.

2 years agoSome symlink improvements to the man page.
Wayne Davison [Thu, 13 Jan 2022 00:42:40 +0000 (16:42 -0800)]
Some symlink improvements to the man page.

2 years agoChange manpage headings in html to use h2 tags with an id target.
Wayne Davison [Thu, 13 Jan 2022 00:41:36 +0000 (16:41 -0800)]
Change manpage headings in html to use h2 tags with an id target.

2 years agoA repeated `--old-args` does more escape disabling.
Wayne Davison [Mon, 10 Jan 2022 02:20:20 +0000 (18:20 -0800)]
A repeated `--old-args` does more escape disabling.

2 years agoAdd an arg-protection idiom using backslash-escapes
Wayne Davison [Mon, 10 Jan 2022 01:35:39 +0000 (17:35 -0800)]
Add an arg-protection idiom using backslash-escapes

The new default is to protect args and options from unintended shell
interpretation using backslash escapes.  See the new `--old-args` option
for a way to get the old-style splitting.  This idiom was chosen over
making `--protect-args` enabled by default because it is more backward
compatible (e.g. it works with rrsync). Fixes #272.

2 years agoTweak a comment.
Wayne Davison [Sun, 9 Jan 2022 22:03:31 +0000 (14:03 -0800)]
Tweak a comment.

2 years agoImprove `--copy-links` description.
Wayne Davison [Sun, 9 Jan 2022 20:20:46 +0000 (12:20 -0800)]
Improve `--copy-links` description.

2 years agoAllow someone to specify scratchbase=FOO for runtests.sh.
Wayne Davison [Sun, 9 Jan 2022 19:40:41 +0000 (11:40 -0800)]
Allow someone to specify scratchbase=FOO for runtests.sh.

2 years agoImprove rrsync usage and some more NEWS tweaks.
Wayne Davison [Mon, 3 Jan 2022 08:37:57 +0000 (00:37 -0800)]
Improve rrsync usage and some more NEWS tweaks.

2 years agoMore NEWS improvements.
Wayne Davison [Mon, 3 Jan 2022 08:02:28 +0000 (00:02 -0800)]
More NEWS improvements.

2 years agoOnly send the `--no-W` kluge to a receiver.
Wayne Davison [Mon, 3 Jan 2022 07:51:04 +0000 (23:51 -0800)]
Only send the `--no-W` kluge to a receiver.

2 years agoPreparing for release of 3.2.4pre1 v3.2.4pre1
Wayne Davison [Sun, 2 Jan 2022 23:13:19 +0000 (15:13 -0800)]
Preparing for release of 3.2.4pre1

2 years agoTweak stderr handling for older BackupPC versions
Wayne Davison [Sun, 2 Jan 2022 22:46:27 +0000 (14:46 -0800)]
Tweak stderr handling for older BackupPC versions

This makes the default for a protocol-28 server process be --stderr=client
instead of --stderr=errors.  See rsync's github issue #95.

2 years agoA couple man page improvements.
Wayne Davison [Sun, 2 Jan 2022 22:43:30 +0000 (14:43 -0800)]
A couple man page improvements.

2 years agoTime-limit options are not being checked enough (#179)
Rodrigo Osorio [Sun, 2 Jan 2022 22:37:27 +0000 (23:37 +0100)]
Time-limit options are not being checked enough (#179)

The `--stop-at`, `--stop-after`, and `--time-limit`` options should have their
limit checked when receiving and sending data, not just when receiving.
Fixes #177.

2 years agoSome compression improvements.
Wayne Davison [Fri, 31 Dec 2021 18:58:19 +0000 (10:58 -0800)]
Some compression improvements.

The compression level of the first file in the transfer no longer sets
the level for all files that follow it.  Document that per-file level
switching has no current effect (except for a global "dont compress = *"
rule in the daemon).

2 years agoAdd error-code ignoring options to atomic-rsync.
Wayne Davison [Thu, 30 Dec 2021 20:29:14 +0000 (12:29 -0800)]
Add error-code ignoring options to atomic-rsync.

2 years agoTweak the rrsync man page.
Wayne Davison [Thu, 30 Dec 2021 20:28:16 +0000 (12:28 -0800)]
Tweak the rrsync man page.

2 years agoFix rrsync directory normalization (#268)
Marco Nenciarini [Thu, 30 Dec 2021 16:59:17 +0000 (17:59 +0100)]
Fix rrsync directory normalization (#268)

Fix an off-by-one in the `args.dir_slash_len` variable that leads to base every absolute path on `/`

2 years agoAdd a default single-access lock.
Wayne Davison [Tue, 28 Dec 2021 01:44:32 +0000 (17:44 -0800)]
Add a default single-access lock.

2 years agoChange args to maybe-make-man.
Wayne Davison [Tue, 28 Dec 2021 01:40:31 +0000 (17:40 -0800)]
Change args to maybe-make-man.

2 years agoInclude "rrsync" in "all" target when `--with-rrsync` was used.
Wayne Davison [Mon, 27 Dec 2021 23:44:51 +0000 (15:44 -0800)]
Include "rrsync" in "all" target when `--with-rrsync` was used.

2 years agoUnify md parsing scripts & improve non-man html conversions.
Wayne Davison [Mon, 27 Dec 2021 22:19:11 +0000 (14:19 -0800)]
Unify md parsing scripts & improve non-man html conversions.

2 years agoRename md2man.
Wayne Davison [Mon, 27 Dec 2021 21:42:19 +0000 (13:42 -0800)]
Rename md2man.

2 years agoAdd more backticks.
Wayne Davison [Mon, 27 Dec 2021 21:11:23 +0000 (13:11 -0800)]
Add more backticks.

2 years agoIgnore the built rrsync man-page files.
Wayne Davison [Mon, 27 Dec 2021 20:10:31 +0000 (12:10 -0800)]
Ignore the built rrsync man-page files.

2 years agoTest --with-rrsync configure option & put rrsync into the artifacts.
Wayne Davison [Sun, 26 Dec 2021 22:48:55 +0000 (14:48 -0800)]
Test --with-rrsync configure option & put rrsync into the artifacts.

2 years agoUse mallinfo2, when available, and use %zd for size_t values on C99.
Wayne Davison [Sun, 26 Dec 2021 22:23:19 +0000 (14:23 -0800)]
Use mallinfo2, when available, and use %zd for size_t values on C99.

An exhanced version of pull request #265.

2 years agorrsync improvements
Wayne Davison [Sun, 26 Dec 2021 20:29:00 +0000 (12:29 -0800)]
rrsync improvements

- Convert rrsync to python.
- Enhance security of arg & option checking.
- Reject `-L` (`--copy-links`) by default.
- Add `-munge` and `-no-del` options.
- Tweak the logfile line format.
- Created an rrsync man page.
- Use `configure --with-rrsync` if you want `make install` to install
  rrsync and its man page.
- Give lsh more rrsync testing support.

2 years agoConvert atomic-rsync to python.
Wayne Davison [Tue, 21 Dec 2021 01:28:18 +0000 (17:28 -0800)]
Convert atomic-rsync to python.

2 years agoConvert munge-symlinks to python.
Wayne Davison [Tue, 21 Dec 2021 00:08:34 +0000 (16:08 -0800)]
Convert munge-symlinks to python.

2 years agoMake rrsync default to munged symlinks.
Wayne Davison [Mon, 20 Dec 2021 23:13:50 +0000 (15:13 -0800)]
Make rrsync default to munged symlinks.

2 years agoAdd options to assist in localhost rrsync testing.
Wayne Davison [Mon, 20 Dec 2021 22:25:19 +0000 (14:25 -0800)]
Add options to assist in localhost rrsync testing.

2 years agoAdd --munge-links rsync option; convert to python.
Wayne Davison [Mon, 20 Dec 2021 21:34:05 +0000 (13:34 -0800)]
Add --munge-links rsync option; convert to python.

2 years agoImprove a couple support scripts:
Wayne Davison [Sat, 13 Nov 2021 17:30:08 +0000 (09:30 -0800)]
Improve a couple support scripts:

- rsync-no-vanished now avoids joining stdout & stderr, avoids affecting
  a non-client run, and gets the rsync status code correctly.
- rsync-slash-strip now avoids affecting a non-client run.

2 years agoimproved cross compilation detection (#252)
Andrew Aladjev [Sun, 7 Nov 2021 19:45:49 +0000 (22:45 +0300)]
improved cross compilation detection (#252)

2 years agoshell: test -a|o is not POSIX (#250)
Issam Maghni [Sun, 7 Nov 2021 18:23:01 +0000 (13:23 -0500)]
shell: test -a|o is not POSIX (#250)

2 years agoAdd closing backticks that Itzoke pointed out.
Wayne Davison [Sun, 7 Nov 2021 18:11:12 +0000 (10:11 -0800)]
Add closing backticks that Itzoke pointed out.

2 years agoAdd the --info=NONREG setting.
Wayne Davison [Wed, 3 Nov 2021 16:35:50 +0000 (09:35 -0700)]
Add the --info=NONREG setting.

2 years agoMore NEWS changes.
Wayne Davison [Sat, 30 Oct 2021 22:58:01 +0000 (15:58 -0700)]
More NEWS changes.

2 years agoFix the ability to read the user's numeric locale.
Wayne Davison [Sat, 30 Oct 2021 03:06:06 +0000 (20:06 -0700)]
Fix the ability to read the user's numeric locale.

2 years agoUpdate the NEWS.
Wayne Davison [Wed, 20 Oct 2021 04:10:59 +0000 (21:10 -0700)]
Update the NEWS.

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.