21392 Commits
Author SHA1 Message Date
Jake Wallin dd06499700 mknod: warn when an explicit security context is ignored 2026-10-16 11:20:10 +02:00
Jake Wallin 781b4991d2 install: warn when an explicit security context is ignored 2026-10-16 11:04:19 +02:00
Jake Wallin 79ad53e5b3 cp: warn when an explicit security context is ignored 2026-10-16 10:45:47 +02:00
Sichen 249b4b6385 tests/nohup: check the escaped name of a non-UTF-8 command
Check that stderr includes the escaped command name, as the
corresponding nice test does.
2026-10-16 10:05:25 +02:00
Jake Wallin b8657e82ac tail: document +NUM in help and man pages 2026-10-16 03:21:49 +02:00
Jake Wallin 175f6e1c38 csplit: accept non-UTF-8 input 2026-10-16 03:00:58 +02:00
oech3 4945ecfb42 stty: simplify import 2026-10-16 00:08:27 +02:00
oech3 5d85295970 stty: remove unnecessary mut from Vec 2026-10-15 23:49:46 +02:00
Jake Wallin d5a8979c47 install: report why a target cannot be used as a directory 2026-10-15 21:21:25 +02:00
Devel b136ecacfc cspell: fix a few typos and add a few terms 2026-10-15 21:00:12 +02:00
Jake Wallin 72e508657d pathchk: reject empty paths on WASI 2026-10-15 19:55:19 +02:00
xtqqczze e20895bb1b build(nohup): gate by target support 2026-10-15 19:55:06 +02:00
Jake Wallin 2fb77e8b92 mv: diagnose directory overwrites of symlink destinations
Check the destination entry without following its symlink target so missing
or inaccessible referents do not fall through to a raw rename error.
Extend the regression to cover existing and dangling symlinks.

Closes #15358
2026-10-15 10:39:12 +02:00
Yunus Emre Ozen 0982bd1e2f ls: update has_acl docs for macOS and let the ACL test fail 2026-10-15 09:35:18 +02:00
Yunus Emre Ozen 2575937316 uucore: adjust has_acl tests for macOS
An xattr alone is no longer reported as an ACL on macOS, so expect false
there, and add a macOS test that sets a real ACL with chmod +a.
2026-10-15 09:35:18 +02:00
Yunus Emre Ozen ba880c8366 ls: show the ACL '+' on macOS
On macOS the ACL isn't stored as a listed xattr, and most files carry some
xattr (e.g. com.apple.provenance), so ls -l hard-coded is_acl_set = false.
Check for an extended ACL with acl_get_file / acl_get_link_np instead and
enable the check on macOS.

Fixes #15273
2026-10-15 09:35:18 +02:00
wtcpython 59cd0b5eab cat: distinguish read and write errors 2026-10-15 09:30:09 +02:00
Igor Giamoniano 7654e67ea9 dd: shorten comments; tests: OpenBSD detects seekable stdout 2026-10-15 02:16:37 +02:00
Igor Giamoniano 28419c9b88 dd: tests: account for platforms without seekable stdout detection 2026-10-15 02:16:37 +02:00
Igor Giamoniano 03967cb719 dd: only extend the output at the end, and report a failed truncate
Refs #13403
2026-10-15 02:16:37 +02:00
Jake Abendroth c76f272551 sort: keep to its own temporary directory and files
Temporary files were created, reopened and deleted by path, and cleanup
emptied the temporary directory by path. Once the directory's path led to
another directory, sort read the files there as its own and deleted them.

The directory and each file are identified by device and inode when
created. Files are created and deleted through a descriptor of the
directory that is checked first, and reopened only if they are still the
file sort created. Cleanup deletes only the names sort created. Redox and
non-Unix systems keep the path-based code.

The directory descriptor is closed after each use, so with merges creating
their output before opening their inputs, sort needs no more file
descriptors than before.
2026-10-14 22:28:19 +02:00
Jake Abendroth 238abf6a8d sort: create a merge batch's output before opening its inputs
When a merge has more inputs than it can open at once, each batch is
merged into a temporary file. That file was created after the batch's
inputs had been opened. Create it first, so that creating it doesn't
compete with them for file descriptors, and take each batch straight
from the input iterator instead of collecting it first.
2026-10-14 22:28:19 +02:00
Sichen 114a16c1ed nice: quote command names in exec errors
Use `quote()`, as nohup does, instead of converting the command name
lossily. Invalid UTF-8 bytes are now escaped rather than replaced with
U+FFFD, and valid names use the quoted form printed by GNU in the C
locale.

Extend the test to check stderr for the escaped name.
2026-10-14 22:21:29 +02:00
Sichen 3c6cb13667 nohup: accept non-UTF-8 commands and arguments
nohup parsed COMMAND and its arguments as String, so clap rejected the
whole invocation when any value was not valid UTF-8. It exited 125
without running the command.

Read COMMAND and its arguments as OsString and pass them through
unchanged. The existing "failed to run command" diagnostic already
quotes an OsString correctly.
2026-10-14 22:21:29 +02:00
Sichen e0c239ce9d nice: accept non-UTF-8 commands and arguments
nice parsed COMMAND and its arguments as String, so clap rejected the
whole invocation when any value was not valid UTF-8. The command never
ran and nice exited 125.

Read COMMAND and the remaining arguments as OsString and pass them to
exec unchanged. Convert the command name lossily only when it is needed
for the diagnostic after exec fails.

The adjustment remains a String. GNU rejects a non-UTF-8 adjustment too;
only the diagnostic differs.
2026-10-14 22:21:29 +02:00