Wayne Davison [Sat, 11 Jul 2020 17:32:59 +0000 (10:32 -0700)]
Some number & string improvements
- Use strdup(do_big_num(...)) to replace num_to_byte_string(...).
- Allow a ',' for a decimal point in a SIZE option in some locales.
- Get rid of old (now unused) strdup() compatibility function.
- Try harder to include the newline in a single error message write.
Wayne Davison [Mon, 6 Jul 2020 00:04:37 +0000 (17:04 -0700)]
Some C99 flexible array changes
- Use C99 flexible arrays when possible, and fall back on the existing
fname[1] kluges on older compilers.
- Avoid static initialization of a flexible array, which is not really
in the C standard.
Wayne Davison [Wed, 1 Jul 2020 01:16:55 +0000 (18:16 -0700)]
Simplify the daemon parameter definitions
The code now derives all the struct defines, default value assignments,
parser-param defines, and lp_foo() accessor functions from a single list
of daemon parameters.
Wayne Davison [Sun, 28 Jun 2020 22:21:43 +0000 (15:21 -0700)]
Improve the per-branch build dir support
The release script & the patch management script now require the use of
an auto-build-save dir that makes it much easier to keep the generated
files from melding together, and remembers the configure setup for each
patch branch.
Wayne Davison [Sun, 28 Jun 2020 20:22:15 +0000 (13:22 -0700)]
Improve alternate build-dir support
We now put the configure.sh, config.h.in, and aclocal.m4 files in the
alternate build dir along with the other generated files. This requires
that we create symlinks for configure.ac & m4 in the build dir, which is
handled on the first run of configure or prepare-source. I also changed
the patch-branch handling away from the .gen-stash dir to an automatic
build/$PATCH subdir idiom that will keep each branch's configuration
separated. These automatic build dirs are only used when there is a
.git dir, a build/master dir, and no top-dir Makefile. You'll also
want to have package/make early on your path for optimal ease of use.
Wayne Davison [Fri, 26 Jun 2020 02:59:19 +0000 (19:59 -0700)]
Some memory allocation improvements
- All the memory-allocation macros now auto-check for failure and exit
with a failure message that incudes the caller's file and lineno
info. This includes strdup().
- Added the `--max-alloc=SIZE` option to be able to override the memory
allocator's sanity-check limit. It defaults to 1G (as before).
Fixes bugzilla bug 12769.
Wayne Davison [Wed, 24 Jun 2020 02:14:11 +0000 (19:14 -0700)]
Avoid negotiating a "none" choice by default
The client does not pass "none" as a negotiation choice unless it's from
the user's environment list. The server still passes the "none" value
to the client unless its environment var excludes it.
Wayne Davison [Wed, 24 Jun 2020 00:19:58 +0000 (17:19 -0700)]
Improve how the env restricts negotiated strings
- The env on the server side now affects the negotiated strings
that are sent to the client.
- A too-old remote rsync gets a default negotiated string value
so that an env restriction now handles old clients the same way
as new ones.
Hiroshi Takekawa [Tue, 23 Jun 2020 10:17:53 +0000 (19:17 +0900)]
Makefile.in: Use srcdir for installing rsync-ssl
When building out of source tree, we can't find rsync-ssl in the current
directory and installation fails. Fix it by using the srcdir variable for the
path to rsync-ssl.