diff --git a/common/utils/include/distributed_hardware_errno.h b/common/utils/include/distributed_hardware_errno.h index bbd6cdf419e8be11dc25eb360546f23d50586f98..530bb79b4cea7b5777775970dae00849467c4af8 100644 --- a/common/utils/include/distributed_hardware_errno.h +++ b/common/utils/include/distributed_hardware_errno.h @@ -124,6 +124,7 @@ namespace DistributedHardware { /* DHFWK Check Permission errno, range: [-11200, -11299] */ constexpr int32_t ERR_DH_FWK_ACCESS_PERMISSION_CHECK_FAIL = -11200; constexpr int32_t ERR_DH_FWK_IS_SYSTEM_HAP_CHECK_FAIL = -11201; + constexpr int32_t ERR_DH_FWK_IS_LOCAL_PROCESS_FAIL = -11202; } // namespace DistributedHardware } // namespace OHOS #endif // OHOS_DISTRIBUTED_HARDWARE_ERRNO diff --git a/services/distributedhardwarefwkservice/src/distributed_hardware_stub.cpp b/services/distributedhardwarefwkservice/src/distributed_hardware_stub.cpp index ae7d472cf32c3ef6c3690ca11ca72b0b0553e312..1285e94ceb7ae4d3979fdf90d2729d4ac685cf94 100644 --- a/services/distributedhardwarefwkservice/src/distributed_hardware_stub.cpp +++ b/services/distributedhardwarefwkservice/src/distributed_hardware_stub.cpp @@ -41,6 +41,13 @@ int32_t DistributedHardwareStub::OnRemoteRequest(uint32_t code, MessageParcel &d DHLOGE("IPC Token valid fail!"); return ERR_INVALID_DATA; } + if (code != static_cast(DHMsgInterfaceCode::NOTIFY_SOURCE_DEVICE_REMOTE_DMSDP_STARTED)) { + if (!IPCSkeleton::IsLocalCalling()) { + DHLOGE("Invalid request, only support local, code = %{public}u.", code); + return ERR_DH_FWK_IS_LOCAL_PROCESS_FAIL; + } + } + switch (code) { case static_cast(DHMsgInterfaceCode::REG_PUBLISHER_LISTNER): { return RegisterPublisherListenerInner(data, reply);