aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Osorio <rodrigo@FreeBSD.org>2026-05-12 15:06:54 +0000
committerRodrigo Osorio <rodrigo@FreeBSD.org>2026-05-15 20:54:57 +0000
commit3f345476b5ca39b55f3d9f2223072da96783475d (patch)
treeeab387133a47abba8a4f11b185d5e6f411d410c2
parent6f30752564b9e3ee44e8a1a1eeb5b0dfd2dd66ee (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--UPDATING8
-rw-r--r--net/rsync/Makefile38
-rw-r--r--net/rsync/distinfo8
-rw-r--r--net/rsync/files/patch-lib_sysxattrs.c42
-rw-r--r--net/rsync/files/patch-testsuite_xattrs.test4
5 files changed, 34 insertions, 66 deletions
diff --git a/UPDATING b/UPDATING
index 0c1eb855eb8b..8ceb0ad0a51a 100644
--- a/UPDATING
+++ b/UPDATING
@@ -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"