diff --git a/services/native/driver_extension_manager/include/input_emit_event/emit_event_manager.h b/services/native/driver_extension_manager/include/input_emit_event/emit_event_manager.h index a6d00a4e5001c248d2b83a0c8e26cb32f50e4e69..14758b740cd9f6ba5f079c19eefa1d60a08ce2ce 100644 --- a/services/native/driver_extension_manager/include/input_emit_event/emit_event_manager.h +++ b/services/native/driver_extension_manager/include/input_emit_event/emit_event_manager.h @@ -34,8 +34,6 @@ public: private: EmitEventManager() = default; - bool HasPermission(void); - bool CheckHapPermission(uint32_t tokenId); std::map> virtualDeviceMap_; int32_t lastDeviceId_ = 0; }; diff --git a/services/native/driver_extension_manager/src/driver_permission/BUILD.gn b/services/native/driver_extension_manager/src/driver_permission/BUILD.gn index 34914c5e15b88d00f3d35ed8f4801f6725ad40e3..cc89358c160d85fffb8a1791f8a41d0bfe7c57c5 100644 --- a/services/native/driver_extension_manager/src/driver_permission/BUILD.gn +++ b/services/native/driver_extension_manager/src/driver_permission/BUILD.gn @@ -30,7 +30,6 @@ ohos_shared_library("driver_permission_manager") { external_deps = [ "ability_base:want", "access_token:libaccesstoken_sdk", - "access_token:libprivacy_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utilsbase", diff --git a/services/native/driver_extension_manager/src/driver_permission/ext_permission_manager.cpp b/services/native/driver_extension_manager/src/driver_permission/ext_permission_manager.cpp index 539e48a6cf374c2fdb5489bf0a930d7cb88aa04f..20815cad270f21e68d5481489d56fede91a18fe9 100644 --- a/services/native/driver_extension_manager/src/driver_permission/ext_permission_manager.cpp +++ b/services/native/driver_extension_manager/src/driver_permission/ext_permission_manager.cpp @@ -19,7 +19,6 @@ #include "ipc_skeleton.h" #include "iservice_registry.h" #include "accesstoken_kit.h" -#include "privacy_kit.h" #include "system_ability_definition.h" namespace OHOS { @@ -79,10 +78,6 @@ bool ExtPermissionManager::HasPermission(std::string permissionName) AccessTokenID callerToken = IPCSkeleton::GetCallingTokenID(); int result = AccessTokenKit::VerifyAccessToken(callerToken, permissionName); - if (PrivacyKit::AddPermissionUsedRecord(callerToken, permissionName, static_cast(1 + result), - static_cast(-result)) != 0) { - EDM_LOGE(MODULE_DEV_MGR, "AddPermissionUsedRecord failed."); - } if (result != PERMISSION_GRANTED) { EDM_LOGE(MODULE_DEV_MGR, "usb_ddk_api: No permission."); return false; diff --git a/services/native/driver_extension_manager/src/input_emit_event/emit_event_manager.cpp b/services/native/driver_extension_manager/src/input_emit_event/emit_event_manager.cpp index 0eeffcb4b1842135a1d30257dc8d4e6307e2f6a4..9622816edd1b7f14b96f971b299e0d40dadae3f9 100644 --- a/services/native/driver_extension_manager/src/input_emit_event/emit_event_manager.cpp +++ b/services/native/driver_extension_manager/src/input_emit_event/emit_event_manager.cpp @@ -29,10 +29,6 @@ IMPLEMENT_SINGLE_INSTANCE(EmitEventManager); const uint16_t MAX_VIRTUAL_DEVICE_NUM = 200; int32_t EmitEventManager::CreateDevice(Hid_Device *hidDevice, Hid_EventProperties *hidEventProperties) { - if (!HasPermission()) { - EDM_LOGE(MODULE_HID_DDK, "permission denied"); - return HID_DDK_NO_PERM; - } // check device number if (virtualDeviceMap_.size() >= MAX_VIRTUAL_DEVICE_NUM) { EDM_LOGE(MODULE_HID_DDK, "device num exceeds maximum %{public}d", MAX_VIRTUAL_DEVICE_NUM); @@ -82,33 +78,6 @@ int32_t EmitEventManager::DestroyDevice(int32_t deviceId) return HID_DDK_SUCCESS; } -bool EmitEventManager::CheckHapPermission(uint32_t tokenId) -{ - OHOS::Security::AccessToken::HapTokenInfo findInfo; - if (OHOS::Security::AccessToken::AccessTokenKit::GetHapTokenInfo(tokenId, findInfo) != 0) { - EDM_LOGE(MODULE_USB_DDK, "GetHapTokenInfo failed"); - return false; - } - if ((findInfo.apl == ATokenAplEnum::APL_SYSTEM_CORE) || (findInfo.apl == ATokenAplEnum::APL_SYSTEM_BASIC)) { - return true; - } - return false; -} - -bool EmitEventManager::HasPermission(void) -{ - auto tokenId = IPCSkeleton::GetCallingTokenID(); - auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); - if (tokenType == OHOS::Security::AccessToken::TOKEN_HAP) { - return CheckHapPermission(tokenId); - } else if (tokenType == OHOS::Security::AccessToken::TOKEN_NATIVE) { - return true; - } else if (tokenType == OHOS::Security::AccessToken::TOKEN_SHELL) { - return true; - } - return false; -} - int32_t EmitEventManager::GetCurDeviceId(void) { if (virtualDeviceMap_.count(lastDeviceId_) == 0) { diff --git a/services/zidl/src/driver_ext_mgr_stub.cpp b/services/zidl/src/driver_ext_mgr_stub.cpp index 58515dc97f2bfbddee03c7e3bf6d3519d34f370d..7b613b48230a2b3f13783d974ab163089be38fdb 100644 --- a/services/zidl/src/driver_ext_mgr_stub.cpp +++ b/services/zidl/src/driver_ext_mgr_stub.cpp @@ -145,6 +145,7 @@ int32_t DriverExtMgrStub::OnCreateDevice(MessageParcel &data, MessageParcel &rep auto device = &(hidDevice.value()); auto eventProperties = &(hidEventProperties.value()); int32_t ret = CreateDevice(device, eventProperties); + delete[] device->deviceName; delete device->properties; delete eventProperties->hidEventTypes.hidEventType; delete eventProperties->hidKeys.hidKeyCode; diff --git a/services/zidl/src/driver_ext_mgr_types.cpp b/services/zidl/src/driver_ext_mgr_types.cpp index 8e9136fa7514a23f33f5ba8575260a6888d825ef..14eee09b55077acc1f6441068906832373a0c00a 100644 --- a/services/zidl/src/driver_ext_mgr_types.cpp +++ b/services/zidl/src/driver_ext_mgr_types.cpp @@ -279,7 +279,7 @@ std::optional HidDeviceUnMarshalling(MessageParcel &parcel) EDM_LOGE(MODULE_DEV_MGR, "failed to read deviceName"); return std::nullopt; } - hidDevice.deviceName = (char *)str->c_str(); + hidDevice.deviceName = str->c_str(); if (!parcel.ReadUint16(hidDevice.vendorId)) { EDM_LOGE(MODULE_DEV_MGR, "failed to read vendorId");