diff options
| author | Rodrigo Osorio <rodrigo@FreeBSD.org> | 2026-05-12 15:06:54 +0000 |
|---|---|---|
| committer | Rodrigo Osorio <rodrigo@FreeBSD.org> | 2026-05-15 20:54:57 +0000 |
| commit | 3f345476b5ca39b55f3d9f2223072da96783475d (patch) | |
| tree | eab387133a47abba8a4f11b185d5e6f411d410c2 | |
| parent | 6f30752564b9e3ee44e8a1a1eeb5b0dfd2dd66ee (diff) | |
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>
| -rw-r--r-- | UPDATING | 8 | ||||
| -rw-r--r-- | net/rsync/Makefile | 38 | ||||
| -rw-r--r-- | net/rsync/distinfo | 8 | ||||
| -rw-r--r-- | net/rsync/files/patch-lib_sysxattrs.c | 42 | ||||
| -rw-r--r-- | net/rsync/files/patch-testsuite_xattrs.test | 4 |
5 files changed, 34 insertions, 66 deletions
@@ -5,6 +5,14 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20260515: + AFFECTS: Users of net/rsync + AUTHOR: rodrigo@FreeBSD.org + + Since rsync 3.4.2, the rsync project removed support for the unmaintained + rsync-patches archive. As a consequence options such as File system flags + (--fileflags) are not available anymore in default build. + 20260510: AFFECTS: Users of games/minecraft-server AUTHOR: freebsd.tug890@passmail.net diff --git a/net/rsync/Makefile b/net/rsync/Makefile index 32e73f5eee5c..d199dd63d23a 100644 --- a/net/rsync/Makefile +++ b/net/rsync/Makefile @@ -1,12 +1,10 @@ PORTNAME= rsync -DISTVERSION= 3.4.1 -PORTREVISION= 7 +DISTVERSION= 3.4.2 CATEGORIES= net MASTER_SITES= https://www.mirrorservice.org/sites/rsync.samba.org/src/ \ http://rsync.mirror.garr.it/src/ \ http://www.mirrorservice.org/sites/rsync.samba.org/src/ \ https://download.samba.org/pub/rsync/src/ -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= rodrigo@FreeBSD.org COMMENT= Network file distribution/synchronization utility @@ -18,17 +16,18 @@ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libxxhash.so:devel/xxhash \ libzstd.so:archivers/zstd +TEST_DEPENDS= ${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX} USES= autoreconf:build cpe python shebangfix ssl -PYTHON_NO_DEPENDS= yes CPE_VENDOR= samba CPE_PRODUCT= rsync +PYTHON_NO_DEPENDS= yes USE_RC_SUBR= rsyncd -SHEBANG_FILES= support/rrsync +SHEBANG_FILES= runtests.py support/rrsync GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX=${PREFIX}/share +GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share CONFIGURE_ARGS= --disable-debug \ --enable-ipv6 \ --with-rsyncd-conf=${ETCDIR}/rsyncd.conf @@ -39,29 +38,21 @@ TEST_TARGET= check CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -PATCH_STRIP= -p1 SUB_LIST= NAME=rsyncd PORTDOCS= NEWS.md README.md csprotocol.txt tech_report.tex # define options OPTIONS_DEFINE= DOCS ICONV POPT_PORT SSH ZLIB_BASE -OPTIONS_DEFAULT= FLAGS ICONV SSH ZLIB_BASE +OPTIONS_DEFAULT= ICONV SSH ZLIB_BASE OPTIONS_RADIO= PTS -OPTIONS_RADIO_PTS= FLAGS RENAMED # options provided upstream -FLAGS_DESC= File system flags support patch, adds --fileflags POPT_PORT_DESC= Use popt from devel/popt instead of bundled one -SSH_DESC= Use SSH instead of RSH -ZLIB_BASE_DESC= Use zlib from base instead of bundled one - -# options provided by patch (mutually exclusive) PTS_DESC= Functionality provided by third party patches -RENAMED_DESC= Add support for renamed file detection +SSH_DESC= Use SSH instead of RSH -FLAGS_EXTRA_PATCHES= ${WRKSRC}/patches/fileflags.diff \ - ${FILESDIR}/extrapatch-main.c +ZLIB_BASE_DESC= Use zlib from base instead of bundled one ICONV_USES= iconv:translit ICONV_CONFIGURE_ENABLE= iconv iconv-open @@ -69,30 +60,17 @@ ICONV_CONFIGURE_ENABLE= iconv iconv-open POPT_PORT_LIB_DEPENDS= libpopt.so:devel/popt POPT_PORT_CONFIGURE_OFF= --with-included-popt -RENAMED_EXTRA_PATCHES= ${WRKSRC}/patches/detect-renamed.diff - SSH_CONFIGURE_ON= --with-rsh=ssh SSH_CONFIGURE_OFF= --with-rsh=rsh ZLIB_BASE_CONFIGURE_ON= --with-included-zlib=no -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MRENAMED} || ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MFLAGS} -DISTFILES+= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX} -.endif - .include <bsd.port.pre.mk> .if empty(ICONV_LIB) || !${PORT_OPTIONS:MICONV} CONFIGURE_ARGS+= ac_cv_search_libiconv_open=no .endif -.if make(makesum) || ${PORT_OPTIONS:MRENAMED} || ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MFLAGS} -pre-patch: - @${REINPLACE_CMD} 's:+int module_dirlen = 0;:+:' ${WRKSRC}/patches/fileflags.diff -.endif - post-patch: @${REINPLACE_CMD} -e 's:/etc/r{1,2}sync:${ETCDIR}/:g' \ -e 's:/etc/letsencrypt:${PREFIX}/etc/letsencrypt:g' \ diff --git a/net/rsync/distinfo b/net/rsync/distinfo index 5d970ee2a35e..7a67b3d85adc 100644 --- a/net/rsync/distinfo +++ b/net/rsync/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1737009301 -SHA256 (rsync-3.4.1.tar.gz) = 2924bcb3a1ed8b551fc101f740b9f0fe0a202b115027647cf69850d65fd88c52 -SIZE (rsync-3.4.1.tar.gz) = 1172739 -SHA256 (rsync-patches-3.4.1.tar.gz) = f56566e74cfa0f68337f7957d8681929f9ac4c55d3fb92aec0d743db590c9a88 -SIZE (rsync-patches-3.4.1.tar.gz) = 150445 +TIMESTAMP = 1778533179 +SHA256 (rsync-3.4.2.tar.gz) = ff10aa2c151cd4b2dbbe6135126dbc854046113d2dfb49572a348233267eb315 +SIZE (rsync-3.4.2.tar.gz) = 1190383 diff --git a/net/rsync/files/patch-lib_sysxattrs.c b/net/rsync/files/patch-lib_sysxattrs.c index 16a307a83ad6..b3dac6d95e67 100644 --- a/net/rsync/files/patch-lib_sysxattrs.c +++ b/net/rsync/files/patch-lib_sysxattrs.c @@ -1,42 +1,26 @@ ---- a/lib/sysxattrs.c.orig 2022-01-16 01:21:01.000000000 +0000 -+++ b/lib/sysxattrs.c 2025-07-28 12:05:43.501532000 +0000 -@@ -126,22 +126,29 @@ - unsigned char keylen; - ssize_t off, len = extattr_list_link(path, EXTATTR_NAMESPACE_USER, list, size); - -- if (len <= 0 || (size_t)len > size) -+ if (len <= 0 || size == 0) - return len; - -+ if ((size_t)len == size) { -+ /* extattr_list_link fills a buffer with a list of file attributes. -+ * If the buffer size is too small the content is truncated and -+ * extattr_list_link returns the number of written bytes and no -+ * error is raised. If size == len assumes the buffer was too small -+ * and behave like Linux requesting a larger buffer. */ -+ errno = ERANGE; -+ return -1; -+ } -+ - /* FreeBSD puts a single-byte length before each string, with no '\0' +--- lib/sysxattrs.c.orig 2026-05-12 09:36:07 UTC ++++ lib/sysxattrs.c +@@ -142,16 +142,13 @@ * terminator. We need to change this into a series of null-terminted * strings. Since the size is the same, we can simply transform the * output in place. */ - for (off = 0; off < len; off += keylen + 1) { - keylen = ((unsigned char*)list)[off]; - if (off + keylen >= len) { -- /* Should be impossible, but kernel bugs happen! */ +- /* Should be impossible, but bugs happen! */ - errno = EINVAL; - return -1; - } - memmove(list+off, list+off+1, keylen); - list[off+keylen] = '\0'; -+ keylen = (unsigned char)list[0]; -+ memmove(list, list+1, len-1); -+ list[len-1] = '\0'; -+ for (off = keylen; off < (len - 1); off += (keylen + 1)) { -+ keylen = (unsigned char)list[off]; -+ list[off] = '\0'; - } +- } ++ keylen = (unsigned char)list[0]; ++ memmove(list, list+1, len-1); ++ list[len-1] = '\0'; ++ for (off = keylen; off < (len - 1); off += (keylen + 1)) { ++ keylen = (unsigned char)list[off]; ++ list[off] = '\0'; ++ } return len; + } diff --git a/net/rsync/files/patch-testsuite_xattrs.test b/net/rsync/files/patch-testsuite_xattrs.test index 95a1a285d96b..264472b898cf 100644 --- a/net/rsync/files/patch-testsuite_xattrs.test +++ b/net/rsync/files/patch-testsuite_xattrs.test @@ -1,5 +1,5 @@ ---- a/testsuite/xattrs.test.orig 2022-10-20 16:09:26.000000000 +0000 -+++ b/testsuite/xattrs.test 2025-06-29 07:49:45.880992000 +0000 +--- testsuite/xattrs.test.orig 2022-10-20 16:09:26 UTC ++++ testsuite/xattrs.test @@ -10,7 +10,14 @@ $RSYNC -VV | grep '"xattrs": true' >/dev/null || test_skipped "Rsync is configured without xattr support" |
