diff options
author | Dariusz Michaluk <d.michaluk@samsung.com> | 2017-05-10 16:12:44 +0200 |
---|---|---|
committer | Dariusz Michaluk <d.michaluk@samsung.com> | 2017-05-12 15:22:20 +0200 |
commit | 786cbd9bc3320e8aa688309eb2044a1d1673a024 (patch) | |
tree | 62946084137d6b3bf6f6d4a4faa04701a43a6229 /db | |
parent | 648cc6b914cf2999bb2606d05d12d86367d88bb4 (diff) | |
download | security-manager-786cbd9bc3320e8aa688309eb2044a1d1673a024.tar.gz security-manager-786cbd9bc3320e8aa688309eb2044a1d1673a024.tar.bz2 security-manager-786cbd9bc3320e8aa688309eb2044a1d1673a024.zip |
Block the possibility of privilege redefinition
Change-Id: I897915c799ab03ad93d8f9f191ecbd96da885f60
Diffstat (limited to 'db')
-rw-r--r-- | db/db.sql | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -250,6 +250,10 @@ BEGIN WHERE NOT EXISTS (SELECT 1 FROM user_app_pkg_view WHERE uid=NEW.uid AND app_name=NEW.app_name); + SELECT RAISE(ABORT, 'App defined privilege already defined') + WHERE EXISTS (SELECT 1 FROM app_defined_privilege_view + WHERE uid=NEW.uid AND app_name=NEW.app_name AND privilege=NEW.privilege); + INSERT OR IGNORE INTO app_defined_privilege (app_id, uid, privilege, type, license) VALUES ((SELECT app_id FROM app WHERE name=NEW.app_name), NEW.uid, NEW.privilege, NEW.type, NEW.license); END; @@ -280,6 +284,10 @@ BEGIN WHERE NOT EXISTS (SELECT 1 FROM user_app_pkg_view WHERE uid=NEW.uid AND app_name=NEW.app_name); + SELECT RAISE(ABORT, 'Client privilege license already defined') + WHERE EXISTS (SELECT 1 FROM client_license_view + WHERE uid=NEW.uid AND app_name=NEW.app_name AND privilege=NEW.privilege); + INSERT OR IGNORE INTO client_license (app_id, uid, privilege, license) VALUES ((SELECT app_id FROM app WHERE name=NEW.app_name), NEW.uid, NEW.privilege, NEW.license); END; |