X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=ubusd_obj.c;h=914de05adbb2fdcd63848fdf3bf51c2a7729eb80;hp=62c2331c50aba30be8258ffbcb53816f773a8a67;hb=3df5b18af2c6b962ebd9ddea9208edadc3ea42e4;hpb=2cfdb8188962f5fd3224f12ce1e87088be34fbb4 diff --git a/ubusd_obj.c b/ubusd_obj.c index 62c2331..914de05 100644 --- a/ubusd_obj.c +++ b/ubusd_obj.c @@ -145,6 +145,9 @@ struct ubus_object *ubusd_create_object(struct ubus_client *cl, struct blob_attr return NULL; if (attr[UBUS_ATTR_OBJPATH]) { + if (ubusd_acl_check(cl, blob_data(attr[UBUS_ATTR_OBJPATH]), NULL, UBUS_ACL_PUBLISH)) + goto free; + obj->path.key = strdup(blob_data(attr[UBUS_ATTR_OBJPATH])); if (!obj->path.key) goto free; @@ -228,4 +231,5 @@ static void __constructor ubusd_obj_init(void) ubus_init_id_tree(&obj_types); ubus_init_string_tree(&path, false); ubusd_event_init(); + ubusd_acl_init(); }