aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-01-20helper/bwrap: generic extra file interfaceOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-19helper/bwrap: move sync to helper stateOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-19proc/priv/shim: remove unnecessary stateOphestra
These values are only used during process creation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-18release: 0.2.10Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-18helper/bwrap: append --sync-fd before --Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-18proc/priv/init: early init checkOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-18proc: remove duplicate compile-time fortify referenceOphestra
This is no longer needed since shim and init are now part of the main program. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-18proc/priv/init: merge init into main programOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-17proc/priv/shim: merge shim into main programOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-17internal: do PR_SET_PDEATHSIG onceOphestra
This prctl affects the entire process, doing it on every OS thread is pointless. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-17nix: do not force static linking on nixOphestra
In a typical Nix or NixOS-based setup, the entire /nix/store directory is available to the sandbox. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-16fortify: switch to static linkingOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-15app: expose single run methodOphestra
App is no longer just a simple [exec.Cmd] wrapper, so exposing these steps separately no longer makes sense and actually hinders proper error handling, cleanup and cancellation. This change removes the five-second wait when the shim dies before receiving the payload, and provides caller the ability to gracefully stop execution of the confined process. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-15release: 0.2.9Ophestra
This release mostly contains permissive defaults fixes and optimisations. It also contains a proof of concept version of fpkg. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-15helper/bwrap: separate sequential/static argsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-15fst: hide sockets exposed via FilesystemOphestra
This is mostly useful for permissive defaults. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-15fst: move sandbox struct to separate fileOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-14helper/bwrap: register OverlayConfig with gobOphestra
This is required for copying bwrap configurations across processes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-12dbus: implement dbus_parse_addressOphestra
This parses D-Bus addresses according to spec. It does significantly fewer copies than dbus_parse_address. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-12dbus: rename makeTestCasesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-05helper/bwrap: implement overlayfs builderOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-05helper/bwrap: move test out of bwrap packageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-05helper/bwrap: add json struct tag to filesystemOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-04fst/config: allocate filesystem sliceOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-01linux/std: handle fsu exit status 1Ophestra
Printing "exit status 1" is confusing. This handles the ExitError and returns EACCES instead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-01fortify: show system info when instance is not specifiedOphestra
This contains useful information not obtainable by external tools. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-31update reverse-DNS style identifiersOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-30cmd/fpkg/install: deduplicate nix storeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-30cmd/fpkg: expose nixGL wrappersOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: remove workDir acl from activationOphestra
Activation does not require access to workDir, and by this point all information is available in dataHome. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: include nixGL source in inner storeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: create nixpkgs symlinkOphestra
This is included as part of the system as nixGL needs to be built somewhere between activation and start. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: update flake lockOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: nixos test create parent directoryOphestra
This tests directory creation in shim. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: optional network access when invoking with nix daemonOphestra
This is useful for building nixGL. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: bind and document more gpu devicesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: improve readability of fortify invocationsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: compare all three store pathsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: clean up broken links before activationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: set home-manager user informationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: remove unused argument 'self'Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: rename fortifyBundle to buildPackageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29dist: install fpkg to /usr/binOphestra
This is a high level user-facing tool. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg/start: correct drop to shell wordingOphestra
Activation no longer happens during application startup. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: generate application package build scriptOphestra
This takes some metadata, sandbox options, a launch script and a list of home-manager modules. The result needs to be executed in an environment with nix daemon access, and it produces the final package file. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26cmd/fpkg: app bundle helperOphestra
This helper program creates fortify configuration for running an application bundle. The activate action wraps a home-manager activation package and ensures each generation gets activated once. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26internal: include path to fortify main programOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29release: 0.2.8Ophestra
This release mostly fixes bugs uncovered when running fortify on a generic linux distribution. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28cmd/fshim: ensure data directoryOphestra
Ensuring home directory in shim causes the directory to be owned by the target user. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28app: ensure extra pathsOphestra
The primary use case for extra perms is app-specific state directories, which may or may not exist (first run of any app). Signed-off-by: Ophestra <cat@gensokyo.uk>