pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [pkgsrc-2026Q3] pkgsrc/net
Module Name: pkgsrc
Committed By: maya
Date: Wed Nov 11 10:00:38 UTC 2026
Modified Files:
pkgsrc/net/rrsync [pkgsrc-2026Q3]: Makefile
pkgsrc/net/rsync [pkgsrc-2026Q3]: Makefile Makefile.common distinfo
Added Files:
pkgsrc/net/rsync/patches [pkgsrc-2026Q3]: patch-syscall.c
patch-testsuite_symlink-receiver-perms__test.py
Removed Files:
pkgsrc/net/rrsync [pkgsrc-2026Q3]: distinfo
Log Message:
Pullup ticket #7352 - requested by taca
net/rsync: Security fix
Revisions pulled up:
- net/rrsync/Makefile 1.3
- net/rrsync/distinfo deleted
- net/rsync/Makefile 1.137-1.138
- net/rsync/Makefile.common 1.2-1.4
- net/rsync/distinfo 1.69-1.71
- net/rsync/patches/patch-syscall.c 1.1
- net/rsync/patches/patch-testsuite_symlink-receiver-perms__test.py 1.1
---
Module Name: pkgsrc
Committed By: adam
Date: Tue Sep 22 06:44:46 UTC 2026
Modified Files:
pkgsrc/net/rsync: Makefile Makefile.common distinfo
Log Message:
rsync: updated to 3.5.1
3.5.1
PROTOCOL NUMBER:
The protocol number was changed to 33.
BUG FIXES:
Fixed several path-handling regressions from 3.5.0. Explicit sender paths can again traverse symlinked ancestors without weakening confinement of paths found during recursive scans. Local and
remote-shell --files-from paths are handled as operator-supplied paths rather than paths beneath the transfer root.
Fixed access to /dev/stdin, /dev/stdout, /dev/stderr and /dev/fd/N when they refer to pipes or descriptors inside user namespaces. Reading batch data from a FIFO or process substitution works
again.
Restored --max-alloc=0 as a spelling for the parser's maximum allocation limit rather than disabling that limit.
Fixed restricted-root paths in rrsync and detection of an inetd connection when a daemon is started with a local socket on standard input, as can happen under ADB without a PTY.
Allowed --contimeout for daemon connections made through --rsh without applying it to ordinary remote-shell transfers.
Tightened validation of partial-directory state and alternate-destination paths on the receiver. An alternate-destination leaf symlink is no longer followed as a basis file.
Fixed undefined shifts in the bundled zlib code and a FreeBSD amd64 build failure involving the assembly and SIMD objects.
ENHANCEMENTS:
Added support for internationalised domain names when the required library is available at build time.
Added the number of 4 KiB logical blocks touched to --stats. This counts distinct logical file regions written by the receiver, not physical disk blocks or disk I/O. It is reported when both peers
negotiate protocol 33.
BUILD AND TESTS:
install-strip now honours STRIP including during cross-compilation.
Updated platform tests and fleet-test coverage for the 3.5.0 fixes.
---
Module Name: pkgsrc
Committed By: wiz
Date: Tue Sep 22 20:47:13 UTC 2026
Modified Files:
pkgsrc/net/rrsync: distinfo
Log Message:
rrsync: update distinfo for rsync update
---
Module Name: pkgsrc
Committed By: kim
Date: Tue Sep 22 22:59:31 UTC 2026
Modified Files:
pkgsrc/net/rsync: Makefile.common
Log Message:
rsync: Add DISTINFO_FILE and PATCHDIR to Makefile.common
Try to avoid net/rrsync/distinfo going stale on rsync updates.
---
Module Name: pkgsrc
Committed By: kim
Date: Tue Sep 22 23:03:52 UTC 2026
Modified Files:
pkgsrc/net/rrsync: Makefile
Removed Files:
pkgsrc/net/rrsync: distinfo
Log Message:
rrsync: No local distinfo anymore, and no patching needed
---
Module Name: pkgsrc
Committed By: wiz
Date: Wed Nov 4 16:56:24 UTC 2026
Modified Files:
pkgsrc/net/rsync: Makefile.common distinfo
Log Message:
rsync: update to 3.5.2.
# NEWS for rsync 3.5.2 (4 Nov 2026)
## Changes in this version:
### BUG FIXES:
- Fixed interrupted `--append` and `--inplace` transfers writing the final
256 KiB buffer twice. An interrupted destination now remains a clean prefix
which the next transfer can resume or repair.
- Fixed uploads through `rrsync` when the destination file already exists.
Existing files are now reached beneath a pinned parent directory instead of
being passed as an unwritable `/proc/self/fd/N` destination.
- Fixed poor matching performance on large sparse and repeated-block files
when duplicate checksum chains exhausted the search limit. Valid basis
blocks are no longer hidden behind duplicate entries.
- Bounded strong-checksum work when a malicious receiver supplies weak
checksums that collide with consecutive rolling windows
(CVE-2026-119741).
- Prevented the `--inplace` matcher from advancing its aligned basis index
beyond the available checksum entries. This avoids signed overflow on large
source files when the peer supplies a small block count.
- Recovered from failed hard-link creation without aborting or hanging the
generator. Remaining members fall back to a fresh hard-link group when the
original destination inode cannot accept another link.
- Prevented an out-of-bounds write while invalidating a sender checksum after
a file read error when the negotiated checksum length is zero.
- Fixed a daemon receiver stack overflow when queued deletion output reached
`--max-alloc`. Quiet daemon transfers no longer queue deletion messages
unless the client requested them.
- Fixed a `--files-from` pull from a subdirectory of a daemon module, which
read each listed file from the module root instead. It could send, and with
`--remove-source-files` delete, a same-named file the module's filter
excludes.
- Fixed password files whose first line is empty. The parser no longer skips
the empty line and uses a later password.
- Escaped terminal control characters in filenames and diagnostics written to
standard output, standard error and log files while preserving printable
text in the active locale.
- Preserved Cygwin and MSYS2 UNC roots during ownership-checked path walks.
- Restored daemon startup from accepted named Unix sockets on standard input,
including filesystem and Linux abstract sockets used for socket activation.
Unnamed local socket pairs remain non-daemon channels.
- Fixed forward-DNS hostname entries in daemon `hosts allow` and `hosts deny`
lists for IPv6 peers. Address comparison is now binary and family-aware.
- Preserved Unix symlink permissions on systems which require `fchmodat()` to
change the mode of a symlink rather than its target.
- Restored builds on systems without `O_CLOEXEC` or `O_DIRECTORY`, including
Solaris 10.
### ENHANCEMENTS:
- Added `--nice` to adjust CPU and I/O scheduling priorities for local and
remote rsync processes. Daemon clients and rrsync cannot raise server-side
priorities.
- Human-readable output now uses dynamic precision to show three significant
digits and appends `i` to binary unit suffixes. `--progress` uses the same
formatter for transfer rates and labels byte counts and rates with `B` and
`B/s`. Example output includes `46.7M`, `48.8Mi`, `782,448B` and
`113,295B/s`. File-list, created-directory and skipped-deletion counts also
use thousands separators.
- Added `--delay-symlinks` to defer creating new and changed symlinks until
other transferred files are in place. It implies `--no-inc-recursive` and
requires protocol 29 or newer with support on the receiving side. It cannot
be combined with `--remove-source-files`, `--hard-links`, `--compare-dest`,
`--copy-dest` or `--link-dest`.
---
Module Name: pkgsrc
Committed By: wiz
Date: Fri Nov 6 11:52:40 UTC 2026
Modified Files:
pkgsrc/net/rsync: Makefile distinfo
Added Files:
pkgsrc/net/rsync/patches: patch-syscall.c
patch-testsuite_symlink-receiver-perms__test.py
Log Message:
rsync: update to 3.5.2nb1.
add upstream patch fixing a problem with receiving symlinks.
Bump PKGREVISION.
Add test status.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.2.1 pkgsrc/net/rrsync/Makefile
cvs rdiff -u -r1.1 -r0 pkgsrc/net/rrsync/distinfo
cvs rdiff -u -r1.136 -r1.136.2.1 pkgsrc/net/rsync/Makefile
cvs rdiff -u -r1.1 -r1.1.2.1 pkgsrc/net/rsync/Makefile.common
cvs rdiff -u -r1.68 -r1.68.2.1 pkgsrc/net/rsync/distinfo
cvs rdiff -u -r0 -r1.1.2.2 pkgsrc/net/rsync/patches/patch-syscall.c \
pkgsrc/net/rsync/patches/patch-testsuite_symlink-receiver-perms__test.py
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/net/rrsync/Makefile
diff -u pkgsrc/net/rrsync/Makefile:1.2 pkgsrc/net/rrsync/Makefile:1.2.2.1
--- pkgsrc/net/rrsync/Makefile:1.2 Sat Aug 15 06:57:50 2026
+++ pkgsrc/net/rrsync/Makefile Wed Nov 11 10:00:38 2026
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2026/08/15 06:57:50 wiz Exp $
+# $NetBSD: Makefile,v 1.2.2.1 2026/11/11 10:00:38 maya Exp $
.include "../../net/rsync/Makefile.common"
@@ -25,6 +25,9 @@ SUBST_SED.paths= -e "s|'/usr/bin/rsync'|
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
+# The files rsync patches are not extracted for rrsync
+do-patch:
+
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/support/rrsync \
${DESTDIR}${PREFIX}/bin/rrsync
Index: pkgsrc/net/rsync/Makefile
diff -u pkgsrc/net/rsync/Makefile:1.136 pkgsrc/net/rsync/Makefile:1.136.2.1
--- pkgsrc/net/rsync/Makefile:1.136 Sat Aug 15 06:57:50 2026
+++ pkgsrc/net/rsync/Makefile Wed Nov 11 10:00:38 2026
@@ -1,7 +1,9 @@
-# $NetBSD: Makefile,v 1.136 2026/08/15 06:57:50 wiz Exp $
+# $NetBSD: Makefile,v 1.136.2.1 2026/11/11 10:00:38 maya Exp $
.include "Makefile.common"
+PKGREVISION= 1
+
COMMENT= Network file distribution/synchronisation utility
USE_TOOLS+= bash:run
@@ -24,10 +26,18 @@ SUBST_FILES.paths= rsync.1 rsyncd.conf.5
SUBST_SED.paths= -e 's|/etc/rsyncd|${PKG_SYSCONFDIR}/rsyncd|g'
SUBST_SED.paths+= -e 's|/usr/bin/rsync|${PREFIX}/bin/rsync|g'
+# test status as of 3.5.2
+# 242 passed
+# 6 failed
+# 129 skipped
+
.include "options.mk"
.include "../../archivers/lz4/buildlink3.mk"
+# needed for testing
+#.include "../../lang/python/tool.mk"
.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/libidn2/buildlink3.mk"
.include "../../devel/popt/buildlink3.mk"
.include "../../devel/xxhash/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
Index: pkgsrc/net/rsync/Makefile.common
diff -u pkgsrc/net/rsync/Makefile.common:1.1 pkgsrc/net/rsync/Makefile.common:1.1.2.1
--- pkgsrc/net/rsync/Makefile.common:1.1 Sat Aug 15 06:57:50 2026
+++ pkgsrc/net/rsync/Makefile.common Wed Nov 11 10:00:38 2026
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.1 2026/08/15 06:57:50 wiz Exp $
+# $NetBSD: Makefile.common,v 1.1.2.1 2026/11/11 10:00:38 maya Exp $
#
# used by net/rsync/Makefile
# used by net/rrsync/Makefile
-DISTNAME= rsync-3.5.0
+DISTNAME= rsync-3.5.2
CATEGORIES= net
MASTER_SITES= http://rsync.samba.org/ftp/rsync/
MASTER_SITES+= http://rsync.samba.org/ftp/rsync/old-versions/
@@ -11,3 +11,6 @@ MASTER_SITES+= http://rsync.samba.org/ft
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= https://rsync.samba.org/
LICENSE= gnu-gpl-v3
+
+DISTINFO_FILE= ${.CURDIR}/../../net/rsync/distinfo
+PATCHDIR= ${.CURDIR}/../../net/rsync/patches
Index: pkgsrc/net/rsync/distinfo
diff -u pkgsrc/net/rsync/distinfo:1.68 pkgsrc/net/rsync/distinfo:1.68.2.1
--- pkgsrc/net/rsync/distinfo:1.68 Thu Aug 13 06:17:23 2026
+++ pkgsrc/net/rsync/distinfo Wed Nov 11 10:00:38 2026
@@ -1,7 +1,9 @@
-$NetBSD: distinfo,v 1.68 2026/08/13 06:17:23 wiz Exp $
+$NetBSD: distinfo,v 1.68.2.1 2026/11/11 10:00:38 maya Exp $
-BLAKE2s (rsync-3.5.0.tar.gz) = cbeec5e81787e407a26e9a9e18c95d4e75344e0ce86c3e9fef12b127b49ee808
-SHA512 (rsync-3.5.0.tar.gz) = 6c5bada017e4e5f5b451058e2d1863174a1807796525ef4188c1f40358ccbdd36604fd2275dceb1cc6a95ac04da211501553353026c48594c5a79eedb27ce68d
-Size (rsync-3.5.0.tar.gz) = 1892222 bytes
+BLAKE2s (rsync-3.5.2.tar.gz) = 93505151c66ae1cc16324f5a944bc5ad888c3bbdc63217b62e91b959c23a4707
+SHA512 (rsync-3.5.2.tar.gz) = 751bf76d759d101d2b3a8f800d7512df1973753e0438885e75d4bdbda842e9f2cf265616aaebd48a1a6740903444b29338e54c66c793c3f2c080eb08802f8c14
+Size (rsync-3.5.2.tar.gz) = 1977884 bytes
SHA1 (patch-Makefile.in) = 701577726bdb3b91c97bba47c6be331505630a72
SHA1 (patch-acls.c) = 9be60c0c1abedc961fa95bba2bb23d802a09bc62
+SHA1 (patch-syscall.c) = f7c7b513023a80cfb391540ad37c03c52f37ae79
+SHA1 (patch-testsuite_symlink-receiver-perms__test.py) = 16cb062c288b778443970e564323b5a4ad79b3d8
Added files:
Index: pkgsrc/net/rsync/patches/patch-syscall.c
diff -u /dev/null pkgsrc/net/rsync/patches/patch-syscall.c:1.1.2.2
--- /dev/null Wed Nov 11 10:00:38 2026
+++ pkgsrc/net/rsync/patches/patch-syscall.c Wed Nov 11 10:00:38 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-syscall.c,v 1.1.2.2 2026/11/11 10:00:38 maya Exp $
+
+https://github.com/RsyncProject/rsync/commit/ea645201fefbba7f6b6b22b621856dba3c01cdd3
+
+--- syscall.c.orig 2026-10-26 11:16:36.000000000 +0000
++++ syscall.c
+@@ -1806,6 +1806,8 @@ int do_chmod(const char *path, mode_t mode)
+ code = 1;
+ # elif defined AT_FDCWD && defined AT_SYMLINK_NOFOLLOW
+ code = fchmodat(AT_FDCWD, path, mode & CHMOD_BITS, AT_SYMLINK_NOFOLLOW);
++ if (code < 0 && (errno == ENOTSUP || errno == EOPNOTSUPP || errno == ENOSYS))
++ code = 1;
+ # else
+ code = 1;
+ # endif
Index: pkgsrc/net/rsync/patches/patch-testsuite_symlink-receiver-perms__test.py
diff -u /dev/null pkgsrc/net/rsync/patches/patch-testsuite_symlink-receiver-perms__test.py:1.1.2.2
--- /dev/null Wed Nov 11 10:00:38 2026
+++ pkgsrc/net/rsync/patches/patch-testsuite_symlink-receiver-perms__test.py Wed Nov 11 10:00:38 2026
@@ -0,0 +1,48 @@
+$NetBSD: patch-testsuite_symlink-receiver-perms__test.py,v 1.1.2.2 2026/11/11 10:00:38 maya Exp $
+
+https://github.com/RsyncProject/rsync/commit/ea645201fefbba7f6b6b22b621856dba3c01cdd3
+
+--- testsuite/symlink-receiver-perms_test.py.orig 2026-11-06 11:47:24.607409717 +0000
++++ testsuite/symlink-receiver-perms_test.py
+@@ -0,0 +1,41 @@
++#!/usr/bin/env python3
++
++import os
++import stat
++import struct
++
++from rsyncfns import SCRATCHDIR, makepath, run_rsync, test_fail
++
++source = SCRATCHDIR / 'source'
++destination = SCRATCHDIR / 'destination'
++makepath(source)
++makepath(destination)
++target = destination / 'target'
++target.write_text('target contents\n')
++target.chmod(0o640)
++links = [('link', 'target'), ('dangling', 'missing')]
++for name, link in links:
++ os.symlink(link, source / name)
++
++batch = SCRATCHDIR / 'symlinks.batch'
++run_rsync('-rlp', '--checksum-seed=1', f'--only-write-batch={batch}',
++ f'{source}/', f'{destination}/')
++
++# Supply BSD-style link modes without relying on the source filesystem
++mode = stat.S_IMODE((source / 'link').lstat().st_mode)
++wanted = 0o400 if mode != 0o400 else 0o755
++encoded_mode = struct.pack('<I', 0o120000 | mode)
++data = batch.read_bytes()
++if data.count(encoded_mode) != 1:
++ test_fail('expected one shared symlink mode in the batch')
++batch.write_bytes(data.replace(encoded_mode, struct.pack('<I', 0o120000 | wanted)))
++
++for _ in range(2):
++ run_rsync('-rlp', f'--read-batch={batch}', f'{destination}/')
++ for name, link in links:
++ if not (destination / name).is_symlink() or os.readlink(destination / name) != link:
++ test_fail(f'{name}: symlink was not preserved')
++ if stat.S_IMODE(target.stat().st_mode) != 0o640 or target.read_text() != 'target contents\n':
++ test_fail('symlink chmod changed the target')
++ if (destination / 'missing').exists():
++ test_fail('dangling symlink target was created')
Home |
Main Index |
Thread Index |
Old Index