Redmine #4312: Fix incorrect file location for backup repository.

Canonifying and appending the file name was done twice, so the fix
was simply to remove the first pass.

(cherry picked from commit b16a4e6accdc06d14f62f9672e44ce29c0648271)
Move new test into staging as long as it fails in build pipeline.

The test passes in a local run, so not reverting the change otherwise.

(cherry picked from commit bcf92ef7de23c8d526be782ab127b1f9b9ad2f61)
Print errno related string when SSL_read/write fail with SSL_ERROR_SYSCALL. Also moved a docstring to the proper place.
Changed wording to something nicer.
docstring fix.
SO_REUSEADDR missing is not a reason to WARN loudly. Demote to VERBOSE.
Demoted to VERBOSE the instructions on how to trust a new client.
Fix wording when trust fails, so that messages are not so aggressive.

Also Change wording in serverd messages from host to peer.
Amended @ediosyncratic's nitpicks.
Fix /0 CIDR matching, it was triggerring undefined behaviour.
Merge branch 'jimis-fixes' into 3.6.x
Redmine #5380: Introduce privilege elevation in Windows testing.

This is needed in order to run tests as a user other than
Administrator, even if that user has admin privileges. The reason is
that Windows by default runs every process with non-admin rights, so
we need to elevate the privileges ourselves.
(cherry picked from commit dad7fd582bc88e7a20ede90150ef076f69ab901b)
Redmine #4751: Fix crash in 07_packages/907.cf test case.

The package_name_convention can be unset, so we need to check for null
pointer.
(cherry picked from commit ba40441c38b1680b70ae79fc298065adeaffd894)
Fix SIGBUS on Solaris.
(cherry picked from commit 96e28ce19b0b15ae48bd8c739639ed0dc3431f07)
Why have two identical ifdefs? This had been fixed in the past, but it regressed!
Scan for policy change right after the select() call returns.

The way we did it before, it was almost certain that at the point of
checking there would always be one active thread (the one serving the
incoming connection) so CheckFileChanges() would not run. Only exception
would have been when select() returned because of timeout, which would
never happen in a slightly loaded hub.
Moved code around for clarity.

Mostly whitespace changes.
Fixed 100% CPU burning loop if listening socket descriptor is -1

There is a feature in enterprise ("listen" attribute) that disables
listening to any port. In that case the while loop would never
stop. Fixed it so that it goes through the select() call.

Mostly whitespace changes.
CLOEXEC must be called even when NO_FORK.
Merge pull request #1667 from jimis/server_reload_policy-3.6.x

Server reload policy 3.6.x