diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-03-17 01:09:12 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-03-17 01:10:27 +0900 |
| commit | ee108603572101ad3c285830e04ee248916b6c5d (patch) | |
| tree | e3d2274301cf7f1ed39df9c510672745fbe0b08a /internal | |
| parent | 44277dc0f1fd1806f5ceea34246a4c805a06b61b (diff) | |
seccomp: install output atomically
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/app/shim/main.go | 6 | ||||
| -rw-r--r-- | internal/output.go | 13 | ||||
| -rw-r--r-- | internal/sandbox/init.go | 5 |
3 files changed, 15 insertions, 9 deletions
diff --git a/internal/app/shim/main.go b/internal/app/shim/main.go index 6cbb1474..64df53d0 100644 --- a/internal/app/shim/main.go +++ b/internal/app/shim/main.go @@ -17,7 +17,6 @@ import ( "git.gensokyo.uk/security/fortify/internal" "git.gensokyo.uk/security/fortify/internal/app/init0" "git.gensokyo.uk/security/fortify/internal/fmsg" - "git.gensokyo.uk/security/fortify/seccomp" ) // everything beyond this point runs as unconstrained target user @@ -48,7 +47,7 @@ func Main() { log.Fatalf("cannot decode shim setup payload: %v", err) } else { - fmsg.Store(payload.Verbose) + internal.InstallFmsg(payload.Verbose) closeSetup = f } @@ -121,9 +120,6 @@ func Main() { } helper.BubblewrapName = payload.Exec[0] // resolved bwrap path by parent - if fmsg.Load() { - seccomp.CPrintln = log.Println - } ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer stop() // unreachable diff --git a/internal/output.go b/internal/output.go new file mode 100644 index 00000000..db37f55c --- /dev/null +++ b/internal/output.go @@ -0,0 +1,13 @@ +package internal + +import ( + "git.gensokyo.uk/security/fortify/internal/fmsg" + "git.gensokyo.uk/security/fortify/seccomp" +) + +func InstallFmsg(verbose bool) { + fmsg.Store(verbose) + if verbose { + seccomp.SetOutput(fmsg.Verbose) + } +} diff --git a/internal/sandbox/init.go b/internal/sandbox/init.go index 0249e581..85fcb13c 100644 --- a/internal/sandbox/init.go +++ b/internal/sandbox/init.go @@ -72,11 +72,8 @@ func Init(exit func(code int)) { log.Fatal("invalid setup parameters") } - fmsg.Store(params.Verbose) + internal.InstallFmsg(params.Verbose) fmsg.Verbose("received setup parameters") - if params.Verbose { - seccomp.CPrintln = fmsg.Verbose - } closeSetup = f offsetSetup = int(setupFile.Fd() + 1) } |
