Specify log format to avoid malfunctions and unexpected errors. (#305)
Solve the following problems:
* mishandling of commit message lines similar to committer lines
* UnicodeDecodeError with commit messages that cannot be interpreted
as utf-8
Sam Mikes [Sat, 26 Mar 2022 16:14:10 +0000 (10:14 -0600)]
Extract unlink_and_reopen from copy_file (#294)
* add tests to exercise copy_file
* Extract new function unlink_and_reopen from copy_file
The argument `ofd` to copy_file is always set to -1 unless
`open_tmpfile()` is called at generator.c:909
This change
* removes assignment to a function argument
* renames argument `ofd` to `tmpfilefd` in line with existing uses
* extracts a new function `unlink_and_reopen` which is static to util1.c
* rewrites header comments for copy_file
Wayne Davison [Fri, 4 Mar 2022 01:00:57 +0000 (17:00 -0800)]
Make asm use more selectable
- Make the SIMD ASM code off by default. Use configure --enable-simd-asm
to enable.
- Allow MD5 ASM code to be requested even when OpenSSL is handling MD4
checksums. Use configure --enable-md5-asm to enable.
Wayne Davison [Sun, 16 Jan 2022 16:56:51 +0000 (08:56 -0800)]
More man page and NEWS improvements.
- Add link targets for all option choices, not just the first one.
- Tweak cross-link arg format.
- Add more links, including some in the latest NEWS.
- Split out a few numbered lists.
Wayne Davison [Sun, 16 Jan 2022 04:56:22 +0000 (20:56 -0800)]
Some NEWS.html improvements.
- Improve NEWS heading's link targets using version info.
- Optimize regex compilation.
- Make sure every link target is unique.
- Allow link targets to start with a number.
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.
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.
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.
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).
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.
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.
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).