From 7bf3c117cd9b4ae817f874b01deac6eed95e4065 Mon Sep 17 00:00:00 2001 From: Zhou Shihui Date: Tue, 9 Sep 2025 19:57:55 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"=E5=85=83=E6=9C=8D=E5=8A=A1=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E9=85=8D=E9=A2=9D=E6=A0=A1=E9=AA=8C=E6=9D=83?= =?UTF-8?q?=E9=99=90"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 15a4c700aae0acb7ebccfc03c155a3b30a3ae206. Signed-off-by: Zhou Shihui --- .../bundlemgr/include/base_bundle_installer.h | 2 +- .../bundle_mgr_service_event_handler.h | 2 +- .../bundlemgr/src/base_bundle_installer.cpp | 10 +--- .../src/bundle_mgr_service_event_handler.cpp | 9 +--- .../bms_bundle_installer_permission_test.cpp | 43 ----------------- .../bms_bundle_installer_test.cpp | 41 +++++++++++++++++ .../bms_bundle_permission_getrequest_test.cpp | 46 ------------------- .../bms_event_handler_test.cpp | 43 +++++++++++++++++ 8 files changed, 90 insertions(+), 106 deletions(-) diff --git a/services/bundlemgr/include/base_bundle_installer.h b/services/bundlemgr/include/base_bundle_installer.h index 3bbe789c08..325ada4d9f 100644 --- a/services/bundlemgr/include/base_bundle_installer.h +++ b/services/bundlemgr/include/base_bundle_installer.h @@ -768,7 +768,7 @@ private: #endif void PrepareBundleDirQuota(const std::string &bundleName, const int32_t uid, const std::string &bundleDataDirPath, const int32_t limitSize) const; - void ParseSizeFromProvision(const std::string &bundleName, const int32_t uid, int32_t &sizeMb) const; + void ParseSizeFromProvision(int32_t &sizeMb) const; void VerifyDomain(); void ClearDomainVerifyStatus(const std::string &appIdentifier, const std::string &bundleName) const; bool IsRdDevice() const; diff --git a/services/bundlemgr/include/bundle_mgr_service_event_handler.h b/services/bundlemgr/include/bundle_mgr_service_event_handler.h index a2abd48e84..2bc7a013e5 100644 --- a/services/bundlemgr/include/bundle_mgr_service_event_handler.h +++ b/services/bundlemgr/include/bundle_mgr_service_event_handler.h @@ -560,7 +560,7 @@ private: void PrepareBundleDirQuota(const std::string &bundleName, const int32_t uid, const std::string &bundleDataDirPath, const int32_t limitSize) const; - void ParseSizeFromProvision(const std::string &bundleName, const int32_t uid, int32_t &sizeMb) const; + void ParseSizeFromProvision(const std::string &bundleName, int32_t &sizeMb) const; void RefreshQuotaForAllUid(); void InnerProcessStockBundleRouterInfo(); diff --git a/services/bundlemgr/src/base_bundle_installer.cpp b/services/bundlemgr/src/base_bundle_installer.cpp index aef0430add..041d813177 100644 --- a/services/bundlemgr/src/base_bundle_installer.cpp +++ b/services/bundlemgr/src/base_bundle_installer.cpp @@ -3275,12 +3275,11 @@ void BaseBundleInstaller::PrepareBundleDirQuota(const std::string &bundleName, c } #endif // QUOTA_PARAM_SET_ENABLE #endif // STORAGE_SERVICE_ENABLE - ParseSizeFromProvision(bundleName, uid, atomicserviceDatasizeThreshold); + ParseSizeFromProvision(atomicserviceDatasizeThreshold); SendToStorageQuota(bundleName, uid, bundleDataDirPath, atomicserviceDatasizeThreshold); } -void BaseBundleInstaller::ParseSizeFromProvision( - const std::string &bundleName, const int32_t uid, int32_t &sizeMb) const +void BaseBundleInstaller::ParseSizeFromProvision(int32_t &sizeMb) const { std::string appServiceCapabilities = verifyRes_.GetProvisionInfo().appServiceCapabilities; if (appServiceCapabilities.empty()) { @@ -3291,11 +3290,6 @@ void BaseBundleInstaller::ParseSizeFromProvision( if (item.first != ServiceConstants::PERMISSION_MANAGE_STORAGE) { continue; } - if (BundlePermissionMgr::VerifyPermission(bundleName, ServiceConstants::PERMISSION_MANAGE_STORAGE, - uid / Constants::BASE_USER_RANGE) != Security::AccessToken::PermissionState::PERMISSION_GRANTED) { - APP_LOGW("no manage storage permission for %{public}s", bundleName.c_str()); - return; - } std::unordered_map storageMap = BundleUtil::ParseMapFromJson(item.second); auto it = storageMap.find(KEY_STORAGE_SIZE); if (it == storageMap.end()) { diff --git a/services/bundlemgr/src/bundle_mgr_service_event_handler.cpp b/services/bundlemgr/src/bundle_mgr_service_event_handler.cpp index 1ee1849978..749588f7fe 100644 --- a/services/bundlemgr/src/bundle_mgr_service_event_handler.cpp +++ b/services/bundlemgr/src/bundle_mgr_service_event_handler.cpp @@ -1977,11 +1977,11 @@ void BMSEventHandler::PrepareBundleDirQuota(const std::string &bundleName, const } #endif // QUOTA_PARAM_SET_ENABLE #endif // STORAGE_SERVICE_ENABLE - ParseSizeFromProvision(bundleName, uid, atomicserviceDatasizeThreshold); + ParseSizeFromProvision(bundleName, atomicserviceDatasizeThreshold); SendToStorageQuota(bundleName, uid, bundleDataDirPath, atomicserviceDatasizeThreshold); } -void BMSEventHandler::ParseSizeFromProvision(const std::string &bundleName, const int32_t uid, int32_t &sizeMb) const +void BMSEventHandler::ParseSizeFromProvision(const std::string &bundleName, int32_t &sizeMb) const { AppProvisionInfo provisionInfo; if (!DelayedSingleton::GetInstance()->GetAppProvisionInfo(bundleName, provisionInfo)) { @@ -1996,11 +1996,6 @@ void BMSEventHandler::ParseSizeFromProvision(const std::string &bundleName, cons if (item.first != ServiceConstants::PERMISSION_MANAGE_STORAGE) { continue; } - if (BundlePermissionMgr::VerifyPermission(bundleName, ServiceConstants::PERMISSION_MANAGE_STORAGE, - uid / Constants::BASE_USER_RANGE) != Security::AccessToken::PermissionState::PERMISSION_GRANTED) { - APP_LOGW("no manage storage permission for %{public}s", bundleName.c_str()); - return; - } std::unordered_map storageMap = BundleUtil::ParseMapFromJson(item.second); auto it = storageMap.find(KEY_STORAGE_SIZE); if (it == storageMap.end()) { diff --git a/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_permission_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_permission_test.cpp index 58dc2d7aed..05deb2f311 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_permission_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_permission_test.cpp @@ -1219,47 +1219,4 @@ HWTEST_F(BmsBundleInstallerPermissionTest, ProcessArkStartupCache_0010, Function ErrCode ret = installer.ProcessArkStartupCache(ceateArk, 1, 100); EXPECT_EQ(ret, ERR_APPEXECFWK_INSTALLD_PERMISSION_DENIED); } - -/** -* @tc.number: ParseSizeFromProvision_0010 -* @tc.name: test arseSizeFromProvision -* @tc.desc: 1.Test arseSizeFromProvision -*/ -HWTEST_F(BmsBundleInstallerPermissionTest, ParseSizeFromProvision_0010, Function | MediumTest | Level1) -{ - BaseBundleInstaller installer; - int32_t sizeMb = 200; - std::string bundleName = "test"; - int32_t uid = 20020000; - Security::Verify::ProvisionInfo provisionInfo; - - provisionInfo.appServiceCapabilities = ""; - installer.verifyRes_.SetProvisionInfo(provisionInfo); - installer.ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.TEST\":{\"storageSize\": 1024}}"; - installer.verifyRes_.SetProvisionInfo(provisionInfo); - installer.ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"test\": 1024}}"; - installer.verifyRes_.SetProvisionInfo(provisionInfo); - installer.ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 100}}"; - installer.verifyRes_.SetProvisionInfo(provisionInfo); - installer.ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 1024}}"; - installer.verifyRes_.SetProvisionInfo(provisionInfo); - installer.ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 1024); -} } // OHOS diff --git a/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_test.cpp index a5e3a0edd8..cbf43e027c 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_installer_test/bms_bundle_installer_test.cpp @@ -10216,6 +10216,47 @@ HWTEST_F(BmsBundleInstallerTest, BaseBundleInstaller_9600, Function | MediumTest EXPECT_TRUE(targetSoPath.find(BUNDLE_CODE_PATH_DIR_NEW) == 0); } +/** +* @tc.number: ParseSizeFromProvision_0010 +* @tc.name: test arseSizeFromProvision +* @tc.desc: 1.Test arseSizeFromProvision +*/ +HWTEST_F(BmsBundleInstallerTest, ParseSizeFromProvision_0010, Function | MediumTest | Level1) +{ + BaseBundleInstaller installer; + int32_t sizeMb = 200; + Security::Verify::ProvisionInfo provisionInfo; + + provisionInfo.appServiceCapabilities = ""; + installer.verifyRes_.SetProvisionInfo(provisionInfo); + installer.ParseSizeFromProvision(sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.TEST\":{\"storageSize\": 1024}}"; + installer.verifyRes_.SetProvisionInfo(provisionInfo); + installer.ParseSizeFromProvision(sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"test\": 1024}}"; + installer.verifyRes_.SetProvisionInfo(provisionInfo); + installer.ParseSizeFromProvision(sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 100}}"; + installer.verifyRes_.SetProvisionInfo(provisionInfo); + installer.ParseSizeFromProvision(sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 1024}}"; + installer.verifyRes_.SetProvisionInfo(provisionInfo); + installer.ParseSizeFromProvision(sizeMb); + EXPECT_EQ(sizeMb, 1024); +} + /** * @tc.number: ProcessDynamicIconFileWhenUpdate_0010 * @tc.name: test ProcessDynamicIconFileWhenUpdate diff --git a/services/bundlemgr/test/unittest/bms_bundle_permission_grant_test/bms_bundle_permission_getrequest_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_permission_grant_test/bms_bundle_permission_getrequest_test.cpp index e5e0b72a0b..ce247dd1c4 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_permission_grant_test/bms_bundle_permission_getrequest_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_permission_grant_test/bms_bundle_permission_getrequest_test.cpp @@ -19,11 +19,9 @@ #include #include -#include "app_provision_info_manager.h" #include "bundle_info.h" #include "bundle_mgr_host_impl.h" #include "bundle_mgr_service.h" -#include "bundle_mgr_service_event_handler.h" #include "bundle_permission_mgr.h" using namespace testing::ext; @@ -276,48 +274,4 @@ HWTEST_F(BmsBundlePermissionGetRequestTest, BundleMgrHostImpl_0009, Function | S bool ret = localBundleMgrHostImpl->GetProvisionMetadata(bundleName, userId, provisionMetadatas); EXPECT_TRUE(ret); } - -/** - * @tc.number: ParseSizeFromProvision_0010 - * @tc.name: ParseSizeFromProvision - * @tc.desc: test ParseSizeFromProvision - */ -HWTEST_F(BmsBundlePermissionGetRequestTest, ParseSizeFromProvision_0010, Function | SmallTest | Level1) -{ - std::shared_ptr handler = std::make_shared(); - ASSERT_NE(handler, nullptr); - std::string bundleName = "com.example.test"; - int32_t uid = 20020000; - int32_t sizeMb = 200; - AppProvisionInfo provisionInfo; - - provisionInfo.appServiceCapabilities = ""; - DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); - handler->ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.TEST\":{\"storageSize\": 1024}}"; - DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); - handler->ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"test\": 1024}}"; - DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); - handler->ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 100}}"; - DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); - handler->ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 200); - - provisionInfo.appServiceCapabilities = - "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 1024}}"; - DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); - handler->ParseSizeFromProvision(bundleName, uid, sizeMb); - EXPECT_EQ(sizeMb, 1024); -} } // OHOS diff --git a/services/bundlemgr/test/unittest/bms_event_handler_test/bms_event_handler_test.cpp b/services/bundlemgr/test/unittest/bms_event_handler_test/bms_event_handler_test.cpp index f65741f14f..66b5287792 100644 --- a/services/bundlemgr/test/unittest/bms_event_handler_test/bms_event_handler_test.cpp +++ b/services/bundlemgr/test/unittest/bms_event_handler_test/bms_event_handler_test.cpp @@ -2784,6 +2784,49 @@ HWTEST_F(BmsEventHandlerTest, SaveUpdatePermissionsFlag_0100, Function | SmallTe } } +/** + * @tc.number: ParseSizeFromProvision_0010 + * @tc.name: ParseSizeFromProvision + * @tc.desc: test ParseSizeFromProvision + */ +HWTEST_F(BmsEventHandlerTest, ParseSizeFromProvision_0010, Function | SmallTest | Level0) +{ + std::shared_ptr handler = std::make_shared(); + ASSERT_NE(handler, nullptr); + std::string bundleName = "com.example.test"; + int32_t sizeMb = 200; + AppProvisionInfo provisionInfo; + + provisionInfo.appServiceCapabilities = ""; + DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); + handler->ParseSizeFromProvision(bundleName, sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.TEST\":{\"storageSize\": 1024}}"; + DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); + handler->ParseSizeFromProvision(bundleName, sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"test\": 1024}}"; + DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); + handler->ParseSizeFromProvision(bundleName, sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 100}}"; + DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); + handler->ParseSizeFromProvision(bundleName, sizeMb); + EXPECT_EQ(sizeMb, 200); + + provisionInfo.appServiceCapabilities = + "{\"ohos.permission.atomicService.MANAGE_STORAGE\":{\"storageSize\": 1024}}"; + DelayedSingleton::GetInstance()->AddAppProvisionInfo(bundleName, provisionInfo); + handler->ParseSizeFromProvision(bundleName, sizeMb); + EXPECT_EQ(sizeMb, 1024); +} + /** * @tc.number: CheckSystemOptimizeShaderCache_0100 * @tc.name: CheckSystemOptimizeShaderCache -- Gitee