aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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>
2024-12-28dist: build with -trimpathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28app: extra acl entries from configurationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28fortify/print: skip nil filesystem entriesOphestra
This fixes a panic when displaying configurations with nil filesystem entries. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28fst/config: add template etc entryOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28app: merge share methodsOphestra
This significantly increases readability and makes order of ops more obvious. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27fst/config: autoetc read custom pathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27system/dbus: fix inverted system bus stateOphestra
Debug message and socket cleanup gets missed due to this value being inverted. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27fst/config: alternative /etc directoryOphestra
This is useful for static /etc directories provided by self-contained application packages, or in cases where autoetc is useful for paths other than /etc. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27helper/bwrap: fix typo in --dir config builderOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27cmd/fshim: bind finit inside sandboxOphestra
The outer finit executable is normally inaccessible inside the sandbox. This was obscured by the current Nix-based setup exposing /nix/store to the sandbox. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26ldd: trim leading and trailing white spaces from nameOphestra
Glibc emits ldd output with \t prefix for formatting. Remove that here. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26dbus/run: bind ldd entry absolute nameOphestra
The ld.so entry has an absolute name. They are usually symlinks so binding path does not guarantee ld.so availability under its expected path in the mount namespace. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26ldd: add fhs glibc test caseOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26dbus: fail on LookPath errorOphestra
An absolute path to xdg-dbus-proxy is required. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26dist: create checksum in dist directoryOphestra
This makes verification easier. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26fst/config: improve correctness of commentsOphestra
The meanings of many of these fields have changed since they were added. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-25dist: include zsh completionOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-25dist/install: do not replace existing fsurcOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-23fortify/parse: accept config stream fdOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-23fortify: clean up config loadingOphestra
Move duplicate code to function. Also handle - as config from stdin. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22release: 0.2.7Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22nix: include fortify show outputOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: show short mode omit filesystemsOphestra
Filesystem information can be quite noisy in permissive defaults. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22app: mount /dev/kvm in permissive defaultsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: sort by time of startOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: sort ps outputOphestra
This ensures consistency between runs. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22nix: test dbus via notify-sendOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: print short instance id in non-json short modeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22release: 0.2.6Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22nix: check state store contentsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: serialise ps with string as keyOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: zsh complete show instance listOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: clean up ps formatting codeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: move json indent callOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: move show formatting out of mainOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21app: rename /fortify to /.fortifyOphestra
Also removed the inner share tmpfs mount. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: clear terminal prior to screenshotOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: test pulseaudio pass throughOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21app: do not fail on missing cookieOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: filter nix files from srcOphestra
This prevents constant rebuilds when debugging integration tests. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: test dbus proxyOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: background go testOphestra
Go test takes significant time. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: remove workspace switchingOphestra
Switching workspaces does not test anything and introduces unnecessary wait time. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: config/state pretty-print subcommandOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-20system: implement Enablements String methodOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-20state: store join utilOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-20release: 0.2.5Ophestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-12-20migrate to git.gensokyo.uk/security/fortifyOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-12-19state: expose aids and use instance id as keyOphestra Umiker
Fortify state store instances was specific to aids due to outdated design decisions carried over from the ego rewrite. That no longer makes sense in the current application, so the interface now enables a single store object to manage all transient state. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>