SKIP acl-symlink-race (POSIX ACL race test is Linux-only (setfacl/getfacl semantics)) SKIP acls-default (Your filesystem has ACLs disabled) SKIP acls-unpinnable (POSIX ACL test is Linux-only (setfacl/getfacl semantics)) PASS alt-dest-symlink-race SKIP acls (Your filesystem has ACLs disabled) SKIP acls-depth (filesystem does not support setting ACLs) SKIP authenticate-no-ocloexec-build-regression (configured rsync source tree unavailable at /export/home/andreas/oi-userland/components/network/rsync/rsync-3.5.1) SKIP backup-acl-xattr-cache (ACLs not supported on this filesystem) PASS append-shortsum PASS atimes PASS alt-dest-deep PASS append PASS backup-dir-relative SKIP backup-dir-symlink-race (requires root to plant a backup-dir symlink owned by a non-self uid) PASS backup-dir-repeated-separator-delete PASS backup-crossdev-copy SKIP basis-xname-traversal (mal-xname-rsync: needs a configured rsync source tree with a Makefile) SKIP batch-file-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) PASS bare-do-open-symlink-race PASS 00-hello PASS backup-deep PASS backup-incremental PASS batch-only-remove-source-regression PASS chdir-symlink-race SKIP checksum-zero-blocklen (the pure-Python receiver needs a real TCP socket; run with --use-tcp) PASS backup PASS chmod-setid PASS chmod-symlink-race PASS batch-mode PASS chmod PASS chmod-temp-dir SKIP chroot-alt-dest-inner-module (chroot /./ module regression requires root) PASS chmod-option SKIP chroot-basis-forge-inner-module (the pure-Python sender needs a real TCP daemon; run with --use-tcp) PASS chown-fake SKIP chroot-copy-dest-inner-module (chroot /./ module regression requires root) SKIP chroot-link-dest-inner-module (chroot /./ module regression requires root) SKIP chroot-receiver-write-inner-module (chroot /./ module regression requires root) SKIP chroot-special-inner-module (chroot /./ module regression requires root) PASS clean-fname-collapse PASS chown PASS clean-fname-underflow PASS connect-prog-host-quoting PASS compress-zlib-insert PASS alt-dest PASS connect-prog-nested-singlequote-host-injection PASS copy-dest-source-symlink SKIP copy-dest-symlink-readleak (requires root to plant a copy-dest symlink owned by a non-self uid) SKIP copy-xattrs-symlink-race (parent-flip xattr race is checked on Linux (os.*xattr)) SKIP crtimes (Rsync is configured without crtimes support) PASS cvs-exclude SKIP daemon-access-ip (hosts allow/deny address matching needs a real TCP peer) SKIP daemon-access-idn (hosts allow/deny hostname matching needs a real TCP peer) PASS compare SKIP daemon-argv-limit (raw malicious daemon client needs a real TCP daemon; run with --use-tcp) PASS compress-options PASS daemon-auth-digest-floor SKIP daemon-auth-group (@group daemon-auth coverage is Linux-specific) PASS chgrp SKIP daemon-chroot-acl (needs a real TCP peer address for reverse-DNS hostname ACL; run with --use-tcp) SKIP daemon-chroot-munge-default (chroot regimes (B/C) need root; verified the no-chroot regime munges by default) PASS daemon-auth-users-comma-only PASS daemon-auth SKIP daemon-chroot (use chroot = yes needs root (CAP_SYS_CHROOT)) SKIP daemon-config-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) PASS daemon-copy-links-symlink PASS daemon-copylinks-intree PASS daemon-config PASS daemon-access PASS contimeout-rsh SKIP daemon-dot-file-force-wipe (the malicious daemon client needs a real TCP socket; run with --use-tcp) PASS daemon-delete-stats PASS daemon-copylinks-parent-escape SKIP daemon-deny-dns-failopen (hosts deny DNS-failure matching needs a real TCP peer) PASS daemon-early-exec-nameconv PASS daemon-exclude-from-outside-module PASS daemon-exclude-namebased PASS daemon-exec-rsync-env-shell-escape PASS daemon-exec-second-shell-argument-injection PASS daemon-exec-singlequote-injection PASS daemon-exec-metachar-documented-limit PASS daemon-copylinks-parent-target-regression PASS daemon-filter-merge-bypass PASS daemon-exec-metachar-refused PASS daemon-filter PASS daemon-groupmap-wild SKIP daemon-handshake-timeout (raw stalled clients need a real TCP daemon; run with --use-tcp) SKIP daemon-http-proxy (RSYNC_PROXY uses open_socket_out(), needs a real TCP connect) SKIP daemon-leaf-type-race-fchmod (leaf-type authority proof currently requires Darwin) SKIP daemon-module-chdir-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) PASS daemon-gzip-download PASS daemon-link-dest-escape SKIP daemon-module-options (motd/socket-options need a real socket) PASS daemon-gzip-upload SKIP daemon-module-private-parent (requires root (a 0700 parent the served uid cannot traverse, and a daemon that drops to an unprivileged uid)) PASS daemon-include-maxconn SKIP daemon-namecvt-newline-token (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP daemon-namecvt-empty-response (this Python build lacks os.getxattr to read fake-super metadata) PASS daemon-munge PASS daemon-path-root-read PASS daemon-path-rsync-var PASS daemon-exec SKIP daemon-proxy-protocol (PROXY-protocol header is read from a real TCP socket; run with --use-tcp) SKIP daemon-refuse-compress-threads-alias (the malicious receiver needs a real TCP daemon; run with --use-tcp) SKIP daemon-secrets-file-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) PASS daemon-scan-dir-escape PASS daemon-scan-cwd-desync SKIP daemon-standalone-detach (standalone detaching daemon opens a real loopback listener; run with --use-tcp) PASS change-shrink PASS change-vanish PASS daemon-subdir-climb-symlink PASS daemon-strict-modes-matrix SKIP daemon-symlink-escape-matrix (the daemon symlink-resolution flow needs a real TCP peer) PASS daemon-stdin-local-socket SKIP daemon-unix-socket-atfd (cannot create unix-domain socket fixture: AF_UNIX path too long) SKIP daemon-zstd-thread-exhaustion (the malicious receiver needs a real TCP daemon; run with --use-tcp) PASS daemon-size-arg-overflow PASS daemon-refuse-compress PASS delete-missing-args-files-from PASS delay-updates-deep PASS daemon PASS deep-path PASS delay-updates PASS dest-symlinked-dir PASS dirs PASS dir-sgid SKIP early-input-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) PASS delete PASS duplicates SKIP exclude-implied-trailing-backslash (a real network rsync daemon is needed (am_server==0 per-module); run with --use-tcp) SKIP excludefrom-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) PASS delete-deep PASS executability PASS daemon-refuse SKIP fake-super-acl-xattr (fake-super ACL xattrs use the Linux user.rsync.* namespace) SKIP fake-super-backup-fifo-regression (deterministic fast-path failure needs dyld/ELF interposing) SKIP files-from-leak (requires root to plant a backup-dir symlink owned by a non-self uid) PASS files-from-path-clamp PASS file-to-file-mkpath-dry-run PASS daemon-refuse-delete-alias PASS files-from-depth SKIP filter-leak (requires root to plant a backup-dir symlink owned by a non-self uid) PASS filter-depth PASS devices-fake SKIP filter-merge-symlink (requires root to plant a symlink owned by a non-self uid (simulates the 'root runs `rsync -a /home /backup`' case)) PASS filter-merge-recursion PASS fuzzy-basis PASS git-set-file-times-python-compat-regression PASS files-from PASS hardlinks-deep PASS devices PASS filter-merge-content-echo PASS hashsearch-chain PASS hashtable-overflow SKIP highfd-hang (RLIMIT_NOFILE hard cap 65536 < 65680; cannot place fds above FD_SETSIZE (65536) to exercise issue #231) SKIP inband-modname-leak (the daemon @ERROR handshake needs a real TCP peer) PASS hands PASS exclude-lsh PASS fuzzy SKIP insecure-links-admin-optout (requires root to plant a foreign-owned symlink and serve as root) SKIP io-noop-flood-recursion (the pure-Python client needs a real TCP daemon; run with --use-tcp) SKIP io-nosend-flood-recursion (the pure-Python client needs a real TCP daemon; run with --use-tcp) PASS inplace SKIP io-readargs-argv-nullwrite (the pure-Python client needs a real TCP daemon; run with --use-tcp) PASS iwildmatch-fold PASS keep-dirlinks-symlinked-dest PASS exclude PASS keep-dirlinks-rule SKIP ki62-io-error-mask (needs --use-tcp to kill the daemon (sender) mid-transfer) PASS ki73-cvs-clear-list PASS ki72-safe-links-backup PASS link-dest-module-escape PASS ki58-log-format-percent PASS hardlinks PASS link-dest-pathroot SKIP link-dest-symlink-enotsup (the LD_PRELOAD linkat hook is Linux-only) PASS link-dest-relative-basis SKIP log-file-symlink (requires root to plant a symlink owned by a non-root, non-self uid (the attacker simulation)) PASS log-control-chars PASS links SKIP macos-setgid-ordinary-mode-regression (macOS-specific fchmodat setgid behavior) SKIP malicious-dot-dir-delete-scope (the malicious sender needs a real TCP socket; run with --use-tcp) SKIP malicious-dot-file-delete-scope (the malicious sender needs a real TCP socket; run with --use-tcp) SKIP malicious-sender-delete-scope (malicious-sender-delete-scope: needs a writable rsync source tree at SRCDIR=/export/home/andreas/oi-userland/components/network/rsync/rsync-3.5.1 with Makefile + flist.c; the patched-sender build relies on it.) SKIP match-append-empty-nullmap (the pure-Python generator needs a real TCP daemon; run with --use-tcp) SKIP match-want-i-nolen (the pure-Python generator needs a real TCP daemon; run with --use-tcp) SKIP malicious-server-partial-basis-symlink-overwrite (the malicious sender needs a real TCP socket; run with --use-tcp) PASS longdir PASS metadata-depth PASS max-alloc-zero PASS misc-coverage SKIP msg-io-timeout-overflow (io-timeout-fwrapv: needs a configured rsync source tree with a Makefile) PASS missing PASS nested-socket-specials PASS install-strip SKIP nondaemon-symlink-race (requires root to plant a backup-dir symlink owned by a non-self uid) PASS mkpath SKIP nonroot-restrictive-perms (needs chown to set up a non-root-owned dest tree) PASS no-implied-dirs-symlink PASS idn SKIP open-noatime (O_NOATIME is only supported on Linux) PASS omit-times PASS operator-path-backup-dir-exclude-daemon SKIP operator-path-backup-rmdir (requires root to plant a backup-dir symlink owned by a non-self uid) PASS itemize PASS operator-path-backup-dir-daemon SKIP operator-path-backup-symlink (requires root to plant a backup-dir symlink owned by a non-self uid) PASS operator-path-dir-daemon-inmodule PASS operator-path-dir-daemon-leaf PASS merge PASS operator-path-dir-daemon-mkdir PASS operator-path-dir-daemon-outside PASS operator-path-backup-dir SKIP operator-path-insecure-links-daemon (requires root to plant a symlink owned by a non-self uid) PASS operator-path-compare-dest PASS operator-path-copy-dest PASS operator-path-partial-dir-daemon PASS operator-path-files-from PASS operator-path-partial-dir-exclude-daemon PASS growing-file PASS operator-path-link-dest PASS operator-path-inplace-backup-dir PASS operator-path-log-file PASS operator-path-insecure-links-refused PASS operator-path-partial-dir PASS operator-path-traversal-dest-dir-daemon PASS operator-path-traversal-partial-dir-daemon SKIP partial-protected-regular-retry-linux (LD_PRELOAD partial EACCES recovery hook is Linux-only) PASS partial-dir-abs-delta SKIP partial-protected-regular-retry-policy (deterministic partial EACCES recovery uses dyld interposing) PASS ownership-depth PASS partial_nowrite PASS operator-path-traversal-backup-dir-daemon SKIP peer-legacy-implied-delete-scope (the malicious protocol-29 server needs TCP; run with --use-tcp) PASS operator-path-write-batch PASS operator-path-temp-dir SKIP password-file-symlink (requires root to plant a symlink owned by a non-self uid (the attacker simulation)) SKIP protected-regular (Can't find protected_regular setting (only available on Linux)) SKIP proto-cleared-ndx (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proto-hlink-flag-oob (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proto-cleared-dirflist (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP preallocate (--preallocate not supported on this platform) SKIP proto-hlink-gnum (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proto-msg-info-assert (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proto-parent-ndx-empty-dirflist (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proto-sender-selftest (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proto-subflist-freed (the pure-Python sender needs a real TCP daemon; run with --use-tcp) SKIP proxy-connect-request-too-long (fake-proxy listener needs a real TCP socket; run with --use-tcp) PASS output-options SKIP proxy-protocol-trusted-peer (PROXY protocol peer policy needs a real TCP daemon; run with --use-tcp) SKIP proxy-response-header-too-long (fake-proxy listener needs a real TCP socket; run with --use-tcp) SKIP pseudo-paths-daemon (Namespace daemon testing is a Linux-specific feature) SKIP proxy-response-line-too-long (fake-proxy listener needs a real TCP socket; run with --use-tcp) PASS proxy-host-crlf SKIP pseudo-paths (Kernel pseudo-path string is a Linux-specific procfs feature) SKIP read-batch-pipe (This test requires Linux platform) PASS prune-empty-dirs SKIP recv-generator-acl-leak (KI-23 real_sx ACL leak is only observable under AddressSanitizer/LSan) PASS relative-content PASS recv-discard-nullderef PASS relative-implied-symlink PASS readonly-partial-abort-mode-regression PASS relative-mkpath-dir-symlink PASS relative-implied PASS relative-mkpath-symlink PASS relative-symlinked-parent-dotdot PASS relative-symlinked-parent PASS rename-mixed-parent-escape-poc PASS remote-shell-newline-escaping PASS rename-mixed-parent-symlink-race SKIP rename-mixed-parent-transfer (requires root to plant a backup-dir symlink owned by a non-self uid) PASS rrsync-archive-mode PASS reverse-daemon-delta PASS rrsync-copy-unsafe-links-denied PASS rrsync-alt-dest-inband-pivot PASS rrsync-files-from-stdin PASS rrsync-logfile-symlink PASS rrsync-debug-denied PASS rrsync-backup-dir-inband-pivot PASS relative-source-ancestor PASS rrsync-no-overwrite-delay-updates PASS relative PASS rrsync-merge-file-confine PASS rrsync-no-overwrite-backup-collision PASS rrsync-no-overwrite-logfile PASS msg-io-timeout-zero SKIP rrsync-sender-leaf-flip (rrsync's realpath-vs-exec inode-pin needs /proc/self/fd (Linux); unhardened fallback elsewhere by design) SKIP rrsync-sender-parent-pin (rrsync's inode pin needs /proc/self/fd (Linux); the unhardened fallback elsewhere is by design) SKIP rrsync-symlink (rrsync's realpath-vs-exec inode-pin needs /proc/self/fd (Linux); unhardened fallback elsewhere by design) PASS rrsync-pull-delivers-content SKIP rrsync-userns-procfs (rrsync-userns-procfs is Linux-specific) PASS rrsync-no-overwrite-partial-dir PASS rsync-ssl-hostname-validation PASS rsync-ssl-openssl-hostname-check PASS rsync-ssl-stunnel-ca-required PASS rrsync-write-only-files-from PASS rsync-ssl-stunnel-hostname-check PASS safe-arg-leak PASS partial PASS rsync-ssl-type-option PASS rrsync-root-relative-paths PASS safe-links PASS safe-links-absolute-intree PASS scanner-argv-bounds PASS scanner-daemon-log-checksum PASS safe-links-unsafe-def SKIP search-only-destination (search-only-destination is Linux-specific) PASS scanner-delete-delay-overread SKIP search-only-held-dirfd (search-only held-dirfd coverage is Linux-specific) PASS secure-relpath-validation SKIP sender-remove-source-root-anchor (needs root to place a transfer source directly under /) PASS sender-remove-source-relative-anchor PASS sender-flist-symlink-leak SKIP simd-checksum (simdtest not built (SIMD not available)) PASS scanner-batch-flag-mismatch PASS rrsync-specials-denied PASS skiplist-spec PASS size-filter SKIP source-change-size-continues (source-size-change regression uses LD_PRELOAD and /proc/self/fd to synchronise the source read) PASS sparse PASS stop-time SKIP symlink-dest-backupdir (requires root to plant a backup-dir symlink owned by a non-self uid) PASS ssh-basic PASS symlink-exclude-chdir-alias PASS symlink-exclude-component PASS symlink-exclude-deep PASS rrsync-pull-arg-shapes PASS symlink-exclude-leaf PASS symlink-exclude-meta SKIP symlink-exclude-xattr (user xattrs not available) PASS symlink-exclude PASS symlink-mknod-fakesuper-symlink-race PASS symlink-ignore SKIP symlink-race-dest (requires root to plant a symlink owned by a non-self uid (simulates 'root runs rsync' over an unprivileged user's dir)) SKIP symlink-race-relative-dest (requires root to plant a symlink owned by a non-self uid (simulates 'root runs rsync -a src/ dest/' over an unprivileged user's directory)) SKIP temp-dir-symlink-injection (requires root to plant a temp-dir symlink owned by a non-self uid) PASS temp-dir PASS trimslash SKIP uidlist-id0-name-leak (KI-25 id-0 name leak is only observable under AddressSanitizer/LSan) PASS unsafe-byname PASS unsafe-links PASS update SKIP variety-symlink-traversal (no old peer selected (RSYNC_PEER == RSYNC); nothing to compare for symlink-traversal divergence) PASS sender-readlink-atfd PASS wildmatch PASS sender-remove-source-secure PASS sender-scan-dir-escape PASS write-batch-filter-injection SKIP xattr-wire-cap (the pure-Python daemon needs a real TCP socket; run with --use-tcp) PASS write-batch-quoting PASS xattrs-depth PASS write-touched-blocks SKIP xrsync (xrsync speaks the daemon protocol over a raw TCP socket; run with --use-tcp) PASS symlink-race-source PASS rename-fullpath-symlink-race PASS xattrs-hlink PASS xattrs PASS symlink-dirlink-basis PASS strict-basis PASS variety 243 passed 117 skipped