wgtpkg-install: Add default permissions
[src/app-framework-main.git] / src / wgtpkg-install.c
index f994b8f..0122eda 100644 (file)
@@ -67,6 +67,10 @@ static const char key_http_port[] = "http-port";
 
 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
@@ -300,7 +304,7 @@ static int for_all_content(const struct wgt_desc *desc, int (*action)(const char
        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);
@@ -447,7 +451,7 @@ static int install_file_properties(const struct wgt_desc *desc)
        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")) {
@@ -527,6 +531,16 @@ static int install_security(const struct wgt_desc *desc)
                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: