From d16da6da8c4880d90dc35fa9006806f7c0395d7f Mon Sep 17 00:00:00 2001 From: Ophestra Date: Fri, 3 Oct 2025 02:26:14 +0900 Subject: system: enforce absolute paths This is less error-prone, and is quite easy to integrate considering internal/app has already migrated to container.Absolute. Closes #11. Signed-off-by: Ophestra --- system/dbus.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'system/dbus.go') diff --git a/system/dbus.go b/system/dbus.go index 2f2ac357..9e1b92dd 100644 --- a/system/dbus.go +++ b/system/dbus.go @@ -21,7 +21,7 @@ var ( ) // MustProxyDBus calls ProxyDBus and panics if an error is returned. -func (sys *I) MustProxyDBus(sessionPath string, session *dbus.Config, systemPath string, system *dbus.Config) *I { +func (sys *I) MustProxyDBus(sessionPath *container.Absolute, session *dbus.Config, systemPath *container.Absolute, system *dbus.Config) *I { if _, err := sys.ProxyDBus(session, system, sessionPath, systemPath); err != nil { panic(err.Error()) } else { @@ -31,7 +31,7 @@ func (sys *I) MustProxyDBus(sessionPath string, session *dbus.Config, systemPath // ProxyDBus finalises configuration ahead of time and starts xdg-dbus-proxy via [dbus] and terminates it on revert. // This [Op] is always [Process] scoped. -func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath string) (func(), error) { +func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath *container.Absolute) (func(), error) { d := new(dbusProxyOp) // session bus is required as otherwise this is effectively a very expensive noop @@ -45,7 +45,7 @@ func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath st var sessionBus, systemBus dbus.ProxyPair sessionBus[0], systemBus[0] = sys.dbusAddress() - sessionBus[1], systemBus[1] = sessionPath, systemPath + sessionBus[1], systemBus[1] = sessionPath.String(), systemPath.String() d.out = &linePrefixWriter{println: log.Println, prefix: "(dbus) ", buf: new(strings.Builder)} if final, err := sys.dbusFinalise(sessionBus, systemBus, session, system); err != nil { if errors.Is(err, syscall.EINVAL) { -- cgit v1.3.1