/*
- Copyright (C) 2015-2018 IoT.bzh
+ Copyright (C) 2015-2019 IoT.bzh
author: José Bollo <jose.bollo@iot.bzh>
static uint32_t *port_bits = NULL;
+static const char *default_permissions[] = {
+ "urn:AGL:token:valid"
+};
+
/*
* normalize unit files: remove comments, remove heading blanks,
* make single lines
rc = action(desc->content_src, desc->content_type);
feat = desc->features;
while (feat) {
- if (!strcmp(feat->name, "urn:AGL:widget:provided-unit")) {
+ if (!strcmp(feat->name, FWK_PREFIX"widget:provided-unit")) {
src = wgt_info_param(feat, "content.src");
type = wgt_info_param(feat, "content.type");
rc2 = action(src, type);
rc = 0;
feat = desc->features;
while (feat) {
- if (!strcmp(feat->name, "urn:AGL:widget:file-properties")) {
+ if (!strcmp(feat->name, FWK_PREFIX"widget:file-properties")) {
param = feat->params;
while (param) {
if (!strcmp(param->value, "executable")) {
perm = next_usable_permission();
}
+ /* install default permissions */
+ n = (unsigned int)(sizeof default_permissions / sizeof *default_permissions);
+ for (i = 0 ; i < n ; i++) {
+ perm = default_permissions[i];
+ rc = secmgr_permit(perm);
+ INFO("permitting %s %s", perm, rc ? "FAILED!" : "success");
+ if (rc)
+ goto error2;
+ }
+
rc = secmgr_install();
return rc;
error2: