rsync daemon before 3.5.0 contains an IP address spoofing vulnerability that allows unauthenticated remote attackers to bypass IP-based access controls by sending a craf…
rsync 3.2.5 before 3.5.0 contains a heap out-of-bounds write vulnerability that allows remote unauthenticated attackers to write one attacker-controlled byte past the en…
rsync 3.4.2 before 3.5.0 contains a denial of service vulnerability that allows a remote sender to exhaust system resources by specifying the --zt short alias for --comp…
rsync 3.1.0 before 3.5.0 contains an authorization bypass in auth users directive parsing. The auth users parser uses comma-only tokenization when splitting the user lis…
rsync before 3.5.0 contains a symlink following vulnerability that allows local attackers to overwrite arbitrary files by placing a symlink at a predictable output path …
rsync before 3.5.0 contains an arbitrary file read vulnerability that allows attackers to read files accessible to the rsync daemon process by exploiting symlink followi…
rsync before 3.5.0 contains a path traversal vulnerability that allows remote clients to access files outside the intended module root when use chroot is disabled and th…
rsync 3.2.3 before 3.5.0 contains an out-of-bounds write in parse_size_arg() where the return value of snprintf() is used directly as an index into a .bss-segment array …
rsync before 3.5.0 contains a symlink race condition vulnerability in the sender's directory scanning logic that allows attackers to cause the sender to enumerate and tr…
rsync before 3.5.0 contains a symlink race condition vulnerability that allows local attackers to cause rsync to apply arbitrary ACLs or extended attributes to unintende…
rsync before 3.5.0 contains an arbitrary file write vulnerability that allows attackers to write files outside the intended destination tree by specifying an absolute pa…
rsync before 3.5.0 contains an improper path handling vulnerability that allows a malicious sender to expand the scope of --delete operations beyond the intended destina…
rsync 3.0.0 before 3.5.0 contains a null pointer dereference vulnerability in the daemon child process that allows remote attackers to crash the daemon by sending a file…
rsync before 3.5.0 contains a privilege confusion vulnerability in the name-converter subprocess uid/gid mapping that allows local attackers to cause transferred files t…
rsync before 3.5.0 contains a filter rule bypass vulnerability that allows authenticated clients to override module-level filter restrictions by supplying malicious --fi…
rsync before 3.5.0 contains a symlink race condition vulnerability in the --remove-source-files feature that allows attackers with symlink creation access to cause arbit…
rsync before 3.5.0 contains a symlink race condition vulnerability in the sender's source tree traversal that allows an attacker who can manipulate a parent directory of…
net/rsync: update 3.5.0 -> 3.5.1
Changelog: https://download.samba.org/pub/rsync/NEWS#3.5.1
Major changes:
- The protocol number was changed to 33
- Fixed several path-handling regressions from 3.5.0
- Fixed access to /dev/stdin, /dev/stdout, /dev/stderr and /dev/fd/N
- Restored --max-alloc=0 as a spelling for the parser's maximum allocation limit
- Fixed restricted-root paths in rrsync and detection of an inetd connection
- Allowed --contimeout for daemon connections made through --rsh
- Tightened validation of partial-directory state and alternate-destination paths on the receiver.
- Fixed undefined shifts in the bundled zlib code and a FreeBSD amd64 build involving SIMD
PR: 298724
Reported by: Christos Chatzaras <chris@cretaforce.gr>
net/rsync: Add back the FLAGS option
This restores support for copying file flags and fixes a long-standing
peeve of mine by renaming the command-line option to --file-flags,
better matching the naming style of other rsync options. Full backward
compatibility is maintained, including with older servers.
Reviewed by: rodrigo
Differential Revision: https://reviews.freebsd.org/D57645
net/rsync: drop py-cmarkgfm build dep, fix inert path substitutions
Drop python and py-cmarkgfm from the BUILD_DEPENDS: The tarball ships
pre-rendered nroff man pages, so the upstream md2man toolchain is not needed.
While here, fix a post-patch REINPLACE_CMD pattern that has been silently
inert since 2022 (PR 263787): Replace with two correct substitutions so the
installed man pages reference ${ETCDIR} instead of /etc/rsync*.
Bump PORTREVISION because installed man page content changes.
Sponsored by: Netflix
net/rsync: update 3.4.3 -> 3.4.4
Changelog: https://github.com/RsyncProject/rsync/compare/v3.4.3...v3.4.4
This rsync release is a regression fix for rsync 3.4.3
security release. It contains no new security issues,
just fixes for the regressions that 3.4.3 introduced.
PR: 295721
Reported by: diizzy
net/rsync: update 3.4.2 -> 3.4.3
Changelog: https://download.samba.org/pub/rsync/NEWS#3.4.3
In addition to the six CVE fixes, this release adds defence-in-depth
hardening on several adjacent paths.
Other changes:
- Fixed a regression introduced by the 3.4.0 secure_relative_open() CVE fix
- secure_relative_open() now uses openat2(O_RESOLVE_BENEATH) on FreeBSD 13+
Security: CVE-2026-29518
Security: CVE-2026-43617
Security: CVE-2026-43618
Security: CVE-2026-43619
Security: CVE-2026-43620
Security: CVE-2026-45232
net/rsync: update 3.4.1 -> 3.4.2
Changelog: https://download.samba.org/pub/rsync/NEWS#3.4.2
Major changes:
- Fixed a signed integer overflow in the PROXY protocol v2 header parser
- Fixed an invalid access to the files array
- Reject negative token values in the compressed-stream token decoder
- Fixed the element count passed to the xattr qsort()
- Fixed a buffer underflow in clean_fname()
- Fixed an uninitialized mul_one in the AVX2 get_checksum1 path (undefined behaviour)
- Fixed an uninitialized buf1 on the first call to get_checksum2() in the MD4 path
- Zero all new memory from internal allocations
- Removed support for the unmaintained rsync-patches archive
Port changes:
- Remove File system flags support (--fileflags)
PR: 295044
Reported by: Sven Siegmund <sven.siegmund@gmail.com>
net/rsync: revert to single package without Python dependency
Restore the previous setup with a single net/rsync package that includes
the rrsync script but does not depend on Python.
Users who require the rrsync script must install Python separately,
as indicated in the install message.
Bump PORTREVISION
This reverts commit fc42790ae011acedf0195c7d31b1cf63b8c02155.
This reverts commit f02bc3be718072b75bd291f81f66b7f15865f535.
PR: 286073
net/rsync: Reinstate rrsync by flavorizing
The previous update removed the rrsync script from binary packages built
with the default options. This replaces the PYTHON option with a python
flavor so there is a package available that contains rrsync.
PR: 286073
Reported by: Dan Langille <dvl@freebsd.org>
net/rsync: Fix stealth dependency on Python
net/rsync includes a Python script installed as sbin/rrsync
without declaring a dependency on Python.
Adds a port option, PYTHON, that controls whether rrsync is
installed and adds the necessary dependency and remove the
pkg-message who advises that Python might be needed.
By default this option is off (updating the package will remove rrsync).
PR: 286073
Reported by: Christian Ullrich <chris@chrullrich.net>
*/*: PORTREVISION++ on some @sample-using ports
The handling of @sample with regard to no-root installation was
recently fixed, by 452309533805 (in ports) plus changes in pkg 2.4.
These need new packages built before they will correctly install,
including into VM images generated as part of the FreeBSD release
process.
Unfortunately with the release scheduled for just a few weeks away
and generally slow arm64 package building, there isn't time for a
full pkg set rebuild; so bump a handful of ports which are used in
the release process so that they will be rebuilt.
Users who are not building VM images using the "no-root" pathway
(aka using a METALOG index of the disk image) are not affected by
this; we doubt anyone other than re@ will notice.
With hat: re@
Discussed with: bapt, antoine
net/rsync: Fix the handling of many xattrs on FreeBSD
Fix sys_llistxattr() for FreeBSD code to request a larger
buffer to store the extended attributes list if the current
one is too small.
I also improve the attribute parsing by reducing to one the memmove
calls when converting FreeBSD attribute list to the format used by
Linux and extend the rsync unit tests for long xattrs lists.
Changes where submitted to upstream as:
https://github.com/RsyncProject/rsync/pull/781
https://github.com/RsyncProject/rsync/pull/766
PR: 286773
Reported by: Peter Eriksson <pen@lysator.liu.se>
Obtained from: Peter Eriksson <pen@lysator.liu.se>
Reviewed by: rodrigo
Tested by: rodrigo
Event: Berlin Hackaton 202507
Relnotes: yes
net/rsync: fix test patch when all options are disabled
If all options are disabled, the extra-patch distfile is not
extracted, breaking the build.
Make this step optional if at least one option is active.
PR: 284154
net/rsync: update to 3.4.1
Full changelog: https://download.samba.org/pub/rsync/NEWS#3.4.1
Major changes:
* fixed handling of -H flag with conflict in internal flag values
PR: 284091
Reported by: cy
net/rsync: upgrade to 3.3.0
Full changelog: https://download.samba.org/pub/rsync/NEWS#3.3.0
Major changes:
* Several bugfixes around -sparse --inplace,
buffer overflow in the checksum2,
string-comparison issue in the internal handling of --progress,
ensure local transfer marks the sender side as trusted,
changes the argv handling to work with a newer popt library,
a problem in the daemon auth for older protocols,
old stats bug that counted devices as symlinks
* Many enhancements:
rrsync with the -no-overwrite option,
manpages formating,
mapfrom & mapto perl scripts into a single python script,
mnt-excl perl script into a python script
PR: 278208
Reported by: vvd
net/rsync: Update to 3.2.7
Major changes:
* Fixed the client-side validating of the remote sender's filtering behavior.
* More fixes for the "unrequested file-list name" name
* When rsync gets an unpack error on an ACL, mention the filename.
* Avoid over-setting sanitize_paths when a daemon is serving "/"
Full changelog: https://download.samba.org/pub/rsync/NEWS#3.2.7
PR: 267921
Reported by: daniel <daniel@nav.ro>
net/rsync: Fix typo in options check
Remove duplicate RENAMED option check and add the missing
FLAGS one. This has no impact on default build configuration.
Reported by: Juraj Lutter <otis@FreeBSD.org>
net/rsync: Fix distinfo file generation
Fix a long standing issue in distinfo file generation caused
by the way patch distfiles are handled.
In the previous code, every time a patch was activated, it adds its own
entry into the DISTFILES variable, but because all the patches comes
from the same distfile, we ended with duplicate entries in the list.
As a consequence, the make makesum target generates a distinfo file with
duplicate entries, causing issues to the builder who tries to fetch and untar
the same file in paralel.
Now we add the distfile to the list if one of the options is activated,
avoiding duplication in the DISTFILES list.
This fix has no impact on the generated package, so no PORTREVISION
bump is required.
net/rsync: Update to 3.2.6
Major changes:
* fix file-list validator in --files-from for files that ends without a
line-terminating character
* safety check when using --remove-source-files in a local copy that prevents
removing file shared between src and dest
* fix internal MD4 checksum code who causes sporadic invalid sums
* rrsync: added "copy-devices" to the list of known args, but left it disabled
by default
* rename --protect-args to --secluded-args, environment-variable override did
not change its name
* configure option --with-protected-args was renamed to --with-secluded-args
This option makes --secluded-args the default rsync behavior
Full changelog: https://github.com/WayneD/rsync/blob/master/NEWS.md
PR: 267153
Reported by: Herbert J. Skuhra <herbert@gojira.at>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
net/rsync: Remove duplicate entries in distinfo
This is a quick fix to unbreak the port.
The issue was caused by multiple additional patched
coming from the same distfile archive. If you enable
more than one of those options makesum script add a
distinfo description for each option.
PR: 265896
net/rsync: Update to 3.2.5
Major changes:
* CVE-2022-29154 Added some file-list safety checking
* CVE-2022-37434 Fix in the bundled zlib (buffer overflow issue)
* Fix the handling of filenames specified with backslash-quoted wildcards
whith the remote-arg-escaping
* Fix configure check for signed char that causes bogus checksums
* rsync is compiled with an xxhash 0.8 library
* New --trust-sender option to bypass the extra file-list safety checking
Full changelog: https://github.com/WayneD/rsync/blob/master/NEWS.md
PR: 265633
Reported by: rob2g2 <rob2g2-freebsd@bitbert.com>
Relnotes: yes
Security: CVE-2022-29154
Security: CVE-2022-37434
net/rsync: Fix unexpected changes caused by previous rsync commit
* Remove python dependency introduced in last commit,
we keep USES=python to fix the rrsync shebang but
add PYTHON_NO_DEPENDS=yes since Python itself is
not wanted. Add a pkg-message to notify users.
* Fix patching issues on manpages and sample files
which abusively transformes all etc paths into
/usr/local/etc.
* Install missing rrsync manpage
Also add forgotten items in last commit
* version 3.2.4 fixes CVE-2018-25032 in bundled zlib
* remove upstreamed patch to fix time limit options (patch-io.c)
PR: 263787
PR: 263794
Reported by: <jamie@catflap.org>
Reported by: <freebsd@oldach.net>
Security: CVE-2018-25032 in the bundled zlib
net/rsync: Add patch to fix time limit options
In latest version, upstream project breaks
time limit options implementation. The fix
allows the use of this option in both receiver
and sender mode. A merger request was submitted
to upstream project[1] but not yet merged.
Bump portrevision.
[1] https://github.com/WayneD/rsync/pull/179
Reported by: philip
Tested by: philip
Remove deprecated optional patches
Remove broken options available in the past as additional patches provided
by the project and merged in the latest releases as part of the main source.
time-limit merged in 3.2.3 (6 Aug 2020)
Added the --stop-after=MINS and --stop-at=DATE_TIME options (with the --time-limit=MINS option
accepted as an alias for --stop-after). This is an enhanced version of the time-limit patch
from the patches repo.
atimes merged in 3.2.0 (19 Jun 2020)
Added the --atimes option based on the long-standing patch (just with some fixes that the patch
has been needing).
acls merged in 3.2.0 (19 Jun 2020)
Added the --atimes option based on the long-standing patch (just with some fixes that the patch
has been needing).
Since those options are not activated by default, and if so, breaks the build,
no PORTREVISION bump is required.
PR: 250998
Submitted by: Zoltan ALEXANDERSON BESSE <zab@zltech.eu>
net/rsync: Update MASTER_SITES
Update list of rsync mirrors.
Remove ftp.fu-berlin.de, add a couple
of new mirrors. Mirrors are prefered
over main site kept as fallback.
No changes in the code so no version bump required
PR: 248319
Submitted by: <daniel.engberg.lists@pyret.net>
net/rsync upgrade to 3.2.3
major changes:
- Fix multiple bugs in xattr code.
- Restored the ability to use --bwlimit=0 to specify no bandwidth limit.
- Fix a bug when combining --delete-missing-args with --no-implied-dirs & -R where rsync might create the destination path of a missing arg.
- Fixed an issue where hard-linked devices could cause the rdev_major value to get out of sync between the sender and the receiver.
- Rsync now complains about a missing --temp-dir before starting any file transfers.
- A completely empty source arg is now a fatal error.
See full changelog: https://download.samba.org/pub/rsync/NEWS#3.2.3
Also, fix build issue with ACL option (patch is not required anymore)
PR: 248318 247795
rsync: Unbreak and fix depends
rsync now depends on stuff in LOCALBASE. Previously, clang only needed to know
about LOCALBASE if POPT or ICONV was enabled. When those options are off, xxhash
and zstd were not found by configure.
Also, a depend on libssl was missing, and there were some noop reinplaces.
With hat: portmgr
net/rsync upgrade to 3.2.2
Major changes and bugfixes:
3.1.3 -> 3.2.0
* Avoid potential out-of-bounds read in daemon mode
* Fix defaul list list of skip-compress files for non-daemon transfers
* Fix xattr filter rules losing an 'x' attribute in a non-local transfer
* zlib fixes for CVE-2016-9843, CVE-2016-9842, CVE-2016-9841, and CVE-2016-9840
* Fixed a crash in the --iconv code
* Checksum enhancements, including the addition of xxhash
* The checksum preference order of the negotiation can be customized or forced
* Compression enhancements, including the addition of zstd and lz4 compression algorithms
* Added openssl & preliminary gnutls support to the rsync-ssl script
* Added the proxy protocol daemon parameter that allows your rsyncd to know the real remote
IP when it is setup behind a proxy
3.2.0 -> 3.2.1
* Fix potential issue with MD5 assembly-language code
* option --backup-dir=STR now implies --backup
3.2.1 -> 3.2.2
* Avoid a crash when a daemon module enables transfer logging without setting a log format value
Full release message: https://download.samba.org/pub/rsync/NEWS#3.2.2
Security: CVE-2016-9843 CVE-2016-9842 CVE-2016-9841 CVE-2016-9840
MFH after: 2 weeks
MFH: 2020Q3
net/rsync: Update to 3.1.3
Changelog:
SECURITY FIXES:
- Fixed a buffer overrun in the protocol's handling of xattr names and
ensure that the received name is null terminated.
- Fix an issue with --protect-args where the user could specify the arg in
the protected-arg list and short-circuit some of the arg-sanitizing code.
BUG FIXES:
- Don't output about a new backup dir without appropriate info verbosity.
- Fixed some issues with the sort functions in support/rsyncstats script.
- Added a way to specify daemon config lists (e.g. users, groups, etc) that
contain spaces (see "auth users" in the latest rsyncd.conf manpage).
- If a backup fails (e.g. full disk) rsync exits with an error.
- Fixed a problem with a doubled --fuzzy option combined with --link-dest.
- Avoid invalid output in the summary if either the start or end time had
an error.
- We don't allow a popt alias to affect the --daemon or --server options.
- Fix daemon exclude code to disallow attribute changes in addition to
disallowing transfers.
- Don't force nanoseconds to match if a non-transferred, non-checksummed
file only passed the quick-check w/o comparing nanosecods.
ENHANCEMENTS:
- Added the ability for rsync to compare nanosecond times in its file-check
comparisons, and added support nanosecond times on Mac OS X.
- Added a short-option (-@) for --modify-window.
- Added the --checksum-choice=NAME[,NAME] option to choose the checksum
algorithms.
- Added hashing of xattr names (with using -X) to improve the handling of
files with large numbers of xattrs.
- Added a way to filter xattr names using include/exclude/filter rules (see
the --xattrs option in the manpage for details).
- Added "daemon chroot|uid|gid" to the daemon config (in addition to the
old chroot|uid|gid settings that affect the daemon's transfer process).
- Added "syslog tag" to the daemon configuration.
- Some manpage improvements.
DEVELOPER RELATED:
- Tweak the "make" output when yodl isn't around to create the man pages.
- Changed an obsolete autoconf compile macro.
- Support newer yodl versions when converting man pages.
remove needless patch
*While here switch to DISTVERSION
PR: 225761
Reported by: os@ist.ac.at
Approved by: tcberner (mentor)
MFH: 2018Q1
Differential Revision: https://reviews.freebsd.org/D14324