aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-02-23fortify: test help messageOphestra
This helps catch regressions in "command". Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23fortify: integrate command handlerOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23command/flag: implement repeatable flagOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23command/flag: implement integer flagOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23command: hide internal commandsOphestra
This marks commands as internal via a magic usage string. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23command: expose print helpOphestra
This is useful for custom help commands. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23command: root early handler func special caseOphestra
This allows for early initialisation with access to flags on the root node. This can be useful for configuring global state used by subcommands. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23command: expose command with direct handlingOphestra
This exposes flag set on commands with direct handling. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22command: implement builder and parserOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22command: implement help builderOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22command: implement node structureOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22command: declare command interfaceOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21system: document I methodsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21fst: remove empty fileOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21cmd/fpkg: rename buildPackage fileOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21cmd/fpkg: rename shell to shellPathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21nix: split integration testOphestra
For adding tests for fpkg. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21app: separate instance from process stateOphestra
This works better for the implementation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19release: 0.2.16Ophestra
Mostly refactor and cleanup, but also contains major fix to process lifecycle management. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19wl: check against null characterOphestra
Wayland library takes null terminated strings. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app: defer system.I revertOphestra
Just returning an error after a successful call of commit will leave garbage behind with no way for the caller to clean them. This change ensures revert is always called after successful commit with at least per-process state enabled. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app: remove share methodOphestra
This is yet another implementation detail from before system.I, getting rid of this vastly cuts down on redundant seal state. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app: separate appSeal finalise methodOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app: merge seal with sysOphestra
The existence of the appSealSys struct was an implementation detail obsolete since system.I was integrated in 084cd84f36a1d608541b4aa4e1e95334395d8953. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app: embed appSeal in app structOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app/seal: improve documentationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app/seal: embed enablementsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19helper/bwrap: rename Write to WriteFileOphestra
In case this might want to be an io.Writer. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19app: store values with string representationOphestra
Improves code readability without changing memory layout. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18app: separate interface from implementationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18fst: declare wrappers for sandbox configOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18sys: wrap log methodsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18fst: move App interface declarationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18sys: rename from linuxOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18linux: wrap fsu lookup errorOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18fmsg: PrintBaseError skip empty messageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18fmsg: export logBaseError functionOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17acl: implement Update in COphestra
The original implementation was effectively just writing C in Go. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17acl: rename UpdatePerms to UpdateOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system: make xcb internalOphestra
This package is hauntingly ugly. Move this to internal until it is removed or replaced. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system: move out of internalOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system: wrap console output functionsOphestra
This eliminates all fmsg imports from internal/system. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system/wayland: sync file at caller specified addressOphestra
Storing this in sys is incredibly ugly: sys should be stateless and Ops must keep track of their state. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system/tmpfiles: fail gracefully in API misuseOphestra
Panicking here leaves garbage behind. Not ideal if this package is going to be exported. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17release: 0.2.15Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system/tmpfiles: implement private tmpfilesOphestra
These are only available within the mount namespace and should significantly reduce attack surface. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-16nix: run integration tests with race detectorOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-16internal: beforeExit before reachable fatal callsOphestra
These are the only two calls to log.Fatal* reachable during suspended output. Call fmsg.BeforeExit here to catch that. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-16app/shim/manager: return error on bad fsu pathOphestra
This results in a graceful failure that does not leave garbage behind. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-16fmsg: implement suspend in writerOphestra
This removes the requirement to call fmsg.Exit on every exit path, and enables direct use of the "log" package. However, fmsg.BeforeExit is still encouraged when possible to catch exit on suspended output. Signed-off-by: Ophestra <cat@gensokyo.uk>