cat
e94acc424c
container/comp: rename from bits
...
This package will also hold syscall lookup tables for seccomp.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 20:54:03 +09:00
cat
b1a4d801be
hst/container: flags string representation
...
This is useful for a user-facing representation other than JSON. This also gets rid of the ugly, outdated flags string builder in cmd/hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 20:29:52 +09:00
cat
56beae17fe
test: assert hst CGO_ENABLED=0
...
The hst package only deals with data serialisation, however since many parts of hakurei make use of C libraries in some way it can be easy to inadvertently depend on cgo.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 19:49:04 +09:00
cat
ea978101b1
cmd/hakurei/parse: close config fd
...
This is cleaner than relying on the finalizer.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 06:05:36 +09:00
cat
fbd1638e7f
test/interactive/trace: update nix attribute
...
Updated according to evaluation warning.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 06:03:09 +09:00
cat
d42067df7c
cmd/hakurei/json: friendly error messages
...
This change handles errors returned by encoding/json and prints significantly cleaner messages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 05:17:25 +09:00
cat
b9459a80c7
container/init: check use constants for open flags
...
These bits are arch-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 03:13:58 +09:00
cat
f8189d1488
container/syscall: dot-import syscall
...
This avoids having arch-specific constants for arm64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 03:09:14 +09:00
cat
5063b774c1
hst: expose version string
...
The hst API is tied to this version string.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 01:56:44 +09:00
cat
766dd89ffa
internal: clean up build strings
...
These names are less ambiguous and should be understandable without reading the source code.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-21 01:49:36 +09:00
cat
699c19e972
hst/container: optional runtime and tmpdir sharing
...
Sharing and persisting these directories do not always make sense. Make it optional here.
Closes #16 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 04:11:38 +09:00
cat
b5b30aea2e
test: place marker in common path
...
This discontinues the dependency on shared tmpdir and xdg_runtime_dir implementation detail, for #16 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 03:50:48 +09:00
cat
c0e860000a
internal/app: remove spfinal
...
This no longer needs to be an independent outcomeOp since spFilesystemOp is moved late.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 02:58:46 +09:00
cat
d87020f0ca
hst/config: validate env early
...
This should happen in hst since it requires no system state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 02:39:49 +09:00
cat
e47aebb7a0
internal/app/outcome: apply configured filesystems late
...
This enables configured filesystems to cover system mount points.
Closes #8 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 01:41:52 +09:00
cat
543bf69102
internal/app/spx11: check behaviour
...
This outcomeOp will likely never change.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 01:00:12 +09:00
cat
4cfb1fda8f
internal/app/spwayland: check behaviour
...
This op is quite clean. Might get slightly more complex at some point passing socket fd.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-19 00:30:56 +09:00
cat
c12183959a
internal/app/dispatcher: report correct field
...
This was mistakenly reporting sharePath on inequivalence causing very confusing output.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 23:59:10 +09:00
cat
f5845e312e
internal/app/sptmpdir: check behaviour
...
Another simple one. This will change when shared tmpdir and xdg runtime dir becomes optional.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 23:46:10 +09:00
cat
a103c4a7c7
internal/app/hsu: check behaviour
...
The stub exec.ExitError is hairy as usual, but internal/app is not cross-platform, so this is okay.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 20:45:42 +09:00
cat
67ec82ae1b
ldd/exec: raise timeout
...
This mostly helps with tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 18:03:09 +09:00
cat
f6f0cb56ae
internal/app/hsu: remove wrapper method
...
This was added to reduce the size of diffs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 17:35:20 +09:00
cat
d4284c109d
internal/app/spruntime: emulate pam_systemd type
...
This sets XDG_SESSION_TYPE to the corresponding values specified in pam_systemd(8) according to enablements.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 04:33:04 +09:00
cat
030ad2a73b
internal/app/spruntime: check behaviour
...
This one is quite simple and has no state. Needs to emulate pam_systemd behaviour so that will change.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 03:41:49 +09:00
cat
78d7955abd
internal/app/sppulse: check cookie discovery
...
There's quite a bit of code duplication here, but since this is already quite simple it is best to leave it as is for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 01:30:33 +09:00
cat
b066495a7d
internal/app/sppulse: check buf error injection
...
The loadFile behaviour does not guarantee the buffer to be zeroed or not clobbered if an error is returned, but for the current implementation it is good to check.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-18 01:01:52 +09:00
cat
82299d34c6
internal/app/sppulse: correctly handle small cookie
...
The trailing zero bytes need to be sliced off, so send cookie size alongside buffer content.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-17 08:03:03 +09:00
cat
792013cefb
internal/app/sppulse: check behaviour
...
Still needs to check the relocated functions separately.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-17 06:32:21 +09:00
cat
3f39132935
internal/app/dispatcher: reduce check code duplication
...
This also improves readability of test cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-17 05:47:12 +09:00
cat
c922c3f80e
internal/app/sppulse: relocate hard to test code
...
These are better tested separately instead of creating many op test cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-16 05:47:49 +09:00
cat
6cf58ca1b3
internal/app/spfinal: check behaviour
...
This will be merged with spFilesystemOp eventually.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-16 02:08:31 +09:00
cat
425421d9b1
hst/container: rename constants
...
The shim is an implementation detail and should not be mentioned in the API.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-16 00:27:00 +09:00
cat
5e0f15d76b
hst/container: additional shim exit codes
...
These are now considered stable, defined behaviour and can be used by external programs to determine shim outcome.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-15 22:09:33 +09:00
cat
ae65491223
container/init: use one channel for wait4
...
When using two channels it is possible for the other case to be reached before all pending winfo are consumed, causing incorrect reporting.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-15 21:35:19 +09:00
cat
52e3324ef4
test/sandbox: ignore nondeterministic mount point
...
No idea what systemd is doing with this to cause its options to change.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 07:08:39 +09:00
cat
f95e0a7568
hst/config: hold acl struct by value
...
Doc comments are also reworded for clarity.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 07:02:14 +09:00
cat
4c647add0d
hst/container: pack boolean options
...
The memory saving is relatively insignificant, however this increases serialisation efficiency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 06:39:00 +09:00
cat
a341466942
hst: separate container config
...
The booleans are getting packed into a single field. This requires non-insignificant amount of code for JSON serialisation to stay compatible.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 04:23:05 +09:00
cat
e4ee8df83c
internal/app/spdbus: check behaviour
...
This is not done very cleanly, however this op is pending removal for the in-process dbus proxy so not worth spending too much effort here. As long as it checks all paths it is good enough.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 01:51:01 +09:00
cat
048c1957f1
helper/args: variadic check function
...
This package turns out to be much less widely used than anticipated, and might be facing removal. This change makes test cases cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 01:48:56 +09:00
cat
790d77075e
system/dbus: remove builder state leak
...
This enables external testing of system.I state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-14 01:33:44 +09:00
cat
e5ff40e7d3
container: synchronise after notify
...
This should eliminate intermittent failures in the forward test.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-13 19:17:19 +09:00
cat
123d7fbfd5
container/seccomp: remove export pipe
...
This was only useful when wrapping bwrap.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-13 18:51:35 +09:00
cat
7638a44fa6
treewide: parallel tests
...
Most tests already had no global state, however parallel was never enabled. This change enables it for all applicable tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-13 04:38:48 +09:00
cat
a14b6535a6
helper/stub: write ready byte late
...
Hopefully eliminates spurious failures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-13 01:55:44 +09:00
cat
763ab27e09
system: remove tmpfiles
...
This is no longer used.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-13 01:12:44 +09:00
cat
bff2a1e748
container/initplace: remove indirect method
...
This is no longer useful and is highly error-prone.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-13 01:06:45 +09:00
cat
8a91234cb4
hst: reword and improve doc comments
...
This corrects minor mistakes in doc comments and adds them for undocumented constants.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-12 05:03:14 +09:00
cat
db7051a368
internal/app/spcontainer: check fs init behaviour
...
This covers every statement. Some of them are unreachable unless the kernel returns garbage.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-12 03:58:53 +09:00
cat
36f312b3ba
internal/app/spcontainer: resolve path through dispatcher
...
This prevents state from os tainting the test data.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-10-11 20:20:41 +09:00