From: Yunjin Lee Date: Tue, 3 Jan 2017 11:47:03 +0000 (+0900) Subject: Fix not exist privilege check bug of web under 2.3.1 X-Git-Tag: submit/tizen_3.0/20170115.225845~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0ff87ee55d15eaf520ed4ebea8bc115646041c2b;p=platform%2Fcore%2Fsecurity%2Fprivilege-checker.git Fix not exist privilege check bug of web under 2.3.1 Change-Id: Icb1aebf4239ca4c31bf5bc24686da0f034c26135 Signed-off-by: Yunjin Lee --- diff --git a/capi/src/privilege_manager.c b/capi/src/privilege_manager.c index deb1720..741d76a 100755 --- a/capi/src/privilege_manager.c +++ b/capi/src/privilege_manager.c @@ -308,8 +308,10 @@ int privilege_manager_verify_privilege(uid_t uid, const char *api_version, privi } ret = __privilege_manager_check_privilege_list(api_version, privilege_name, valid_privilege_list, &privilege_level_id, &changed_to, &valid_api_version); - if (is_valid_wrt_version == 0) - ret = PRVMGR_ERR_NONE; + if (is_valid_wrt_version == 0) { + if (strstr(privilege_name, "/internal/") == NULL) + ret = PRVMGR_ERR_NONE; + } if (ret == PRVMGR_ERR_NO_EXIST_PRIVILEGE) { memset(message, 0, MESSAGE_SIZE); diff --git a/test/tc-privilege-manager.c b/test/tc-privilege-manager.c index 47f52aa..1bf9478 100755 --- a/test/tc-privilege-manager.c +++ b/test/tc-privilege-manager.c @@ -360,6 +360,13 @@ static void __test_privilege_manager_verify_privilege() __tcinfo(expect, PRVMGR_ERR_NONE); __privilege_manager_verify_privilege(); + __tcinfo(version_type, "2.2.1", "wrt"); + __tcinfo(goal, "valid api_version == 2.2.1, check internal privilege"); + __privinfo("http://tizen.org/privilege/internal/public", "Public", NULL); + __tcinfo(cert_level, "public"); + __tcinfo(expect, PRVMGR_ERR_INVALID_PRIVILEGE); + __privilege_manager_verify_privilege(); + #ifdef PROFILE_TYPE_MOBILE /* 2.3 core - mobile */