diff --git a/common/native/include/security_report.h b/common/native/include/security_report.h index d56ffa5b4019855c6a9e5d41ed6a69c4c5e65c11..ac44952d86e2e7312917ac4d6fa41f8557438109 100644 --- a/common/native/include/security_report.h +++ b/common/native/include/security_report.h @@ -23,7 +23,7 @@ namespace EDM { class SecurityReport { public: static void ReportSecurityInfo(const std::string &bundleName, const std::string &abilityName, - const std::string &policyName); + const std::string &policyName, const std::string &outcome); }; } // namespace EDM } // namespace OHOS diff --git a/common/native/src/security_report.cpp b/common/native/src/security_report.cpp index 56942bb84b68affe2536ffaecf2c34ca18621a8e..351af1d1ef3b8dfd8bb7e6af618631d641b7f9c2 100644 --- a/common/native/src/security_report.cpp +++ b/common/native/src/security_report.cpp @@ -25,7 +25,7 @@ namespace OHOS { namespace EDM { void SecurityReport::ReportSecurityInfo(const std::string &bundleName, const std::string &abilityName, - const std::string &policyName) + const std::string &policyName, const std::string &outcome) { #ifdef SECURITY_GUARDE_ENABLE const int64_t EVENT_ID = 1011015013; // 1011015013: report event id @@ -39,6 +39,7 @@ void SecurityReport::ReportSecurityInfo(const std::string &bundleName, const std jsonResult["subType"] = 0; // default jsonResult["caller"] = callPkgJson; jsonResult["objectInfo"] = policyName; + jsonResult["outcome"] = outcome; std::shared_ptr eventInfo = std::make_shared(EVENT_ID, "1.0", jsonResult.dump()); int32_t ret = OHOS::Security::SecurityGuard::NativeDataCollectKit::ReportSecurityInfo(eventInfo); if (ret != ERR_OK) { diff --git a/services/edm/include/enterprise_device_mgr_ability.h b/services/edm/include/enterprise_device_mgr_ability.h index c9758b426dd1b4c808a62e7cb60f32c05240ef09..09e620cfa5789c5e05f746ca9c4f1c56fd807ed0 100644 --- a/services/edm/include/enterprise_device_mgr_ability.h +++ b/services/edm/include/enterprise_device_mgr_ability.h @@ -106,7 +106,8 @@ private: void OnAppManagerServiceStart(int32_t systemAbilityId, const std::string &deviceId); void OnAbilityManagerServiceStart(int32_t systemAbilityId, const std::string &deviceId); void OnCommonEventServiceStart(int32_t systemAbilityId, const std::string &deviceId); - void CreateSecurityContent(std::shared_ptr deviceAdmin, std::shared_ptr plugin); + void CreateSecurityContent(std::shared_ptr deviceAdmin, std::shared_ptr plugin, + const std::string &outcome); void InitAllPolices(); void RemoveAllDebugAdmin(); void ConnectAbilityOnSystemUpdate(const UpdateInfo &updateInfo); diff --git a/services/edm/src/enterprise_device_mgr_ability.cpp b/services/edm/src/enterprise_device_mgr_ability.cpp index 409d9041d0d7d5b0354a115b4b4f143f5de49229..005b9e5de2cc64753bfad89e429f28c7bf659990 100644 --- a/services/edm/src/enterprise_device_mgr_ability.cpp +++ b/services/edm/src/enterprise_device_mgr_ability.cpp @@ -57,13 +57,6 @@ const std::string FIRMWARE_EVENT_INFO_TYPE = "packageType"; const std::string FIRMWARE_EVENT_INFO_CHECK_TIME = "firstReceivedTime"; const std::string DEVELOP_MODE_STATE = "const.security.developermode.state"; -const std::vector codeList = { - EdmInterfaceCode::RESET_FACTORY, - EdmInterfaceCode::DISABLED_PRINTER, - EdmInterfaceCode::DISABLED_HDC, - EdmInterfaceCode::NTP_SERVER, -}; - std::mutex EnterpriseDeviceMgrAbility::mutexLock_; sptr EnterpriseDeviceMgrAbility::instance_; @@ -922,22 +915,20 @@ ErrCode EnterpriseDeviceMgrAbility::HandleDevicePolicy(uint32_t code, AppExecFwk EDMLOGW("HandleDevicePolicy: VerifyCallingPermission failed"); return EdmReturnErrCode::PERMISSION_DENIED; } - CreateSecurityContent(deviceAdmin, plugin); + CreateSecurityContent(deviceAdmin, plugin, "NA"); + ErrCode ret = UpdateDevicePolicy(code, admin, data, reply, userId); + CreateSecurityContent(deviceAdmin, plugin, std::to_string(ret)); + return ret; #endif - return UpdateDevicePolicy(code, admin, data, reply, userId); } void EnterpriseDeviceMgrAbility::CreateSecurityContent(std::shared_ptr deviceAdmin, - std::shared_ptr plugin) + std::shared_ptr plugin, const std::string &outcome) { - if (std::find(codeList.begin(), codeList.end(), plugin->GetCode()) == codeList.end()) { - EDMLOGE("EnterpriseDeviceMgrAbility::CreateSecurityContent code not in list: %{public}d", plugin->GetCode()); - return; - } std::string bundleName = deviceAdmin->adminInfo_.packageName_; std::string abilityName = deviceAdmin->adminInfo_.className_; std::string policyName = plugin->GetPolicyName(); - SecurityReport::ReportSecurityInfo(bundleName, abilityName, policyName); + SecurityReport::ReportSecurityInfo(bundleName, abilityName, policyName, outcome); } ErrCode EnterpriseDeviceMgrAbility::GetDevicePolicy(uint32_t code, MessageParcel &data, MessageParcel &reply,