From 9a10eeab903705a3a033d36bfdc583ccd1bf586e Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 19 Feb 2025 00:41:51 +0900 Subject: [PATCH] app/seal: embed enablements Signed-off-by: Ophestra --- internal/app/seal.go | 5 ++--- internal/app/share.go | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/internal/app/seal.go b/internal/app/seal.go index 35a025c..e6efacd 100644 --- a/internal/app/seal.go +++ b/internal/app/seal.go @@ -48,8 +48,6 @@ type appSeal struct { // process-specific share directory path local to XDG_RUNTIME_DIR shareLocal string - // pass-through enablement tracking from config - et system.Enablements // initial config gob encoding buffer ct io.WriterTo // wayland socket direct access @@ -62,6 +60,7 @@ type appSeal struct { // seal system-level component sys *appSealSys + system.Enablements fst.Paths // protected by upstream mutex @@ -258,7 +257,7 @@ func (a *app) Seal(config *fst.Config) error { seal.sys.I.WrapErr = fmsg.WrapError // pass through enablements - seal.et = config.Confinement.Enablements + seal.Enablements = config.Confinement.Enablements // this method calls all share methods in sequence if err := seal.setupShares([2]*dbus.Config{config.Confinement.SessionBus, config.Confinement.SystemBus}, a.os); err != nil { diff --git a/internal/app/share.go b/internal/app/share.go index 4fd7746..7252add 100644 --- a/internal/app/share.go +++ b/internal/app/share.go @@ -140,7 +140,7 @@ func (seal *appSeal) setupShares(bus [2]*dbus.Config, os sys.State) error { } // set up wayland - if seal.et.Has(system.EWayland) { + if seal.Has(system.EWayland) { var socketPath string if name, ok := os.LookupEnv(wl.WaylandDisplay); !ok { fmsg.Verbose(wl.WaylandDisplay + " is not set, assuming " + wl.FallbackName) @@ -175,7 +175,7 @@ func (seal *appSeal) setupShares(bus [2]*dbus.Config, os sys.State) error { } // set up X11 - if seal.et.Has(system.EX11) { + if seal.Has(system.EX11) { // discover X11 and grant user permission via the `ChangeHosts` command if d, ok := os.LookupEnv(display); !ok { return fmsg.WrapError(ErrXDisplay, @@ -191,7 +191,7 @@ func (seal *appSeal) setupShares(bus [2]*dbus.Config, os sys.State) error { PulseAudio server and authentication */ - if seal.et.Has(system.EPulse) { + if seal.Has(system.EPulse) { // check PulseAudio directory presence (e.g. `/run/user/%d/pulse`) pd := path.Join(seal.RuntimePath, "pulse") ps := path.Join(pd, "native") @@ -243,7 +243,7 @@ func (seal *appSeal) setupShares(bus [2]*dbus.Config, os sys.State) error { D-Bus proxy */ - if seal.et.Has(system.EDBus) { + if seal.Has(system.EDBus) { // ensure dbus session bus defaults if bus[0] == nil { bus[0] = dbus.NewConfig(seal.fid, true, true)