From 5b6c106ff5a2b2272f73b622b8ed666946ce4471 Mon Sep 17 00:00:00 2001 From: BrainL Date: Tue, 27 May 2025 16:55:51 +0800 Subject: [PATCH 1/4] modify syncAcl Signed-off-by: BrainL --- services/implementation/src/device_manager_service_impl.cpp | 4 ++++ services/service/src/device_manager_service.cpp | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/services/implementation/src/device_manager_service_impl.cpp b/services/implementation/src/device_manager_service_impl.cpp index bc58bf392..2de7493c2 100644 --- a/services/implementation/src/device_manager_service_impl.cpp +++ b/services/implementation/src/device_manager_service_impl.cpp @@ -2515,6 +2515,10 @@ void DeviceManagerServiceImpl::CheckDeleteCredential(const std::string &remoteUd void DeviceManagerServiceImpl::HandleCredentialDeleted(const char *credId, const char *credInfo, const std::string &localUdid, std::string &remoteUdid, bool &isShareType) { + if (credId == nullptr || credInfo == nullptr || localUdid.empty()) { + LOGE("Invalid parameter, credId or credInfo is null."); + return; + } std::vector profiles = DeviceProfileConnector::GetInstance().GetAccessControlProfile(); JsonObject jsonObject; diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 9daf9e13f..15e13838c 100644 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -1967,6 +1967,10 @@ void DeviceManagerService::SendShareTypeUnBindBroadCast(const char *credId, cons const std::vector &peerUdids) { LOGI("Start."); + if (credId == nullptr){ + LOGE("Invalid parameter, credId is nullptr."); + return; + } RelationShipChangeMsg msg; msg.type = RelationShipChangeType::SHARE_UNBIND; msg.userId = static_cast(localUserId); @@ -3068,7 +3072,7 @@ bool DeviceManagerService::IsMsgEmptyAndDMServiceImplReady(const std::string &ms void DeviceManagerService::HandleShareUnbindBroadCast(const int32_t userId, const std::string &credId) { LOGI("start."); - if (credId == "") { + if (credId.empty()) { LOGE("HandleShareUnbindBroadCast credId is null."); return; } -- Gitee From b035d7a663631ee2dac8f9277981d0274c995a46 Mon Sep 17 00:00:00 2001 From: BrainL Date: Wed, 4 Jun 2025 16:56:24 +0800 Subject: [PATCH 2/4] get shareType from hichain Signed-off-by: BrainL --- .../src/device_manager_service_impl.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/services/implementation/src/device_manager_service_impl.cpp b/services/implementation/src/device_manager_service_impl.cpp index 2de7493c2..561c2e767 100644 --- a/services/implementation/src/device_manager_service_impl.cpp +++ b/services/implementation/src/device_manager_service_impl.cpp @@ -69,6 +69,7 @@ constexpr const char* CHANGE_PINTYPE = "1"; constexpr size_t MAX_NEW_PROC_SESSION_COUNT_TEMP = 1; const int32_t USLEEP_TIME_US_500000 = 500000; // 500ms const int32_t OPEN_AUTH_SESSION_TIMEOUT = 15000; // 15000ms +const int32_t SHARE_CRED_TYPE = 3; const std::map BUNDLENAME_MAPPING = { { "wear_link_service", "watch_system_service" } @@ -2529,19 +2530,27 @@ void DeviceManagerServiceImpl::HandleCredentialDeleted(const char *credId, const } std::string deviceIdTag = "deviceId"; std::string userIdTag = "osAccountId"; + std::string credTypeTag = "credType"; int32_t localUserId = MultipleUserConnector::GetCurrentAccountUserID(); int32_t userId = 0; + int32_t credType = -1; if (IsString(jsonObject, deviceIdTag)) { remoteUdid = jsonObject[deviceIdTag].Get(); } if (IsInt32(jsonObject, userIdTag)) { userId = jsonObject[userIdTag].Get(); } + if (IsInt32(jsonObject, credTypeTag)) { + credType = jsonObject[credTypeTag].Get(); + } + + if (credType != SHARE_CRED_TYPE) { + LOGE("credType is not SHARE_CRED_TYPE."); + break; + } for (const auto &item : profiles) { - if (item.GetBindType() != DM_SHARE) { - continue; - } + if ((item.GetAccesser().GetAccesserCredentialIdStr() == credId && item.GetAccesser().GetAccesserDeviceId() == localUdid && item.GetAccesser().GetAccesserUserId() == localUserId && -- Gitee From 655e8d76c4d2667b03ed8cfe07f1a29ee1643edc Mon Sep 17 00:00:00 2001 From: BrainL Date: Wed, 4 Jun 2025 16:58:23 +0800 Subject: [PATCH 3/4] modify Signed-off-by: BrainL --- services/implementation/src/device_manager_service_impl.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/services/implementation/src/device_manager_service_impl.cpp b/services/implementation/src/device_manager_service_impl.cpp index 561c2e767..b2df69e35 100644 --- a/services/implementation/src/device_manager_service_impl.cpp +++ b/services/implementation/src/device_manager_service_impl.cpp @@ -2546,11 +2546,10 @@ void DeviceManagerServiceImpl::HandleCredentialDeleted(const char *credId, const if (credType != SHARE_CRED_TYPE) { LOGE("credType is not SHARE_CRED_TYPE."); - break; + return; } for (const auto &item : profiles) { - if ((item.GetAccesser().GetAccesserCredentialIdStr() == credId && item.GetAccesser().GetAccesserDeviceId() == localUdid && item.GetAccesser().GetAccesserUserId() == localUserId && -- Gitee From 9d39080a8f3c17c4e9923a8829642eba783492c5 Mon Sep 17 00:00:00 2001 From: BrainL Date: Wed, 4 Jun 2025 17:00:14 +0800 Subject: [PATCH 4/4] modify Signed-off-by: BrainL --- services/service/src/device_manager_service.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 15e13838c..9e2857541 100644 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -1967,7 +1967,7 @@ void DeviceManagerService::SendShareTypeUnBindBroadCast(const char *credId, cons const std::vector &peerUdids) { LOGI("Start."); - if (credId == nullptr){ + if (credId == nullptr) { LOGE("Invalid parameter, credId is nullptr."); return; } -- Gitee