From 83517e22ace34bdd0a29e98164808dc2c1b4b9ba Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 29 Oct 2018 08:47:45 +0000 Subject: [PATCH] media-session: set permissions on restricted access clients --- src/examples/media-session.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/examples/media-session.c b/src/examples/media-session.c index d20b94822..56d80b3b8 100644 --- a/src/examples/media-session.c +++ b/src/examples/media-session.c @@ -701,6 +701,7 @@ handle_client(struct impl *impl, uint32_t id, uint32_t parent_id, struct pw_proxy *p; struct client *client; struct spa_dict_item items[2]; + const char *str; p = pw_registry_proxy_bind(impl->registry_proxy, id, type, PW_VERSION_CLIENT, @@ -718,11 +719,19 @@ handle_client(struct impl *impl, uint32_t id, uint32_t parent_id, add_object(impl, &client->obj); spa_list_append(&impl->client_list, &client->l); - items[0].key = PW_CORE_PROXY_PERMISSIONS_DEFAULT; - items[0].value = "rwx"; + if (props == NULL) + return 0; - pw_client_proxy_update_permissions((struct pw_client_proxy*)p, - &SPA_DICT_INIT(items, 1)); + str = spa_dict_lookup(props, "pipewire.access"); + if (str == NULL) + return 0; + + if (strcmp(str, "restricted") == 0) { + items[0].key = PW_CORE_PROXY_PERMISSIONS_DEFAULT; + items[0].value = "rwx"; + pw_client_proxy_update_permissions((struct pw_client_proxy*)p, + &SPA_DICT_INIT(items, 1)); + } return 0; }