From 970fce2acee788371d8e129b6b973e25a437e649 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 23 Nov 2023 09:36:56 +0100 Subject: [PATCH] wireplumber 0.4.16 --- ...dsp-add-ability-to-hide-parent-nodes.patch | 69 ------------------- sources | 2 +- wireplumber.spec | 8 ++- 3 files changed, 6 insertions(+), 73 deletions(-) delete mode 100644 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch diff --git a/0001-policy-dsp-add-ability-to-hide-parent-nodes.patch b/0001-policy-dsp-add-ability-to-hide-parent-nodes.patch deleted file mode 100644 index 1582625..0000000 --- a/0001-policy-dsp-add-ability-to-hide-parent-nodes.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 7a65d76a57a5a656a5d9385b0144d15b376ddc7d Mon Sep 17 00:00:00 2001 -From: James Calligeros -Date: Sun, 29 Oct 2023 11:03:36 +1000 -Subject: [PATCH] policy-dsp: add ability to hide parent nodes - -some hardware devices are never supposed to be accessed directly by -clients, and are designed under the assumption that they will be -front-loaded by some sort of DSP. add a hide_parent property -to policy-dsp and revoke all permissions to the bound node of a DSP -graph where this is set to prevent hardware misuse or damage by poorly -behaved/configured clients. - -Signed-off-by: James Calligeros ---- - src/scripts/policy-dsp.lua | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git a/src/scripts/policy-dsp.lua b/src/scripts/policy-dsp.lua -index 55f86c68d018..ce23a67afded 100644 ---- a/src/scripts/policy-dsp.lua -+++ b/src/scripts/policy-dsp.lua -@@ -28,7 +28,12 @@ nodes_om = ObjectManager { - Interest { type = "node" }, - } - -+clients_om = ObjectManager { -+ Interest { type = "client" } -+} -+ - filter_chains = {} -+hidden_nodes = {} - - nodes_om:connect("object-added", function (om, node) - for _, r in ipairs(config.rules or {}) do -@@ -43,6 +48,17 @@ nodes_om:connect("object-added", function (om, node) - filter_chains[id] = LocalModule("libpipewire-module-filter-chain", r.filter_chain, {}, true) - end - end -+ -+ if r.hide_parent then -+ Log.debug("Hiding node " .. node["bound-id"] .. " from clients") -+ for client in clients_om:iterate { type = "client" } do -+ if not client["properties"]["wireplumber.daemon"] then -+ client:update_permissions { [node["bound-id"]] = "-" } -+ end -+ end -+ hidden_nodes[node["bound-id"]] = id -+ end -+ - end - end - end -@@ -58,4 +74,13 @@ nodes_om:connect("object-removed", function (om, node) - end - end) - -+clients_om:connect("object-added", function (om, client) -+ for id, _ in pairs(hidden_nodes) do -+ if not client["properties"]["wireplumber.daemon"] then -+ client:update_permissions { [id] = "-" } -+ end -+ end -+end) -+ - nodes_om:activate() -+clients_om:activate() --- -2.41.0 - diff --git a/sources b/sources index cf51705..94877db 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (wireplumber-0.4.15.tar.bz2) = 53cf2027c69e8f44fc2c0c8910c1371ef8b5020aa1c47ca77f448998e810133821d9aa8de855482308b861f67b3d1cbd039c510460d59c6f9f2a44049577605b +SHA512 (wireplumber-0.4.16.tar.bz2) = 10bff323403f727b8653c8d287827e2c1e47913f2e3978d5f6e11fd29f30311fc1a11b4893073fa668a70d7dc115002822fa402f98e5b2d0e2eaa81145b727d8 diff --git a/wireplumber.spec b/wireplumber.spec index 55687c3..3912059 100644 --- a/wireplumber.spec +++ b/wireplumber.spec @@ -1,6 +1,6 @@ Name: wireplumber -Version: 0.4.15 -Release: 2%{?dist} +Version: 0.4.16 +Release: 1%{?dist} Summary: A modular session/policy manager for PipeWire License: MIT @@ -8,7 +8,6 @@ URL: https://pipewire.pages.freedesktop.org/wireplumber/ Source0: https://gitlab.freedesktop.org/pipewire/%{name}/-/archive/%{version}/%{name}-%{version}.tar.bz2 ## upstream patches -Patch0001: 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch ## upstreamable patches @@ -120,6 +119,9 @@ fi %{_datadir}/gir-1.0/Wp-0.4.gir %changelog +* Thu Oct 12 2023 Wim Taymans - 0.4.16-1 +- wireplumber 0.4.16 + * Tue Nov 7 2023 Hector Martin - 0.4.15-2 - Add upstream patch to enable node hiding