permission: add some helpers

Add PW_PERM_ALL as a shortcut for all permissions
Add PW_PERMISSION_FORMAT and PW_PERMISSION_ARGS to nicely format
permissions.
This commit is contained in:
Wim Taymans 2020-07-30 16:26:29 +02:00
parent f5e78196c4
commit 91d4806611
23 changed files with 58 additions and 61 deletions

View file

@ -210,7 +210,7 @@ granted:
pw_log_info(NAME" %p: client %p '%s' access granted", impl, client, access);
items[0] = SPA_DICT_ITEM_INIT(PW_KEY_ACCESS, access);
pw_impl_client_update_properties(client, &SPA_DICT_INIT(items, 1));
permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, PW_PERM_RWX);
permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, PW_PERM_ALL);
pw_impl_client_update_permissions(client, 1, permissions);
return;

View file

@ -116,7 +116,7 @@ static void node_initialized(void *data)
global = pw_impl_node_get_global(nd->adapter);
res = pw_global_bind(global, client,
PW_PERM_RWX, PW_VERSION_NODE, nd->new_id);
PW_PERM_ALL, PW_VERSION_NODE, nd->new_id);
if (res < 0)
goto error_bind;

View file

@ -72,7 +72,7 @@ static void *create_object(void *_data,
struct pw_impl_client *client = pw_resource_get_client(resource);
int res;
device_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
device_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (device_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -74,7 +74,7 @@ static void *create_object(void *_data,
struct pw_impl_client *client = pw_resource_get_client(resource);
int res;
node_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
node_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (node_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -1280,7 +1280,7 @@ void pw_impl_client_node_registered(struct pw_impl_client_node *this, struct pw_
sizeof(struct pw_node_activation));
if (impl->bind_node_id) {
pw_global_bind(global, client, PW_PERM_RWX,
pw_global_bind(global, client, PW_PERM_ALL,
impl->bind_node_version, impl->bind_node_id);
}
}

View file

@ -119,7 +119,7 @@ static void link_initialized(void *data)
ld->global = pw_impl_link_get_global(ld->link);
pw_global_add_listener(ld->global, &ld->global_listener, &global_events, ld);
res = pw_global_bind(ld->global, client, PW_PERM_RWX, PW_VERSION_LINK, ld->new_id);
res = pw_global_bind(ld->global, client, PW_PERM_ALL, PW_VERSION_LINK, ld->new_id);
if (res < 0)
goto error_bind;

View file

@ -72,7 +72,7 @@ static void *create_object(void *_data,
struct pw_impl_client *client = pw_resource_get_client(resource);
int res;
metadata_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
metadata_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (metadata_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -86,7 +86,7 @@ context_check_access(void *data, struct pw_impl_client *client)
/* portal makes this connection and will change the permissions before
* handing this connection to the client */
permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, PW_PERM_RWX);
permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, PW_PERM_ALL);
pw_impl_client_update_permissions(client, 1, permissions);
return;
}

View file

@ -330,7 +330,7 @@ static void on_start(void *data, uint32_t version)
pw_resource_remove(client->core_resource);
if (pw_global_bind(pw_impl_core_get_global(client->core), client,
PW_PERM_RWX, version, 0) < 0)
PW_PERM_ALL, version, 0) < 0)
return;
if (version == 0)
@ -846,7 +846,7 @@ static int pw_protocol_native_connect_internal(struct pw_protocol_client *client
pw_log_error("server %p: failed to create client: %m", s);
goto error_close;
}
permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, PW_PERM_RWX);
permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, PW_PERM_ALL);
pw_impl_client_update_permissions(c->client, 1, permissions);
res = pw_protocol_client_connect_fd(client, sv[1], true);

View file

@ -189,7 +189,7 @@ static void *create_object(void *data,
pw_properties_setf(properties, PW_KEY_FACTORY_ID, "%d",
pw_impl_factory_get_info(factory)->id);
this->resource = pw_resource_new(owner, new_id, PW_PERM_RWX, type, version, 0);
this->resource = pw_resource_new(owner, new_id, PW_PERM_ALL, type, version, 0);
if (this->resource == NULL)
goto no_mem;

View file

@ -188,7 +188,7 @@ static void *create_object(void *data,
pw_properties_setf(properties, PW_KEY_FACTORY_ID, "%d",
pw_impl_factory_get_info(factory)->id);
this->resource = pw_resource_new(owner, new_id, PW_PERM_RWX, type, version, 0);
this->resource = pw_resource_new(owner, new_id, PW_PERM_ALL, type, version, 0);
if (this->resource == NULL)
goto no_mem;

View file

@ -439,7 +439,7 @@ static void *create_object(void *data,
void *result;
int res;
impl_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
impl_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (impl_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -430,7 +430,7 @@ static void *create_object(void *data,
void *result;
int res;
impl_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
impl_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (impl_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -439,7 +439,7 @@ static void *create_object(void *data,
void *result;
int res;
impl_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
impl_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (impl_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -430,7 +430,7 @@ static void *create_object(void *data,
void *result;
int res;
impl_resource = pw_resource_new(client, new_id, PW_PERM_RWX, type, version, 0);
impl_resource = pw_resource_new(client, new_id, PW_PERM_ALL, type, version, 0);
if (impl_resource == NULL) {
res = -errno;
goto error_resource;

View file

@ -144,7 +144,7 @@ static void *create_object(void *_data,
res = pw_global_bind(pw_impl_device_get_global(device),
client,
PW_PERM_RWX, version,
PW_PERM_ALL, version,
new_id);
if (res < 0)
goto error_bind;

View file

@ -144,9 +144,7 @@ static void *create_object(void *_data,
struct pw_resource *bound_resource;
res = pw_global_bind(pw_impl_node_get_global(node),
client,
PW_PERM_RWX,
version, new_id);
client, PW_PERM_ALL, version, new_id);
if (res < 0)
goto error_bind;