aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-03-25fst/sandbox: do not create /etc in advanceOphestra
This is now handled by the setup op. This also gets rid of the hardcoded /etc path. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25sandbox: remove hardcoded parent permOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25sandbox: wrap error with its own text messageOphestra
PathError has a pretty good text message, many of them are wrapped with its own text message. This change adds a function to do just that to improve readability. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25sandbox: do not ensure symlink targetOphestra
This masks EEXIST on target and might clobber filesystems and lead to other confusing behaviour. Create its parent instead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25helper: remove bubblewrap wrapperOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25sandbox/wl: move into sandboxOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25app: merge shim into app packageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25system: optimise string formattingOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25test: check revert type selectionOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25app: run in native sandboxOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25wl: fix sync pipe keepaliveOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25fortify/parse: omit try fd fallthrough messageOphestra
This reduces noise in verbose output. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24test/sandbox: check mount table lengthOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24test/sandbox: fix stdout tty checkOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24test/sandbox: unquote fail messagesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24sandbox: resolve tty nameOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24test/sandbox: fail on mismatched mount entryOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24sandbox/vfs: add doc commentsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24sandbox: set mkdir permOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-24test/sandbox: verify outcome via mountinfoOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test/sandbox: warn about misuse in doc commentOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23nix: filter test from sourceOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23sandbox: verify outcome via mountinfoOphestra
This contains much more information than /proc/mounts and allows for more fields to be checked. This also removes the dependency on the test package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test/sandbox: check mapuid outcomeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test/sandbox: check tty outcomeOphestra
This makes no difference currently but has different behaviour in the native sandbox. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test/sandbox: print mismatching file contentOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test: format path aid offsetsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test/sandbox: pass want file as argumentOphestra
This avoids building the check program multiple times. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23test/sandbox: parse full test caseOphestra
This makes declaring multiple tests much cleaner. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23sandbox/vfs: match MS_NOSYMFOLLOW flagOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23sandbox: apply vfs options to bind mountsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23sandbox/vfs: unfold mount hierarchyOphestra
This presents all visible mount points under path. This is useful for applying extra vfs options to bind mounts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23sandbox/vfs: expose mountinfo line scanningOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-22go: 1.23Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-21sandbox/vfs: parse vfs optionsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-21sandbox: resolve inverted flags in opOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-21test/sandbox: rename misleading bind destinationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-21test/sandbox: check type handling host_passthroughOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-21sandbox/vfs: count mountinfo entriesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-21sandbox/vfs: implement proc_pid_mountinfo(5) parserOphestra
Test cases are mostly taken from util-linux. This implementation is more correct and slightly faster than the one found in github:kubernetes/utils. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-18sandbox: prepare ops earlyOphestra
Some setup code needs to run in host root. This change allows that to happen. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: pass cmd to cancel functionOphestra
This is not usually in scope otherwise. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: place files with contentOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: create directoriesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox/mount: pass absolute pathOphestra
This should never be used unless there is a good reason to, like using a file in the intermediate root. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: cancel process on serve errorOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: rename params structOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17internal/sys: wrap getuid/getgidOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: create symlinksOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox/init: fail early on nil opOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>