Add StepRevokeTrustAnchor steps for several installation cases. 74/163374/6
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 11 Dec 2017 02:11:47 +0000 (11:11 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 13 Apr 2018 05:34:56 +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: Ifaf443083b8ba4b3130cc6db3d145f7e5386e334
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/wgt/wgt_installer.cc

index 2ccdd6f..4119763 100755 (executable)
@@ -85,6 +85,7 @@
 #include <common/step/security/step_rollback_installation_security.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_save_signature.h>
 #include <common/step/security/step_unregister_trust_anchor.h>
 
@@ -202,6 +203,7 @@ void WgtInstaller::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>();
@@ -270,6 +272,7 @@ void WgtInstaller::ReinstallSteps() {
       ci::configuration::StepParseManifest::StoreLocation::BACKUP);
   AddStep<ci::configuration::StepBlockCrossUpdate>();
   AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::rds::StepRDSParse>();
   AddStep<ci::filesystem::StepUpdateTep>();
   AddStep<ci::rds::StepRDSModify>();
@@ -317,6 +320,7 @@ void WgtInstaller::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>();
@@ -362,6 +366,8 @@ void WgtInstaller::RecoverySteps() {
   AddStep<ci::filesystem::StepRecoverChangeOwner>();
   AddStep<ci::security::StepRecoverSecurity>();
   AddStep<ci::pkgmgr::StepRecoverApplication>();
+  AddStep<ci::security::StepRegisterTrustAnchor>(
+      ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
 }
 
 void WgtInstaller::MountInstallSteps() {
@@ -433,6 +439,7 @@ void WgtInstaller::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>();
@@ -603,6 +610,7 @@ void WgtInstaller::ReadonlyUpdateUninstallSteps() {
   AddStep<ci::pkgmgr::StepUpdateApplication>();
   AddStep<ci::filesystem::StepRemoveUserData>();
   AddStep<ci::configuration::StepSwitchReadonlyMode>();
+  AddStep<ci::security::StepRevokeTrustAnchor>();
   AddStep<ci::security::StepRegisterTrustAnchor>(
       ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
   AddStep<ci::security::StepPrivacyPrivilege>(