diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-12-15 12:43:58 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-12-15 12:57:06 +0900 |
| commit | 54610aaddcc01e335c34087bc0c3bc1de6d23cf8 (patch) | |
| tree | 4e8ad54c21e4440ddd54a2be4089d7d4807f97ac /internal/outcome/sppipewire.go | |
| parent | 2e806601693e0262641386ce5430d7e8d84b2a77 (diff) | |
internal/outcome: expose pipewire via pipewire-pulse
This no longer exposes the pipewire socket to the container, and instead mediates access via pipewire-pulse. This makes insecure parts of the protocol inaccessible as explained in the doc comment in hst.
Closes #29.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/outcome/sppipewire.go')
| -rw-r--r-- | internal/outcome/sppipewire.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/outcome/sppipewire.go b/internal/outcome/sppipewire.go index fd99d514..8c5760bd 100644 --- a/internal/outcome/sppipewire.go +++ b/internal/outcome/sppipewire.go @@ -41,9 +41,13 @@ func (s *spPipeWireOp) toSystem(state *outcomeStateSys) error { } func (s *spPipeWireOp) toContainer(state *outcomeStateParams) error { + if s.CompatServerPath == nil { innerPath := state.runtimeDir.Append(pipewire.PW_DEFAULT_REMOTE) state.env[pipewire.Remote] = innerPath.String() state.params.Bind(state.instancePath().Append("pipewire"), innerPath, 0) + } + // pipewire-pulse behaviour implemented in shim.go + state.pipewirePulsePath = s.CompatServerPath return nil } |
