diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-11-02 03:03:44 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-11-02 03:13:57 +0900 |
| commit | 584732f80ab91afb349720cfb8e9979ed2ba173e (patch) | |
| tree | 8ef6ab9f8c9d3b8197682a53fb2c4a7b2ce8da55 /internal/app/start.go | |
| parent | 4b7b899bb35fb4ea218dabe49a674f4d2f80e7f8 (diff) | |
cmd: shim and init into separate binaries
This change also fixes a deadlock when shim fails to connect and complete the setup.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'internal/app/start.go')
| -rw-r--r-- | internal/app/start.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/internal/app/start.go b/internal/app/start.go index a50be6ea..376d3067 100644 --- a/internal/app/start.go +++ b/internal/app/start.go @@ -8,9 +8,10 @@ import ( "path/filepath" "strings" + shim0 "git.ophivana.moe/security/fortify/cmd/fshim/ipc" + "git.ophivana.moe/security/fortify/cmd/fshim/ipc/shim" "git.ophivana.moe/security/fortify/helper" "git.ophivana.moe/security/fortify/internal/fmsg" - "git.ophivana.moe/security/fortify/internal/shim" "git.ophivana.moe/security/fortify/internal/state" "git.ophivana.moe/security/fortify/internal/system" ) @@ -22,9 +23,9 @@ func (a *app) Start() error { defer a.lock.Unlock() // resolve exec paths - shimExec := [3]string{a.seal.sys.executable, helper.BubblewrapName} + shimExec := [2]string{helper.BubblewrapName} if len(a.seal.command) > 0 { - shimExec[2] = a.seal.command[0] + shimExec[1] = a.seal.command[0] } for i, n := range shimExec { if len(n) == 0 { @@ -53,7 +54,7 @@ func (a *app) Start() error { // construct shim manager a.shim = shim.New(a.seal.toolPath, uint32(a.seal.sys.UID()), path.Join(a.seal.share, "shim"), a.seal.wl, - &shim.Payload{ + &shim0.Payload{ Argv: a.seal.command, Exec: shimExec, Bwrap: a.seal.sys.bwrap, |
