diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp index 09ca1bc9bea8c7339fe4e72dc56f8c06972e5127..09ba17bf16d4865611266162e8b5925d06ae567a 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp +++ b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp @@ -667,86 +667,10 @@ int32_t AccessTokenKit::UnRegisterTokenSyncCallback() } #endif -static void FormatApl(ATokenAplEnum availableLevel, std::string& apl) -{ - if (availableLevel == ATokenAplEnum::APL_NORMAL) { - apl = "NORMAL"; - } else if (availableLevel == ATokenAplEnum::APL_SYSTEM_BASIC) { - apl = "SYSTEM_BASIC"; - } else { - apl = "SYSTEM_CORE"; - } -} - -static void FormatAvailableType(ATokenAvailableTypeEnum availableType, std::string& type) -{ - if (availableType == ATokenAvailableTypeEnum::NORMAL) { - type = "NORMAL"; - } else if (availableType == ATokenAvailableTypeEnum::SYSTEM) { - type = "SYSTEM"; - } else if (availableType == ATokenAvailableTypeEnum::MDM) { - type = "MDM"; - } else if (availableType == ATokenAvailableTypeEnum::SYSTEM_AND_MDM) { - type = "SYSTEM_AND_MDM"; - } else if (availableType == ATokenAvailableTypeEnum::SERVICE) { - type = "SERVICE"; - } else { - type = "ENTERPRISE_NORMAL"; - } -} - -static void PermDefinitionToString(const PermissionBriefDef& briefDef, std::string& dumpInfo) -{ - std::string grantMode = briefDef.grantMode == GrantMode::USER_GRANT ? "USER_GRANT" : "SYSTEM_GRANT"; - std::string apl; - FormatApl(briefDef.availableLevel, apl); - std::string availableType; - FormatAvailableType(briefDef.availableType, availableType); - - dumpInfo.append(R"({)"); - dumpInfo.append("\n"); - dumpInfo.append(R"( "permissionName": ")" + std::string(briefDef.permissionName) + R"(")" + ",\n"); - dumpInfo.append(R"( "grantMode": )" + grantMode + ",\n"); - dumpInfo.append(R"( "availableLevel": )" + apl + ",\n"); - dumpInfo.append(R"( "availableType": )" + availableType + ",\n"); - dumpInfo.append(R"( "provisionEnable": )" + std::string(briefDef.provisionEnable ? "true" : "false") + ",\n"); - dumpInfo.append(R"( "distributedSceneEnable": )" + - std::string(briefDef.distributedSceneEnable ? "true" : "false") + ",\n"); - dumpInfo.append(R"( "isKernelEffect": )" + std::string(briefDef.isKernelEffect ? "true" : "false") + ",\n"); - dumpInfo.append(R"( "hasValue": )" + std::string(briefDef.hasValue ? "true" : "false") + ",\n"); - dumpInfo.append(R"(})"); - dumpInfo.append("\n"); -} - -static void DumpPermDefinition(const AtmToolsParamInfo& info, std::string& dumpInfo) -{ - if (info.permissionName.empty()) { - size_t count = GetDefPermissionsSize(); - - for (size_t i = 0; i < count; ++i) { - PermissionBriefDef briefDef; - GetPermissionBriefDef(i, briefDef); - PermDefinitionToString(briefDef, dumpInfo); - } - } else { - uint32_t code = 0; - if (TransferPermissionToOpcode(info.permissionName, code)) { - PermissionBriefDef briefDef; - GetPermissionBriefDef(code, briefDef); - PermDefinitionToString(briefDef, dumpInfo); - } - } -} - void AccessTokenKit::DumpTokenInfo(const AtmToolsParamInfo& info, std::string& dumpInfo) { LOGD(ATM_DOMAIN, ATM_TAG, "TokenID=%{public}d, bundleName=%{public}s, processName=%{public}s.", info.tokenId, info.bundleName.c_str(), info.processName.c_str()); - if (info.type == DUMP_PERM) { - DumpPermDefinition(info, dumpInfo); - return; - } - AccessTokenManagerClient::GetInstance().DumpTokenInfo(info, dumpInfo); } diff --git a/interfaces/innerkits/accesstoken/test/unittest/SaTest/dump_token_info_test.cpp b/interfaces/innerkits/accesstoken/test/unittest/SaTest/dump_token_info_test.cpp index 5f7ff2fbaf0a428940571cbf811db123431fc7d9..6a203a48ff626d324f846f108f68d93ef87c6b76 100644 --- a/interfaces/innerkits/accesstoken/test/unittest/SaTest/dump_token_info_test.cpp +++ b/interfaces/innerkits/accesstoken/test/unittest/SaTest/dump_token_info_test.cpp @@ -123,33 +123,6 @@ HWTEST_F(DumpTokenInfoTest, DumpTokenInfoAbnormalTest002, TestSize.Level1) AccessTokenKit::DumpTokenInfo(info, dumpInfo); ASSERT_EQ("invalid tokenId", dumpInfo); } - -/** - * @tc.name: DumpPermDef001 - * @tc.desc: Get dump permission definitions - * @tc.type: FUNC - * @tc.require:Issue Number - */ -HWTEST_F(DumpTokenInfoTest, DumpPermDef001, TestSize.Level1) -{ - LOGI(ATM_DOMAIN, ATM_TAG, "DumpPermDef001"); - SetSelfTokenID(g_selfTokenId); - std::string dumpInfo1; - AtmToolsParamInfo info; - info.type = DUMP_PERM; - AccessTokenKit::DumpTokenInfo(info, dumpInfo1); - ASSERT_EQ(false, dumpInfo1.empty()); - - std::string dumpInfo2; - info.permissionName = "ohos.permission.READ_MEDIA"; - AccessTokenKit::DumpTokenInfo(info, dumpInfo2); - ASSERT_EQ(false, dumpInfo2.empty()); - - std::string dumpInfo3; - info.permissionName = "ohos.permission.INVALID"; - AccessTokenKit::DumpTokenInfo(info, dumpInfo3); - ASSERT_EQ(true, dumpInfo3.empty()); -} } // namespace AccessToken } // namespace Security } // namespace OHOS \ No newline at end of file diff --git a/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp b/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp index e5d1ba764e6d97bab73a34575e5553eae79958ab..593df47498af0e3de1b97f20abc3c2cb09f58c19 100644 --- a/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp +++ b/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp @@ -1811,7 +1811,7 @@ bool AccessTokenInfoManager::IsPermissionReqValid(int32_t tokenApl, const std::s const std::vector& nativeAcls) { PermissionBriefDef briefDef; - if (!GetPermissionBriefDef(permissionName, briefDef)) { + if (GetPermissionBriefDef(permissionName, briefDef)) { return false; } diff --git a/tools/accesstoken/src/atm_command.cpp b/tools/accesstoken/src/atm_command.cpp index d00dc6fcfd014c4af07cace6b8f565416ef06a7a..52ce16b239217b1176a262c0dc5d3b72008259cf 100644 --- a/tools/accesstoken/src/atm_command.cpp +++ b/tools/accesstoken/src/atm_command.cpp @@ -31,7 +31,7 @@ static constexpr int32_t MAX_COUNTER = 1000; static constexpr int32_t MIN_ARGUMENT_NUMBER = 2; static constexpr int32_t MAX_ARGUMENT_NUMBER = 4096; static const std::string HELP_MSG_NO_OPTION = "error: you must specify an option at least.\n"; -static const std::string SHORT_OPTIONS_DUMP = "d::h::t::r::v::i:p:b:n:"; +static const std::string SHORT_OPTIONS_DUMP = "h::t::r::v::i:p:b:n:"; static const std::string TOOLS_NAME = "atm"; static const std::string HELP_MSG = "usage: atm