Add StepRevokeTrustAnchor steps for several installation cases. 87/158887/9
authorJunghyun Yeon <jungh.yeon@samsung.com>
Sun, 5 Nov 2017 23:56:36 +0000 (08:56 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 13 Apr 2018 05:34:45 +0000 (05:34 +0000)
- When updating pkg has failed, trust anchor should be revoked.

Related changes:
[app-installers] : https://review.tizen.org/gerrit/#/c/158351/
Change-Id: I02e39983e26129f8618ccb0329448c00afec7208
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/tpk/tpk_installer.cc

index d23debd..427c2f1 100644 (file)
@@ -83,6 +83,7 @@
 #include <common/step/security/step_save_signature.h>
 #include <common/step/security/step_update_security.h>
 #include <common/step/security/step_register_trust_anchor.h>
+#include <common/step/security/step_revoke_trust_anchor.h>
 #include <common/step/security/step_unregister_trust_anchor.h>
 
 #include "tpk/step/configuration/step_adjust_install_location.h"
@@ -188,6 +189,7 @@ void TpkInstaller::UpdateSteps() {
   AddStep<ci::backup::StepBackupIcons>();
   AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
   AddStep<ci::filesystem::StepAcquireExternalStorage>(true);
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::backup::StepCopyBackup>();
   AddStep<ci::filesystem::StepUpdateTep>();
   AddStep<ci::filesystem::StepUpdateStorageDirectories>();
@@ -263,6 +265,7 @@ void TpkInstaller::ReinstallSteps() {
   AddStep<ci::backup::StepBackupManifest>();
   AddStep<ci::backup::StepBackupIcons>();
   AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::rds::StepRDSParse>();
   AddStep<ci::rds::StepRDSModify>();
   AddStep<ci::filesystem::StepUpdateTep>();
@@ -312,6 +315,7 @@ void TpkInstaller::DeltaSteps() {
   AddStep<ci::backup::StepBackupIcons>();
   AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
   AddStep<ci::filesystem::StepAcquireExternalStorage>(true);
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::backup::StepCopyBackup>();
   AddStep<ci::filesystem::StepUpdateTep>();
   AddStep<ci::filesystem::StepUpdateStorageDirectories>();
@@ -367,6 +371,8 @@ void TpkInstaller::RecoverySteps() {
   AddStep<ci::filesystem::StepRecoverChangeOwner>();
   AddStep<ci::security::StepRecoverSecurity>();
   AddStep<ci::pkgmgr::StepRecoverApplication>();
+  AddStep<ci::security::StepRegisterTrustAnchor>(
+    ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
 }
 
 void TpkInstaller::MountInstallSteps() {
@@ -433,6 +439,7 @@ void TpkInstaller::MountUpdateSteps() {
       ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
       ci::configuration::StepParseManifest::StoreLocation::BACKUP);
   AddStep<ci::configuration::StepBlockCrossUpdate>();
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::pkgmgr::StepKillApps>();
   AddStep<ci::backup::StepBackupManifest>();
   AddStep<ci::backup::StepBackupIcons>();
@@ -614,6 +621,7 @@ void TpkInstaller::ReadonlyUpdateInstallSteps() {
   AddStep<ci::configuration::StepSwitchReadonlyMode>();
   AddStep<ci::configuration::StepBlockCrossUpdate>();
   AddStep<ci::pkgmgr::StepKillApps>();
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::filesystem::StepCopy>();
   AddStep<ci::filesystem::StepCopyTep>();
   AddStep<ci::filesystem::StepCreateStorageDirectories>();
@@ -655,6 +663,7 @@ void TpkInstaller::ReadonlyUpdateUninstallSteps() {
   AddStep<ci::pkgmgr::StepUpdateApplication>();
   AddStep<ci::security::StepRollbackDeinstallationSecurity>();
   AddStep<ci::filesystem::StepRemoveTep>();
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::security::StepRegisterTrustAnchor>(
       ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
   AddStep<ci::security::StepPrivacyPrivilege>(