From: Yunjin Lee Date: Thu, 20 Jul 2017 06:56:26 +0000 (+0900) Subject: Do not return privilege type privacy for apps with api-version lower than 4.0 X-Git-Tag: submit/tizen/20170809.012726^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6bf36a865aedba87783fb5da94bc062ba87c1120;p=platform%2Fcore%2Fsecurity%2Fprivilege-checker.git Do not return privilege type privacy for apps with api-version lower than 4.0 - Privacy request API is available since Tizen 4.0 so apps with lower api-version can not request privacy at runtime. Therefore modify privilege_info_get_privilege_type() not to return PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY for apps with api-version lower than 4.0. Change-Id: I1660fa25ce26a08b1537fda9387e8568eec56865 Signed-off-by: Yunjin Lee --- diff --git a/capi/src/privilege_info.c b/capi/src/privilege_info.c index 521f0bd..30774a6 100755 --- a/capi/src/privilege_info.c +++ b/capi/src/privilege_info.c @@ -535,7 +535,16 @@ int privilege_info_get_privilege_type(uid_t uid, const char* pkgid, const char* *type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL; ret = PRVMGR_ERR_NONE; } else if (ret == 0) { - *type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY; + bool is_requestable = false; + ret = privilege_db_manager_is_privacy_requestable(uid, pkgid, &is_requestable); + if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE && ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) { + LOGE("privilege_db_manager_is_privacy_requestable failed"); + return PRVMGR_ERR_INTERNAL_ERROR; + } + if (is_requestable) + *type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY; + else + *type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL; ret = PRVMGR_ERR_NONE; } else { LOGE("privilege_db_manager_is_privacy_whitelist failed");