Replace deprecated security-manager api 71/84571/3 accepted/tizen/common/20160823.132613 accepted/tizen/ivi/20160824.021616 accepted/tizen/mobile/20160824.021440 accepted/tizen/tv/20160824.021534 accepted/tizen/wearable/20160824.021641 submit/tizen/20160822.060113
authorSangyoon Jang <s89.jang@samsung.com>
Fri, 19 Aug 2016 09:33:47 +0000 (18:33 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Tue, 23 Aug 2016 00:28:17 +0000 (17:28 -0700)
Use security_manager_path_req_* instead of
security_manager_app_inst_req_add_path.

Change-Id: Ia3e0970026cf5f33a89cfeb377a3e4484d852bb6
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/common/security_registration.cc
src/common/step/security/step_recover_security.cc
src/common/step/security/step_register_security.cc
src/common/step/security/step_rollback_deinstallation_security.cc
src/common/step/security/step_update_security.cc

index a2b1f08..a90bc5e 100644 (file)
@@ -135,34 +135,6 @@ bool PrepareRequest(const std::string& app_id, const std::string& pkg_id,
     }
   }
 
-  if (!path.empty()) {
-    for (auto& policy : kSecurityPolicies) {
-      bf::path subpath = path / policy.first;
-      if (bf::exists(subpath)) {
-        if (bf::is_symlink(symlink_status(subpath))) {
-          LOG(DEBUG) << "Path " << subpath << " is a symlink."
-                     << "Path will not be registered";
-          continue;
-        }
-        if (policy.second == SECURITY_MANAGER_PATH_TRUSTED_RW &&
-            author_id.empty()) {
-          LOG(WARNING) << "the path " << policy.first
-              << " exists, but author_id is empty";
-          continue;
-        }
-        error = security_manager_app_inst_req_add_path(req, subpath.c_str(),
-                                                       policy.second);
-        if (error != SECURITY_MANAGER_SUCCESS) {
-          std::string errnum = boost::str(boost::format("%d") % error);
-          *error_message =
-                    security_manager_strerror(static_cast<lib_retcode>(error));
-          *error_message += ":<" + errnum + ">";
-          return false;
-        }
-      }
-    }
-  }
-
   for (auto& priv : privileges) {
     security_manager_app_inst_req_add_privilege(req, priv.c_str());
   }
index 3908594..b0c4e93 100644 (file)
@@ -58,6 +58,15 @@ Step::Status StepRecoverSecurity::RecoveryUpdate() {
     }
     return Status::RECOVERY_ERROR;
   }
+  if (!RegisterSecurityContextForPath(
+      context_->pkgid.get(), context_->pkg_path.get(), context_->uid.get(),
+      &error_message)) {
+    if (!error_message.empty()) {
+      LOG(ERROR) << "error_message: " << error_message;
+      on_error(Status::SECURITY_ERROR, error_message);
+    }
+    return Status::RECOVERY_ERROR;
+  }
   return Status::OK;
 }
 }  // namespace security
index a155ef8..9ec62c6 100644 (file)
@@ -49,6 +49,15 @@ Step::Status StepRegisterSecurity::process() {
     }
     return Status::SECURITY_ERROR;
   }
+  if (!RegisterSecurityContextForPath(
+      context_->pkgid.get(), context_->pkg_path.get(), context_->uid.get(),
+      &error_message)) {
+    if (!error_message.empty()) {
+      LOG(ERROR) << "error_message: " << error_message;
+      on_error(Status::SECURITY_ERROR, error_message);
+    }
+    return Status::SECURITY_ERROR;
+  }
   LOG(DEBUG) << "Security context installed";
   return Status::OK;
 }
index 251a4e3..dcf2553 100644 (file)
@@ -38,10 +38,18 @@ Step::Status StepRollbackDeinstallationSecurity::undo() {
     }
     return Status::SECURITY_ERROR;
   }
+  if (!RegisterSecurityContextForPath(
+      context_->pkgid.get(), context_->pkg_path.get(), context_->uid.get(),
+      &error_message)) {
+    if (!error_message.empty()) {
+      LOG(ERROR) << "error_message: " << error_message;
+      on_error(Status::SECURITY_ERROR, error_message);
+    }
+    return Status::SECURITY_ERROR;
+  }
   LOG(DEBUG) << "Security context installed";
   return Status::OK;
 }
 
 }  // namespace security
 }  // namespace common_installer
-
index dfcd499..07e27ad 100644 (file)
@@ -23,6 +23,15 @@ Step::Status StepUpdateSecurity::process() {
     }
     return Status::SECURITY_ERROR;
   }
+  if (!RegisterSecurityContextForPath(
+      context_->pkgid.get(), context_->pkg_path.get(), context_->uid.get(),
+      &error_message)) {
+    if (!error_message.empty()) {
+      LOG(ERROR) << "error_message: " << error_message;
+      on_error(Status::SECURITY_ERROR, error_message);
+    }
+    return Status::SECURITY_ERROR;
+  }
   LOG(DEBUG) << "Security context updated";
   return Status::OK;
 }
@@ -38,6 +47,15 @@ Step::Status StepUpdateSecurity::undo() {
     }
     return Status::SECURITY_ERROR;
   }
+  if (!RegisterSecurityContextForPath(
+      context_->pkgid.get(), context_->pkg_path.get(), context_->uid.get(),
+      &error_message)) {
+    if (!error_message.empty()) {
+      LOG(ERROR) << "error_message: " << error_message;
+      on_error(Status::SECURITY_ERROR, error_message);
+    }
+    return Status::SECURITY_ERROR;
+  }
   LOG(DEBUG) << "Security context reverted";
   return Status::OK;
 }