rsync (3.5.0+ds1-1) unstable; urgency=medium rsync 3.5.0 is a large security release (33 CVEs) which also changes several long-standing behaviours. The ones most likely to break an existing setup are listed here; /usr/share/doc/rsync/NEWS.md.gz has the full list. Operator-supplied paths are no longer followed through untrusted symlinks. The destination directory and the arguments to --backup-dir, --temp-dir, --partial-dir, --link-dest, --compare-dest, --copy-dest, --log-file, --password-file, --files-from, --include-from, --exclude-from, --write-batch, --read-batch and --filter merge files are now resolved one component at a time, following a symlink only when it is owned by root or by the user running rsync; one owned by anyone else is refused. --insecure-links restores the old behaviour, but it is local only and a daemon never honours it -- for a single trusted module, set "insecure links = yes" in that module instead. --max-alloc=0, and RSYNC_MAX_ALLOC=0, are now rejected with "max-alloc must be greater than zero". Zero used to mean SIZE_MAX, which disabled the per-allocation sanity cap -- the defence behind CVE-2024-12084. Pass an explicit large value instead. See https://github.com/RsyncProject/rsync/issues/1056. Filter and file lists supplied through shell process substitution (e.g. --exclude-from=<(grep -v '^#' rules)) now fail with "No such file or directory". The shell passes such an argument as /dev/fd/N, which refers to an anonymous pipe, and the new path resolver cannot open one; a /dev/fd path referring to a regular file is unaffected. This regression has no fix released yet; it is being worked on in https://github.com/RsyncProject/rsync/pull/1054. Write the list to a real file in the meantime. The notice about this issue will be dropped once it's fixed so that Stable users don't get notified of a fixed problem. rrsync now refuses --debug on every invocation. When restricted to a subdirectory it additionally denies --copy-unsafe-links, passes the new --confine-root so the server will not resolve a client-named filter merge file outside that directory, and passes --drop-D when receiving, so an upload can no longer create devices or special files there ("skipping non-regular file"). A plain "rsync -a" otherwise still works. --chmod=a+s now sets both the setuid and setgid bits, matching chmod(1); it previously set setuid alone. rsyncd changes that can change who gets in: * "proxy protocol = true" without "proxy protocol hosts" now rejects every connection and warns at startup, instead of trusting a client-supplied PROXY header. * "hosts deny" now fails closed when a configured hostname cannot be resolved (with "forward lookup", the default), so a host previously admitted by an unresolvable deny entry is now blocked. * "auth users" values that start with a comma now split on commas alone, as documented, so a deny or :ro rule naming a group whose name contains a space now takes effect where it was silently ignored. * "hosts allow" / "hosts deny" patterns now fold case inside a [...] bracket expression as well, so a rule such as [A-Z]* matches hosts it used to miss. * A client-requested --compress-threads is capped at 8. rsync-ssl now verifies the server certificate. The default openssl backend additionally binds it to the requested hostname, so a certificate valid for some other name is now rejected. The stunnel and gnutls backends refuse to run unless RSYNC_SSL_CA_CERT is set, or RSYNC_SSL_ALLOW_INSECURE_STUNNEL=1 / RSYNC_SSL_ALLOW_INSECURE_GNUTLS=1 is set to opt out. -- Samuel Henrique Sun, 16 Aug 2026 11:00:00 -0700 rsync (3.2.0-1) unstable; urgency=low This latest release changed two parameters which used to be present on the Debian packaging of rsync as upstream now integrated the patches. Previous parameter: --copy-devices: write to devices as files (implies --inplace) Is now called: --write-devices Previous parameter: --noatime: avoid changing the atime on opened files. Is now called: --open-noatime Please refer to the manpage rsync(1) for more information. -- Samuel Henrique Sat, 20 Jun 2020 18:05:57 +0100 rsync (3.1.3-8) unstable; urgency=medium Some useful rsync scripts that used to be installed in /usr/share/doc/rsync/scripts are now installed in /usr/share/rsync/scripts. All of them have execution permission. The rrsync script is now deployed into /usr/bin/rrsync as a symlink to /usr/share/rsync/scripts/rrsync. -- Samuel Henrique Tue, 15 Oct 2019 01:04:36 +0100