From 18927bf3b074235761c7366b18876ac913e9f22c Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Fri, 19 Aug 2016 12:46:58 +0200 Subject: [PATCH] StepWgtRecoverSignature To verify, run test: app_fw$ /usr/bin/wgt-backend-ut/smoke-test --gtest_filter=SmokeTest.RecoveryMode_ForUpdate Requires: - https://review.tizen.org/gerrit/84596 - https://review.tizen.org/gerrit/84598 Change-Id: I1046976f841a14c6b68d428e9604b29318b6bf80 --- src/hybrid/hybrid_installer.cc | 4 +++- src/wgt/CMakeLists.txt | 1 + .../step/security/step_wgt_recover_signature.cc | 23 ++++++++++++++++++ src/wgt/step/security/step_wgt_recover_signature.h | 27 ++++++++++++++++++++++ src/wgt/wgt_installer.cc | 4 +++- 5 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 src/wgt/step/security/step_wgt_recover_signature.cc create mode 100644 src/wgt/step/security/step_wgt_recover_signature.h diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 8d3060f..9099883 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -66,6 +66,7 @@ #include #include #include +#include #include "hybrid/hybrid_backend_data.h" #include "hybrid/step/configuration/step_merge_tpk_config.h" @@ -261,13 +262,14 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::RECOVERY, ci::configuration::StepParseManifest::StoreLocation::NORMAL); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); + AddStep(); AddStep(); break; case ci::RequestType::Clear: diff --git a/src/wgt/CMakeLists.txt b/src/wgt/CMakeLists.txt index 2e70267..fece9b1 100755 --- a/src/wgt/CMakeLists.txt +++ b/src/wgt/CMakeLists.txt @@ -19,6 +19,7 @@ SET(SRCS step/security/step_check_wgt_ime_privilege.cc step/security/step_direct_manifest_check_signature.cc step/security/step_check_extension_privileges.cc + step/security/step_wgt_recover_signature.cc wgt_app_query_interface.cc wgt_installer.cc extension_config_parser.cc diff --git a/src/wgt/step/security/step_wgt_recover_signature.cc b/src/wgt/step/security/step_wgt_recover_signature.cc new file mode 100644 index 0000000..d18d172 --- /dev/null +++ b/src/wgt/step/security/step_wgt_recover_signature.cc @@ -0,0 +1,23 @@ +// Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +// Use of this source code is governed by an apache 2.0 license that can be +// found in the LICENSE file. + +#include "wgt/step/security/step_wgt_recover_signature.h" + +namespace bf = boost::filesystem; + +namespace { + +const char kResWgt[] = "res/wgt"; + +} // namespace + +namespace wgt { +namespace security { + +bf::path StepWgtRecoverSignature::GetSignatureRoot() { + return context_->pkg_path.get() / kResWgt; +} + +} // namespace security +} // namespace wgt diff --git a/src/wgt/step/security/step_wgt_recover_signature.h b/src/wgt/step/security/step_wgt_recover_signature.h new file mode 100644 index 0000000..66545d7 --- /dev/null +++ b/src/wgt/step/security/step_wgt_recover_signature.h @@ -0,0 +1,27 @@ +// Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +// Use of this source code is governed by an apache 2.0 license that can be +// found in the LICENSE file. + +#ifndef WGT_STEP_SECURITY_STEP_WGT_RECOVER_SIGNATURE_H_ +#define WGT_STEP_SECURITY_STEP_WGT_RECOVER_SIGNATURE_H_ + +#include + +#include + +namespace wgt { +namespace security { + +class StepWgtRecoverSignature + : public common_installer::security::StepRecoverSignature { + public: + using StepRecoverSignature::StepRecoverSignature; + + private: + boost::filesystem::path GetSignatureRoot() override; +}; + +} // namespace security +} // namespace wgt + +#endif // WGT_STEP_SECURITY_STEP_WGT_RECOVER_SIGNATURE_H_ diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 68d6775..ea96cf2 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -90,6 +90,7 @@ #include "wgt/step/security/step_check_wgt_ime_privilege.h" #include "wgt/step/security/step_direct_manifest_check_signature.h" #include "wgt/step/security/step_check_extension_privileges.h" +#include "wgt/step/security/step_wgt_recover_signature.h" namespace ci = common_installer; @@ -283,13 +284,14 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::RECOVERY, ci::configuration::StepParseManifest::StoreLocation::NORMAL); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); + AddStep(); AddStep(); break; } -- 2.7.4