Browse Source

ubusd_acl: add support for wildcard in methods

Add support for wildcard in methods to permit access to all methods
defined by the object. This can be usefull for process that run as
non-root user and needs to access ubus method.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
master
Ansuel Smith 7 months ago
committed by Daniel Golle
parent
commit
ad0cd117db
1 changed files with 6 additions and 2 deletions
  1. +6
    -2
      ubusd_acl.c

+ 6
- 2
ubusd_acl.c View File

@ -147,12 +147,16 @@ ubusd_acl_check(struct ubus_client *cl, const char *obj,
case UBUS_ACL_ACCESS:
if (acl->methods) {
struct blob_attr *cur;
char *cur_method;
size_t rem;
blobmsg_for_each_attr(cur, acl->methods, rem)
if (blobmsg_type(cur) == BLOBMSG_TYPE_STRING)
if (!strcmp(method, blobmsg_get_string(cur)))
if (blobmsg_type(cur) == BLOBMSG_TYPE_STRING) {
cur_method = blobmsg_get_string(cur);
if (!strcmp(method, cur_method) || !strcmp("*", cur_method))
return 0;
}
}
break;
}


Loading…
Cancel
Save