Skip to content

FEATURE: add Landlock.capture API#2

Merged
SamSaffron merged 2 commits into
mainfrom
cleanup
Jun 17, 2026
Merged

FEATURE: add Landlock.capture API#2
SamSaffron merged 2 commits into
mainfrom
cleanup

Conversation

@SamSaffron

Copy link
Copy Markdown
Member

Expose capture/capture! as the supported subprocess capture
interface and replace the legacy SafeExec facade with shared
execution, policy, environment, rlimit, and process I/O helpers.

Route exec, spawn, and capture through the packaged native helper
when possible to avoid forking large Ruby processes, with a fork
runner fallback for oversized helper argv. Harden the helper with fd
cleanup, deferred rlimit application, scoped/path rules, shared
seccomp network denial, and stricter parsing.

Update docs, changelog, benchmarks, formatting, and tests for the
0.3 release.

Expose capture/capture! as the supported subprocess capture
interface and replace the legacy SafeExec facade with shared
execution, policy, environment, rlimit, and process I/O helpers.

Route exec, spawn, and capture through the packaged native helper
when possible to avoid forking large Ruby processes, with a fork
runner fallback for oversized helper argv. Harden the helper with fd
cleanup, deferred rlimit application, scoped/path rules, shared
seccomp network denial, and stricter parsing.

Update docs, changelog, benchmarks, formatting, and tests for the
0.3 release.
Use append_cppflags to add _GNU_SOURCE instead of manually rebuilding CPPFLAGS. This keeps extconf aligned with mkmf conventions and avoids custom flag parsing.
@SamSaffron SamSaffron merged commit 5145486 into main Jun 17, 2026
6 checks passed
@SamSaffron SamSaffron deleted the cleanup branch June 17, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants