From 46121a432b166a3920c4822d46b2e864162d314c Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 24 Jan 2018 14:17:04 +0900 Subject: [PATCH 01/16] Fix RecoverySteps of hybrid backend Add missing steps. Change-Id: Ibaec35c8305543da7a12b05774c5cb18cf66cf04 Signed-off-by: Sangyoon Jang --- src/hybrid/hybrid_installer.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 48612d8..d0f36aa 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -65,6 +66,7 @@ #include #include #include +#include #include #include #include @@ -322,9 +324,12 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); AddStep(); AddStep(); AddStep(); -- 2.7.4 From 54aaf088551d977cec212158d31bc36eebe1881d Mon Sep 17 00:00:00 2001 From: Seungha Son Date: Mon, 29 Jan 2018 16:08:31 +0900 Subject: [PATCH 02/16] Remove unnecessary step StepRollbackDeinstallationSecurity is meaningless. It is meaningless to rollback in undo() because removing the security is done after uninstall process() steps have been compelted. Signed-off-by: Seungha Son Change-Id: I82d9b45f820e2efdb2275611c7538b78c451779b --- src/hybrid/hybrid_installer.cc | 2 -- src/wgt/wgt_installer.cc | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index d0f36aa..dd776c6 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -70,7 +70,6 @@ #include #include #include -#include #include #include #include @@ -236,7 +235,6 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); AddStep(); diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index e80e3b3..c7edfe5 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -79,7 +79,6 @@ #include #include #include -#include #include #include #include @@ -316,7 +315,6 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::Plugin::ActionType::Uninstall); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); AddStep(); -- 2.7.4 From 9b8ce5d0e54012b31999ad4fc45813344abf82e9 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Fri, 8 Dec 2017 17:07:53 +0900 Subject: [PATCH 03/16] Set nodisplay attribute of widget application as manifest value Change-Id: I8271e692d104325c268a5dc42f229bcb8b700bf9 Signed-off-by: Sangyoon Jang (cherry picked from commit 47eac0f48f9390ecdad5021f906135669a7d2a1c) --- src/wgt/step/configuration/step_parse.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/wgt/step/configuration/step_parse.cc b/src/wgt/step/configuration/step_parse.cc index 353cf28..3252489 100644 --- a/src/wgt/step/configuration/step_parse.cc +++ b/src/wgt/step/configuration/step_parse.cc @@ -509,6 +509,12 @@ bool StepParse::FillWidgetApplicationInfo(manifest_x* manifest) { wgt::application_widget_keys::kTizenAppWidgetFullKey); if (!appwidget_info) return true; + + auto settings_info = + GetManifestDataForKey( + wgt::application_widget_keys::kTizenSettingKey); + bool no_display = settings_info ? settings_info->no_display() : false; + for (auto& app_widget : appwidget_info->app_widgets()) { application_x* application = reinterpret_cast (calloc(1, sizeof(application_x))); @@ -523,7 +529,7 @@ bool StepParse::FillWidgetApplicationInfo(manifest_x* manifest) { strdup((context_->root_application_path.get() / manifest->package / "bin" / application->appid).c_str()); application->type = strdup("webapp"); - application->nodisplay = strdup("true"); + application->nodisplay = no_display ? strdup("true") : strdup("false"); application->taskmanage = strdup("false"); SetApplicationXDefaults(application); application->support_ambient = strdup("false"); -- 2.7.4 From a3a94088e86358b8c76d7792c3463b17c46f45c0 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 6 Feb 2018 17:47:33 +0900 Subject: [PATCH 04/16] Release version 0.7.9 Changes: - Add a step for recovering ReadonlyUpdateInstall mode - Add StepPrivilegeCompatibility at RecoverySteps - Add StepPrivilegeCompatibility at ReadonlyUpdateUninstallSteps - Replace StepPrivilegeCompatibility with StepRecoverPrivilegeCompatibility - Fix RecoverySteps of hybrid backend - Remove unnecessary step - Set nodisplay attribute of widget application as manifest value Change-Id: I8042b5f4a817454e02452f63eb50d5652d940916 Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index a512a74..4a5c101 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.7.8 +Version: 0.7.9 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From 02f643b3f8d23a566712f8d4cda380b43b5fcf58 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Thu, 8 Mar 2018 17:01:56 +0900 Subject: [PATCH 05/16] Add StepSaveSignature step - Add new step to store distributor signatures into separate files. - Existing distributor signature files will be removed to prevent extract package and re-packaging it. Related changes: [app-installers] : https://review.tizen.org/gerrit/#/c/171653/ Change-Id: I01b3c9882db400203470595bc3c0950544312e69 Signed-off-by: Junghyun Yeon --- src/wgt/wgt_installer.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index c7edfe5..d7f2a8d 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -82,6 +82,7 @@ #include #include #include +#include #include #include @@ -213,6 +214,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -257,6 +259,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -373,6 +376,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -536,6 +540,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -566,6 +571,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -652,6 +658,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -677,6 +684,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -702,6 +710,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); -- 2.7.4 From dcab4b39cd2a65fea0802838c79716ec5cf126ad Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Fri, 6 Apr 2018 13:17:17 +0900 Subject: [PATCH 06/16] Add StepSaveSignature at mount install or update - Distributor signature don't have to be extracted because its value will be stored at separated directory. Related changes: [app-installers] : https://review.tizen.org/gerrit/174993 Change-Id: I132f25356912e7f34894c1761f8a1bac2ac27303 --- src/wgt/wgt_installer.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index d7f2a8d..f74f8dd 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -450,6 +450,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -493,6 +494,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); -- 2.7.4 From 70cff4a1ff87e9c1f5ab3ae7fd87d45ef0028e3a Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Tue, 10 Apr 2018 19:34:36 +0900 Subject: [PATCH 07/16] Add signature removal process for hybrid pkg Change-Id: I748d38a05f91822df41d692ace94981eb732f3a2 Signed-off-by: Junghyun Yeon --- src/hybrid/hybrid_installer.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index dd776c6..543d03d 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -71,6 +71,7 @@ #include #include #include +#include #include #include #include @@ -126,6 +127,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -176,6 +178,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -270,6 +273,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -346,6 +350,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -396,6 +401,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -451,6 +457,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -488,6 +495,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -527,6 +535,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep( @@ -552,6 +561,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); -- 2.7.4 From 4cdad6a4d8f9c7d6f9158de92a7ce4ca7b142b0e Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 11 Apr 2018 19:28:45 +0900 Subject: [PATCH 08/16] Release version 0.7.10 Changes: - Add StepSaveSignature step - Add StepSaveSignature at mount install or update - Add signature removal process for hybrid pkg Change-Id: I08dfa995d780b9f76b91667774f99329549a31a0 Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index 4a5c101..16c8f56 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.7.9 +Version: 0.7.10 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From bd79f8b0d9f0c7aa4fbea204cff35fd6896e60cf Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Mon, 11 Dec 2017 11:11:47 +0900 Subject: [PATCH 09/16] Add StepRevokeTrustAnchor steps for several installation cases. - 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 --- src/wgt/wgt_installer.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index f74f8dd..0b0fd63 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -82,6 +82,7 @@ #include #include #include +#include #include #include @@ -278,6 +279,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(true); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -346,6 +348,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -392,6 +395,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(true); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -437,6 +441,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep( + ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); + } void WgtInstaller::MountInstallSteps() { @@ -506,6 +513,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -671,6 +679,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); AddStep( -- 2.7.4 From 71ab49b852cb7195a768e3585436ae193e15726b Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Tue, 7 Aug 2018 19:38:17 +0900 Subject: [PATCH 10/16] Replace StepRegisterTrustAnchor into StepRecoverTrustAnchor Related changes : [app-installers] : https://review.tizen.org/gerrit/#/c/186122 Change-Id: I97036bf8d5b2fd88b0655e0e27c728bd4a842030 Signed-off-by: Junghyun Yeon --- src/wgt/wgt_installer.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 0b0fd63..bebc830 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -441,9 +442,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep( - ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); - + AddStep(); } void WgtInstaller::MountInstallSteps() { -- 2.7.4 From 152881cffc5b561a27bdc4be368e9bfc24705ba5 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Thu, 29 Nov 2018 21:41:02 +0900 Subject: [PATCH 11/16] Add ReadonlyUpdateInstall/Uninstall mode for hybrid-backend Change-Id: I3007a3bcd696a100cc8c2b0374656d81ba6f47bb Signed-off-by: Sangyoon Jang --- src/hybrid/hybrid_installer.cc | 88 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 543d03d..0ebad97 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -91,6 +92,7 @@ #include "hybrid/step/encryption/step_encrypt_resources.h" #include "hybrid/step/pkgmgr/step_generate_xml.h" #include "wgt/step/configuration/step_parse.h" +#include "wgt/step/configuration/step_set_old_signature_files_location.h" #include "wgt/step/encryption/step_remove_encryption_data.h" #include "wgt/step/filesystem/step_copy_preview_icons.h" #include "wgt/step/filesystem/step_create_symbolic_link.h" @@ -600,6 +602,92 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); break; } + case ci::RequestType::ReadonlyUpdateInstall: + AddStep(pkgmgr_); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::PACKAGE, + ci::configuration::StepParseManifest::StoreLocation::NORMAL); + AddStep(); + AddStep( + wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); + AddStep( + ci::security::StepPrivacyPrivilege::ActionType::Update); + AddStep(); + AddStep( + ci::Plugin::ActionType::Upgrade); + AddStep(); + AddStep(); + AddStep(); + break; + case ci::RequestType::ReadonlyUpdateUninstall: + AddStep(pkgmgr_); + AddStep(); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::NORMAL); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); + AddStep( + ci::security::StepPrivacyPrivilege::ActionType::Update); + AddStep(); + AddStep(); + AddStep(ci::Plugin::ActionType::Upgrade); + break; case ci::RequestType::EnablePkg: AddStep(pkgmgr_); AddStep( -- 2.7.4 From d804b8c1287908705266c4211de6946aa292dace Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 4 Dec 2018 14:52:04 +0900 Subject: [PATCH 12/16] Release version 0.7.11 Changes: - Add StepRevokeTrustAnchor steps for several installation cases. - Replace StepRegisterTrustAnchor into StepRecoverTrustAnchor - Add ReadonlyUpdateInstall/Uninstall mode for hybrid-backend Change-Id: I57186e1cd20401e73ecdcd8cabe440baa539db3e Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index 16c8f56..b272100 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.7.10 +Version: 0.7.11 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From c5f31bfcd88edcd48ec6697ed9eac4c559b9eb99 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Thu, 22 Mar 2018 15:52:28 +0900 Subject: [PATCH 13/16] Fix static analyzer issues - Fix memory leak - Fix using uninitialized variables - Fix dereferencing before null check Change-Id: I119e803a3e9acb9e63abc1f28c2fbd93f7e92699 Signed-off-by: Sangyoon Jang --- src/hybrid/step/pkgmgr/step_generate_xml.h | 2 ++ src/unit_tests/extensive_smoke_test.cc | 25 ++++++++++++++---------- src/wgt/step/configuration/step_parse.cc | 2 ++ src/wgt/step/encryption/step_encrypt_resources.h | 3 +++ src/wgt/step/filesystem/step_wgt_patch_icons.cc | 2 ++ 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/hybrid/step/pkgmgr/step_generate_xml.h b/src/hybrid/step/pkgmgr/step_generate_xml.h index b2a0f6e..8fce64d 100644 --- a/src/hybrid/step/pkgmgr/step_generate_xml.h +++ b/src/hybrid/step/pkgmgr/step_generate_xml.h @@ -19,6 +19,8 @@ namespace pkgmgr { class StepGenerateXml : public common_installer::Step { public: using Step::Step; + explicit StepGenerateXml(common_installer::InstallerContext* context) + : Step(context), wgt_doc_(nullptr), tpk_doc_(nullptr) {} Status process() override; Status clean() override { return Status::OK; } Status undo() override { return Status::OK; } diff --git a/src/unit_tests/extensive_smoke_test.cc b/src/unit_tests/extensive_smoke_test.cc index 34104de..b03d2bc 100644 --- a/src/unit_tests/extensive_smoke_test.cc +++ b/src/unit_tests/extensive_smoke_test.cc @@ -379,15 +379,20 @@ TEST_F(SmokeTest, MountUpdateMode_Rollback) { } // namespace common_installer int main(int argc, char** argv) { - ci::RequestMode request_mode = ParseRequestMode(argc, argv); - if (getuid() != 0 || request_mode != ci::RequestMode::GLOBAL) { - std::cout << "Skip tests for preload request" << std::endl; - ::testing::GTEST_FLAG(filter) = "SmokeTest.*"; + try { + ci::RequestMode request_mode = ParseRequestMode(argc, argv); + if (getuid() != 0 || request_mode != ci::RequestMode::GLOBAL) { + std::cout << "Skip tests for preload request" << std::endl; + ::testing::GTEST_FLAG(filter) = "SmokeTest.*"; + } + testing::InitGoogleTest(&argc, argv); + env = testing::AddGlobalTestEnvironment( + new common_installer::SmokeEnvironment(request_mode)); + signal(SIGINT, signalHandler); + signal(SIGSEGV, signalHandler); + return RUN_ALL_TESTS(); + } catch (...) { + std::cout << "Exception occurred during testing"; + return 1; } - testing::InitGoogleTest(&argc, argv); - env = testing::AddGlobalTestEnvironment( - new common_installer::SmokeEnvironment(request_mode)); - signal(SIGINT, signalHandler); - signal(SIGSEGV, signalHandler); - return RUN_ALL_TESTS(); } diff --git a/src/wgt/step/configuration/step_parse.cc b/src/wgt/step/configuration/step_parse.cc index 3252489..d522b5a 100644 --- a/src/wgt/step/configuration/step_parse.cc +++ b/src/wgt/step/configuration/step_parse.cc @@ -490,6 +490,7 @@ bool StepParse::FillServiceApplicationInfo(manifest_x* manifest) { calloc(1, sizeof(metadata_x))); if (!item) { LOG(ERROR) << "Out of memory"; + pkgmgrinfo_basic_free_application(application); return false; } item->key = strdup(pair.first.c_str()); @@ -946,6 +947,7 @@ common_installer::Step::Status StepParse::process() { if (!FillManifestX(manifest)) { LOG(ERROR) << "[Parse] Storing manifest_x failed. " << parser_->GetErrorMessage(); + pkgmgr_parser_free_manifest_xml(manifest); return common_installer::Step::Status::PARSE_ERROR; } diff --git a/src/wgt/step/encryption/step_encrypt_resources.h b/src/wgt/step/encryption/step_encrypt_resources.h index 27e4d02..6b420fd 100644 --- a/src/wgt/step/encryption/step_encrypt_resources.h +++ b/src/wgt/step/encryption/step_encrypt_resources.h @@ -22,6 +22,9 @@ class StepEncryptResources : public common_installer::Step { public: using Step::Step; + explicit StepEncryptResources(common_installer::InstallerContext* context) + : Step(context), backend_data_(nullptr) {} + /** * \brief Encrypt files * diff --git a/src/wgt/step/filesystem/step_wgt_patch_icons.cc b/src/wgt/step/filesystem/step_wgt_patch_icons.cc index 89e6fff..c48e381 100644 --- a/src/wgt/step/filesystem/step_wgt_patch_icons.cc +++ b/src/wgt/step/filesystem/step_wgt_patch_icons.cc @@ -18,6 +18,8 @@ namespace { const char kDefaultIconPath[] = "/usr/share/wgt-backend/default.png"; bool PatchIcon(icon_x* icon, const bf::path& dst_path) { + if (!icon) + return false; bs::error_code error; bf::path icon_text(icon->text); bf::path icon_path = dst_path; -- 2.7.4 From 3a57e782fe357c7496296d845700e70a683b4300 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Fri, 4 Jan 2019 17:46:47 +0900 Subject: [PATCH 14/16] Release version 0.7.12 Changes: - Fix static analyzer issues Change-Id: I2873ca64510ea3d8965ae122382a672aa5ce5c12 Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index b272100..eb994e5 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.7.11 +Version: 0.7.12 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From f386ae69da862da0c2278a64525f40382e2091d2 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 15 Jan 2019 17:32:14 +0900 Subject: [PATCH 15/16] Fix ManifestDirectPartialUpdate mode Fix manifest file location for update. The manifest which is located at ManifestLocation::INSTALLED(where is /usr/share/package/) contains all apps in package. Change-Id: I1b81f07145646f40f773df90525b796483091f02 Signed-off-by: Sangyoon Jang --- src/hybrid/hybrid_installer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 0ebad97..6bf6bef 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -555,7 +555,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) case ci::RequestType::ManifestPartialUpdate: { AddStep(pkgmgr_); AddStep( - ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::ManifestLocation::PACKAGE, ci::configuration::StepParseManifest::StoreLocation::NORMAL); AddStep(); AddStep( -- 2.7.4 From 8be0d6cb829d69b89f50d6eea06d09c9b5902e5c Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 16 Jan 2019 11:52:52 +0900 Subject: [PATCH 16/16] Release version 0.7.13 Changes: - Fix ManifestDirectPartialUpdate mode Change-Id: I0defedc67030f23a23ee79ad0a880d5661921cf2 Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index eb994e5..c654157 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.7.12 +Version: 0.7.13 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4