12 October 2021: Package created.
8 February 2022: Added rrsync.
9 February 2022: Improved rrsync logging.
13-14 February 2022: Simplified logging line.
22 February 2022: Abort rsync-server.pl if no SSH_ORIGINAL_COMMAND env variable.
3 December 2023: Added pledge/unveil for OpenBSD to rrsync and rsync-client.
30 December 2023: Call pledge correctly.
31 December 2023: Expand unveil for /usr/share/zoneinfo.
1 January 2024: More corrections on pledge use.
2 January 2024: Updated rrsync to be more similar to python version.
4 January 2024: Updated rrsync error messages, rsync-client perl file open style.
10 February 2024: rsync-client: Improve unveiling of setup/cleanup commands, fix bug.
10 July 2024: rsync-client: unveil /bin/sh when * in dirlist & do minimal dirlist validation.
30 July 2024: Updated rrsync for locking and -no-lock, additional checks.
1 September 2024: Added pledge/unveil to rsync-altroot. Fixed minor bug
	(pledge error reporting) in rsync-client.pl.
8 October 2024: Added new s after dot for rsync-client.pl for rsync 3.3.0,
	changed no-w to no-W in rrsync.
1 November 2024: Make rsync-altroot.pl abort on mount error.
15 January 2025: Add "true" command to rrsync for parity with rsync 3.4.0's
	python version.
28 August 2025: Updated files/dirs for rsync-altroot.pl.
15 September 2025: rsync-client.pl, rrsync: support Linux rsync path.
26 September 2025: add error handling on log open in rsync-client.pl, remove
	deprecated rsync tools.
9 December 2025: add -no-overwrite to rrsync.
10 January 2026: rsync-client.pl: minor changes, less use of shell;
	rsync-altroot.pl: minor change, remove unnecessary quotes.
11 January 2026: rsync-client.pl: allow multiple setup/cleanup commands.
8 April 2026: rsync-client.pl remove shell requirement, simplify logic, fix bug
	that prevented pledge/unveil for server side.
	rsync-altroot.pl remove /etc special casing.
	rrsync use "use warnings".
19 April 2026: rsync-client.pl validates config file ownership and permissions,
	ensures log file permissions are 0600 on creation.
29 April 2026: rsync-client.pl rejects globs when doas/sudo is used.
2 May 2026: rsync-client.pl cleanup variety of minor issues.
17 May 2026: rrsync: fix exploitable vuln in glob processing order,
	remove DNS resolution on host names in logging, remove 'dns'
	pledge.
	rsync-altroot: remove bareword filehandles.
	rsync-client: add comments on setup/cleanup unveiling, no code change.
20 May 2026: rrsync: use original args in logging, no extra spaces after host/IP.
30 May 2026: rrsync: add missing 'dirs' long option (after comparing to python version
	which fixed it in December 2025).
	rsync-client: cosmetic change, convert constant $RSYNC_IDENTITY to variable
	$rsync_identity.
