apply partial-rw feature to privilege compatibility step. 02/102402/2
authorjongmyeongko <jongmyeong.ko@samsung.com>
Mon, 5 Dec 2016 13:54:44 +0000 (22:54 +0900)
committerjongmyeongko <jongmyeong.ko@samsung.com>
Mon, 5 Dec 2016 14:11:31 +0000 (23:11 +0900)
Change-Id: I09083d680ab71e9df6c0c3e7b1af38cb84b42a7c
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
src/common/step/security/step_privilege_compatibility.cc

index f24dcbb..519e4b9 100644 (file)
@@ -24,11 +24,11 @@ namespace {
 
 std::string GetInternalPrivilegeForLevel(ci::PrivilegeLevel level) {
   switch (level) {
-    case common_installer::PrivilegeLevel::PUBLIC:
+    case ci::PrivilegeLevel::PUBLIC:
       return ci::privileges::kPrivForPublic;
-    case common_installer::PrivilegeLevel::PARTNER:
+    case ci::PrivilegeLevel::PARTNER:
       return ci::privileges::kPrivForPartner;
-    case common_installer::PrivilegeLevel::PLATFORM:
+    case ci::PrivilegeLevel::PLATFORM:
       return ci::privileges::kPrivForPlatform;
     default:
       assert(false && "This shouldn't be reached");
@@ -120,7 +120,8 @@ Step::Status StepPrivilegeCompatibility::precheck() {
 Step::Status StepPrivilegeCompatibility::process() {
   // Add default privileges for each certificates level.
   auto internal_priv =
-      GetInternalPrivilegeForLevel(context_->privilege_level.get());
+      GetInternalPrivilegeForLevel(context_->partial_rw.get()?
+          ci::PrivilegeLevel::PLATFORM : context_->privilege_level.get());
 
   if (internal_priv_type_ == InternalPrivType::TPK ||
       internal_priv_type_ == InternalPrivType::BOTH) {