From 69fe88ee65cc530ead8d3eb2dadd98b55dd2198b Mon Sep 17 00:00:00 2001 From: zhangcan42 Date: Fri, 6 Sep 2024 07:45:42 +0000 Subject: [PATCH 1/4] update test/unittest/updaterkits_test/updaterkits_unittest.cpp. Signed-off-by: zhangcan42 --- .../unittest/updaterkits_test/updaterkits_unittest.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/unittest/updaterkits_test/updaterkits_unittest.cpp b/test/unittest/updaterkits_test/updaterkits_unittest.cpp index 9d6665c3..0ac3b7e3 100755 --- a/test/unittest/updaterkits_test/updaterkits_unittest.cpp +++ b/test/unittest/updaterkits_test/updaterkits_unittest.cpp @@ -39,18 +39,18 @@ void UpdaterKitsUnitTest::TearDownTestCase(void) HWTEST_F(UpdaterKitsUnitTest, updater_kits_test01, TestSize.Level1) { const std::vector packageName1 = {""}; - bool ret = RebootAndInstallUpgradePackage(MISC_FILE, packageName1); - EXPECT_EQ(ret, false); + int ret = RebootAndInstallUpgradePackage(MISC_FILE, packageName1); + EXPECT_EQ(ret, 1); const std::vector packageName2 = {"/data/updater/updater/updater_without_updater_binary.zip"}; auto fp = std::unique_ptr(fopen(MISC_FILE.c_str(), "wb+"), fclose); EXPECT_NE(fp, nullptr); ret = RebootAndInstallUpgradePackage(MISC_FILE, packageName2); - EXPECT_EQ(ret, true); + EXPECT_EQ(ret, 0); ret = RebootAndInstallUpgradePackage(MISC_FILE, packageName2, UPGRADE_TYPE_SD); - EXPECT_EQ(ret, true); + EXPECT_EQ(ret, 0); ret = RebootAndInstallUpgradePackage(MISC_FILE, packageName2, UPGRADE_TYPE_SD_INTRAL); - EXPECT_EQ(ret, true); + EXPECT_EQ(ret, 0); unlink(MISC_FILE.c_str()); } -- Gitee From d27b53fe1aa87fcf7895b1c26c04286a83f2cac3 Mon Sep 17 00:00:00 2001 From: zhangcan42 Date: Fri, 6 Sep 2024 08:10:06 +0000 Subject: [PATCH 2/4] update services/flashd/daemon/update_commander.cpp. Signed-off-by: zhangcan42 --- services/flashd/daemon/update_commander.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/flashd/daemon/update_commander.cpp b/services/flashd/daemon/update_commander.cpp index ca0f21b8..d8735711 100644 --- a/services/flashd/daemon/update_commander.cpp +++ b/services/flashd/daemon/update_commander.cpp @@ -118,7 +118,10 @@ bool UpdateCommander::ExecUpdate() const const std::string miscFile = "/dev/block/by-name/misc"; std::vector filePath; filePath.push_back(filePath_); - return RebootAndInstallUpgradePackage(miscFile, filePath); + if (RebootAndInstallUpgradePackage(miscFile, filePath) == 0) { + return true; + } + return false; } void UpdateCommander::PostCommand() -- Gitee From 179b9aef1570ef2815f1417d73798b03305cf524 Mon Sep 17 00:00:00 2001 From: zhangcan42 Date: Fri, 6 Sep 2024 08:31:59 +0000 Subject: [PATCH 3/4] update interfaces/kits/updaterkits/updaterkits.cpp. Signed-off-by: zhangcan42 --- interfaces/kits/updaterkits/updaterkits.cpp | 26 ++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/interfaces/kits/updaterkits/updaterkits.cpp b/interfaces/kits/updaterkits/updaterkits.cpp index 02a60715..c3c0f55c 100755 --- a/interfaces/kits/updaterkits/updaterkits.cpp +++ b/interfaces/kits/updaterkits/updaterkits.cpp @@ -132,12 +132,12 @@ static bool IsPackagePath(const std::string &path) return true; } -static bool AddPkgPath(struct UpdateMessage &msg, size_t updateOffset, const std::vector &packageName) +static int AddPkgPath(struct UpdateMessage &msg, size_t updateOffset, const std::vector &packageName) { for (auto path : packageName) { if (updateOffset > sizeof(msg.update)) { LOG(ERROR) << "updaterkits: updateOffset > msg.update, return false"; - return false; + return 4; // 4 : path is too long } int ret; if (IsPackagePath(path)) { @@ -149,11 +149,11 @@ static bool AddPkgPath(struct UpdateMessage &msg, size_t updateOffset, const std } if (ret < 0) { LOG(ERROR) << "updaterkits: copy updater message failed"; - return false; + return 5; // 5 : The library function is incorrect } updateOffset += static_cast(ret); } - return true; + return 0; } bool RebootAndInstallSdcardPackage(const std::string &miscFile, const std::vector &packageName) @@ -165,7 +165,7 @@ bool RebootAndInstallSdcardPackage(const std::string &miscFile, const std::vecto return false; } - if (packageName.size() != 0 && !AddPkgPath(msg, static_cast(ret), packageName)) { + if (packageName.size() != 0 && AddPkgPath(msg, static_cast(ret), packageName) != 0) { LOG(ERROR) << "get sdcard pkg path fail"; return false; } @@ -175,19 +175,19 @@ bool RebootAndInstallSdcardPackage(const std::string &miscFile, const std::vecto return true; } -bool RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vector &packageName, +int RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vector &packageName, const std::string &upgradeType) { if (packageName.size() == 0 && upgradeType == UPGRADE_TYPE_OTA) { LOG(ERROR) << "updaterkits: invalid argument. one of arugments is empty"; - return false; + return 1; // 1 : Invalid input } for (auto path : packageName) { if (IsPackagePath(path)) { if (access(path.c_str(), R_OK) < 0) { LOG(ERROR) << "updaterkits: " << path << " is not readable"; - return false; + return 2; // 2 : pkg not exist } } } @@ -202,11 +202,11 @@ bool RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vect } if (ret < 0) { LOG(ERROR) << "updaterkits: copy updater message failed"; - return false; + return 3; // 3 : The library function is incorrect } - - if (!AddPkgPath(updateMsg, static_cast(ret), packageName)) { - return false; + int addRet = AddPkgPath(updateMsg, static_cast(ret), packageName); + if (addRet != 0) { + return addRet; } if (upgradeType == UPGRADE_TYPE_OTA) { WriteToMiscAndResultFileRebootToUpdater(updateMsg); @@ -215,7 +215,7 @@ bool RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vect } // Never get here. - return true; + return 0; } bool RebootAndCleanUserData(const std::string &miscFile, const std::string &cmd) -- Gitee From f26097ac5831f9045ea6a989153777bd8bb4a9e4 Mon Sep 17 00:00:00 2001 From: zhangcan42 Date: Fri, 6 Sep 2024 08:33:51 +0000 Subject: [PATCH 4/4] update interfaces/kits/include/updaterkits/updaterkits.h. Signed-off-by: zhangcan42 --- interfaces/kits/include/updaterkits/updaterkits.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/include/updaterkits/updaterkits.h b/interfaces/kits/include/updaterkits/updaterkits.h index 3c869988..6f2b6699 100755 --- a/interfaces/kits/include/updaterkits/updaterkits.h +++ b/interfaces/kits/include/updaterkits/updaterkits.h @@ -23,7 +23,7 @@ constexpr const char *UPGRADE_TYPE_SD_INTRAL = "sdcard_intral"; // Reboot system to updater mode and trigger installing update package. // @param packageName update package file name. // @return returns true if trigger update package installing success, else returns false. -extern bool RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vector &packageName, +extern int RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vector &packageName, const std::string &upgradeType = UPGRADE_TYPE_OTA); // Reboot system to sdcard update mode and trigger installing update package. -- Gitee