aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/app/start.go
diff options
context:
space:
mode:
authorOphestra Umiker <cat@ophivana.moe>2024-11-02 03:03:44 +0900
committerOphestra Umiker <cat@ophivana.moe>2024-11-02 03:13:57 +0900
commit584732f80ab91afb349720cfb8e9979ed2ba173e (patch)
tree8ef6ab9f8c9d3b8197682a53fb2c4a7b2ce8da55 /internal/app/start.go
parent4b7b899bb35fb4ea218dabe49a674f4d2f80e7f8 (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.go9
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,