summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* bfstd: New sysoption() macro to check for POSIX option runtime supportTavian Barnes2024-08-095-39/+84
| | | | | | | | | | POSIX allows optional features to be supported at compile time but not necessarily at run time by defining _POSIX_OPTION to 0 and requiring users to check sysconf(_SC_OPTION) > 0. The new sysoption() macro simplifies the check. sighook() and bfs_spawn() now check for conditional runtime support for the relevant POSIX options.
* xtime: Remove xgettime()Tavian Barnes2024-08-095-39/+10
| | | | clock_gettime() is available everywhere by now.
* prelude: s/fallthru/_fallthrough/ for consistency with other attributesTavian Barnes2024-08-095-15/+15
|
* bar: Hide the bar unless the TTY is tall enoughTavian Barnes2024-08-071-13/+23
|
* docs/CHANGELOG: Add some new changesTavian Barnes2024-08-021-0/+6
|
* parse: Take umask into account in parse_mode()Tavian Barnes2024-08-027-10/+43
| | | | | | | POSIX 2024 clarified that find(1) is meant to work exactly like chmod(1) here, so for modes like +rw,-x with no "who" specified, apply the umask. Link: https://www.austingroupbugs.net/view.php?id=1392
* tests: Add more files to perms/Tavian Barnes2024-08-0222-103/+333
|
* parse: Fix names in parse_mode()Tavian Barnes2024-08-021-14/+14
| | | | | | | Commit 9c6e4ce ("parse: s/parser_state/bfs_parser/") was a little to overzealous in replacing "state" with "parser", resulting in the tortured phrase "parser machine parser" instead of "state machine state".
* Update opengroup.org links to POSIX 2024Tavian Barnes2024-08-024-9/+9
|
* Revert "typo: Raise the insert/delete cost"Tavian Barnes2024-08-021-1/+1
| | | | | | | That was a little too aggressive, with -alse suggesting -size instead of -false. This reverts commit 0d6822ee71c1f60c8003e13ab149501e586f9ae6.
* bar: #include <unistd.h> for ioctl() on IllumosTavian Barnes2024-08-011-0/+1
|
* tests: Make some more variables localTavian Barnes2024-08-011-2/+4
|
* tests: Fix line number reported when wait -n failsTavian Barnes2024-08-011-2/+3
|
* bar: Use tcgetwinsize() from POSIX 2024 if availableTavian Barnes2024-07-283-3/+20
|
* prelude: Simplify attributesTavian Barnes2024-07-2820-179/+125
|
* build: De-duplicate conditionally-supported flagsTavian Barnes2024-07-281-6/+14
|
* tests: Add tests for invalid users/groupsTavian Barnes2024-07-2728-0/+8
|
* xspawn: Fix error message if pthread_sigmask() failsTavian Barnes2024-07-271-2/+2
|
* xspawn: Use _Fork() if availableTavian Barnes2024-07-275-0/+22
| | | | | | | This completes the workaround for bfs_spawn() hanging on FreeBSD with ASan enabled. Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280318
* build/flags: Add -Wmissing-variable-declarations if supportedTavian Barnes2024-07-272-1/+11
|
* build/flags: Infrastructure to detect compiler flag supportTavian Barnes2024-07-274-5/+44
| | | | Use it to detect -MD -MP support.
* build/define-if.sh: Remove unneeded codeTavian Barnes2024-07-271-3/+1
|
* tests: Make more tests POSIX-compliantTavian Barnes2024-07-2310-10/+10
|
* tests/common: Add some missing pathsTavian Barnes2024-07-234-4/+4
|
* opt: -empty implies -type f,dTavian Barnes2024-07-171-5/+22
|
* opt: -lname implies -type lTavian Barnes2024-07-171-0/+7
|
* xspawn: Test the right macro for posix_spawn_..._addfchdir() supportTavian Barnes2024-07-161-1/+1
| | | | | | | | | | This should have been benign (just a performance regression), but FreeBSD has a bug that causes the fork()-based fallback to lock up when ASAN is enabled, due to fork() and dl_iterate_phdr(). This is not a complete workaround for that issue, since the fork() fallback may be used for other reasons. Fixes: 29ddac2 ("config: Check for posix_spawn_file_actions_addfchdir{,_np}()")
* Merge pull request #143 from ↵Tavian Barnes2024-07-161-4/+4
|\ | | | | | | | | tavianator/dependabot/github_actions/cross-platform-actions/action-0.25.0 build(deps): bump cross-platform-actions/action from 0.24.0 to 0.25.0
| * ci/freebsd: Update to 14.1Tavian Barnes2024-07-161-1/+1
| |
| * build(deps): bump cross-platform-actions/action from 0.24.0 to 0.25.0dependabot[bot]2024-07-151-3/+3
|/ | | | | | | | | | | | | | | Bumps [cross-platform-actions/action](https://github.com/cross-platform-actions/action) from 0.24.0 to 0.25.0. - [Release notes](https://github.com/cross-platform-actions/action/releases) - [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md) - [Commits](https://github.com/cross-platform-actions/action/compare/v0.24.0...v0.25.0) --- updated-dependencies: - dependency-name: cross-platform-actions/action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* sighook: Make sigunhook() O(1)Tavian Barnes2024-07-151-41/+51
|
* Prepare for version 4.0Tavian Barnes2024-07-103-2/+45
|
* docs/SECURITY: Fix we -> be typoTavian Barnes2024-07-101-1/+1
|
* Implement POSIX 2024's -mountTavian Barnes2024-07-086-10/+3
| | | | | | This reverts commit 4f80c17192f2b28c96a489969d4435151d68d0ce. Link: https://www.austingroupbugs.net/view.php?id=1133
* tests: -print0 is in POSIX 2024Tavian Barnes2024-07-082-0/+0
| | | | Link: https://www.austingroupbugs.net/view.php?id=243
* tests: -iname is in POSIX 2024Tavian Barnes2024-07-083-2/+1
| | | | Link: https://www.austingroupbugs.net/view.php?id=1031
* tests: Simplify unit tests with a global variableTavian Barnes2024-07-0711-324/+263
| | | | | It's a little awkward to thread the test result through manually; much easier to just make bfs_check() update a global variable.
* sighook: Replace sigtables with RCU-protected linked listsTavian Barnes2024-07-072-182/+128
| | | | | | | | This fixes an ABA problem where sigdispatch() could think no handlers are registered for a signal even when there are. Link: https://unix.stackexchange.com/a/779594/56202 Fixes: 375caac ("sighook: New utilities for hooking signals")
* tests/bfs: New case-sensitivity ordering testTavian Barnes2024-07-032-0/+28
|
* color: Delay the case_sensitive decisionTavian Barnes2024-07-023-90/+112
|
* build: Save cc.sh build products to gen/Tavian Barnes2024-06-214-13/+8
|
* build: Generate config.mk after config.hTavian Barnes2024-06-212-5/+8
| | | | That way if ./configure fails, make will complain about it directly.
* ioq: Do more in the branch-free slot helperTavian Barnes2024-06-201-11/+11
|
* configure: Remove stray () from commentTavian Barnes2024-06-201-1/+1
|
* docs: Add a security policyTavian Barnes2024-06-191-0/+126
|
* configure: Bail out if CC doesn't work at allTavian Barnes2024-06-181-2/+10
|
* build: Rename CONFIG to CONFFLAGSTavian Barnes2024-06-185-11/+11
|
* configure: Fix VAR=value before --optionTavian Barnes2024-06-181-76/+77
| | | | | | | | | Previously we were not shifting all arguments, leading to $ ./configure CC=gcc --enable-release make: unrecognized option '--enable-release' as the loop would shift the CC=gcc argument instead of --enable-release.
* bftw: Only resize the string once in bftw_build_path()Tavian Barnes2024-06-181-19/+22
|
* Use dstrx*() over dstrn*() when we know the exact lengthTavian Barnes2024-06-182-7/+7
|