diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-10-07 12:48:20 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-10-07 12:48:20 +0900 |
| commit | 9647eb6a6b5607e9aac1e2c113e80f2e966ec0ac (patch) | |
| tree | 2f314f8669742a817df0057ceab79891b36bea9d /dbus | |
| parent | 18d9ce733e19c500ca04b4e744e6cdc5c6faf137 (diff) | |
helper: separate pipes from Helper
Upcoming bwrap helper implementation requires two sets of pipes to be managed, fd will also no longer be constant.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'dbus')
| -rw-r--r-- | dbus/dbus_test.go | 2 | ||||
| -rw-r--r-- | dbus/run.go | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/dbus/dbus_test.go b/dbus/dbus_test.go index 28f3c244..098a2179 100644 --- a/dbus/dbus_test.go +++ b/dbus/dbus_test.go @@ -164,7 +164,7 @@ func TestProxy_Start_Wait_Close_String(t *testing.T) { } t.Run("started string of "+id, func(t *testing.T) { - wantSubstr := binPath + " --args=3 --fd=4" + wantSubstr := binPath + " --args=3" if got := p.String(); !strings.Contains(got, wantSubstr) { t.Errorf("String() = %v, want %v", p.String(), wantSubstr) diff --git a/dbus/run.go b/dbus/run.go index 0b8267f8..da0bbc8d 100644 --- a/dbus/run.go +++ b/dbus/run.go @@ -3,6 +3,7 @@ package dbus import ( "errors" "io" + "strconv" "git.ophivana.moe/cat/fortify/helper" ) @@ -18,9 +19,13 @@ func (p *Proxy) Start(ready chan error, output io.Writer) error { } h := helper.New(p.seal, p.path, - // Helper: Args is always 3 and status if set is always 4. - "--args=3", - "--fd=4", + func(argsFD, statFD int) []string { + if statFD == -1 { + return []string{"--args=" + strconv.Itoa(argsFD)} + } else { + return []string{"--args=" + strconv.Itoa(argsFD), "--fd=" + strconv.Itoa(statFD)} + } + }, ) // xdg-dbus-proxy does not need to inherit the environment h.Env = []string{} |
