Deleting paths on revoking permissions.
authorJan Olszak <j.olszak@samsung.com>
Wed, 25 Sep 2013 16:38:46 +0000 (18:38 +0200)
committerJan Olszak <j.olszak@samsung.com>
Fri, 18 Oct 2013 12:39:18 +0000 (14:39 +0200)
[Issue#]       SSDWSSP-183
[Bug/Feature]  Some paths left in the database, but not present.
[Cause]        N/A
[Solution]     Deleteing app's paths on permission revoke
[Verification] Build, install, run tests.

Change-Id: I8afe30e8e8fb150c49b0d156e7b276359570b8c3

db/rules-db.sql
src/rules-db.c

index 3769b2f..f7b1888 100644 (file)
@@ -567,6 +567,10 @@ BEGIN
                                                      FROM   permission_view
                                                      WHERE  permission_view.name = "ALL_APPS" AND
                                                             permission_view.type_name = "ALL_APPS");
+    -- Delete paths
+    DELETE FROM path_view
+    WHERE path_view.owner_app_label_name=OLD.app_name;
+
 END;
 
 -- APP PERMISSION VOLATILE VIEW ------------------------------------------------
index 2da074a..4c774e7 100644 (file)
@@ -382,6 +382,10 @@ int rdb_revoke_app_permissions(const char *const s_app_label_name)
        if(ret != PC_OPERATION_SUCCESS) goto finish;
 
        ret = add_modified_label_internal(p_db, s_app_label_name);
+       if(ret != PC_OPERATION_SUCCESS) goto finish;
+
+       ret = add_modified_apps_path_internal(p_db, s_label_name);
+
 finish:
        if(p_db__) update_ret_code(ret); else rdb_end(p_db, ret);
        return ret;