From 8eed96a71eed9b9576dd9f2b9e96cbed1cfb7eb9 Mon Sep 17 00:00:00 2001 From: chennian Date: Mon, 13 Jun 2022 15:47:07 +0800 Subject: [PATCH 1/3] Signed-off-by:chennian Signed-off-by: chennian --- services/accesstokenmanager/BUILD.gn | 22 +++++++++---------- .../service/accesstoken_manager_service.h | 5 ++--- .../service/accesstoken_manager_service.cpp | 21 +++++++++--------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/services/accesstokenmanager/BUILD.gn b/services/accesstokenmanager/BUILD.gn index 136d70f60..cf9b405c9 100644 --- a/services/accesstokenmanager/BUILD.gn +++ b/services/accesstokenmanager/BUILD.gn @@ -40,7 +40,6 @@ ohos_shared_library("accesstoken_manager_service") { "//base/security/access_token/interfaces/innerkits/privacy/include", "//base/security/access_token/interfaces/innerkits/tokensync/src", "//base/security/access_token/services/tokensyncmanager/include/common", - "//foundation/distributedhardware/devicemanager/interfaces/inner_kits/native_cpp/include", "//third_party/json/include", ] @@ -48,7 +47,6 @@ ohos_shared_library("accesstoken_manager_service") { "main/cpp/src/database/data_storage.cpp", "main/cpp/src/database/data_translator.cpp", "main/cpp/src/database/sqlite_storage.cpp", - "main/cpp/src/device/atm_device_state_callback.cpp", "main/cpp/src/permission/permission_definition_cache.cpp", "main/cpp/src/permission/permission_manager.cpp", "main/cpp/src/permission/permission_policy_set.cpp", @@ -74,27 +72,29 @@ ohos_shared_library("accesstoken_manager_service") { "//utils/native/base:utils", ] + external_deps = [ + "dsoftbus_standard:softbus_client", + "hiviewdfx_hilog_native:libhilog", + "ipc:ipc_core", + "safwk:system_ability_fwk", + "samgr_standard:samgr_proxy", + ] + if (token_sync_enable == true) { cflags_cc += [ "-DTOKEN_SYNC_ENABLE" ] sources += [ + "main/cpp/src/device/atm_device_state_callback.cpp", "main/cpp/src/token/accesstoken_remote_token_manager.cpp", "main/cpp/src/token/token_modify_notifier.cpp", ] include_dirs += [ "//base/security/access_token/interfaces/innerkits/tokensync/include", + "//foundation/distributedhardware/devicemanager/interfaces/inner_kits/native_cpp/include", ] deps += [ "//base/security/access_token/interfaces/innerkits/tokensync:libtokensync_sdk" ] + external_deps += [ "device_manager_base:devicemanagersdk" ] } - - external_deps = [ - "device_manager_base:devicemanagersdk", - "dsoftbus_standard:softbus_client", - "hiviewdfx_hilog_native:libhilog", - "ipc:ipc_core", - "safwk:system_ability_fwk", - "samgr_standard:samgr_proxy", - ] } diff --git a/services/accesstokenmanager/main/cpp/include/service/accesstoken_manager_service.h b/services/accesstokenmanager/main/cpp/include/service/accesstoken_manager_service.h index b1cc45857..a6bb3c284 100644 --- a/services/accesstokenmanager/main/cpp/include/service/accesstoken_manager_service.h +++ b/services/accesstokenmanager/main/cpp/include/service/accesstoken_manager_service.h @@ -27,7 +27,6 @@ #include "system_ability.h" #include "hap_token_info.h" #include "access_token.h" -#include "atm_device_state_callback.h" namespace OHOS { namespace Security { @@ -73,14 +72,14 @@ public: int DeleteRemoteToken(const std::string& deviceID, AccessTokenID tokenID) override; AccessTokenID GetRemoteNativeTokenID(const std::string& deviceID, AccessTokenID tokenID) override; int DeleteRemoteDeviceTokens(const std::string& deviceID) override; + void CreateDeviceListenner(); + void DestroyDeviceListenner(); #endif void DumpTokenInfo(std::string& dumpInfo) override; private: bool Initialize(); - void CreateDeviceListenner(); - void DestroyDeviceListenner(); ServiceRunningState state_; std::mutex mutex_; diff --git a/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp b/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp index 8c69021be..37ee9f47f 100644 --- a/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp +++ b/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp @@ -21,7 +21,10 @@ #include "accesstoken_id_manager.h" #include "accesstoken_info_manager.h" #include "accesstoken_log.h" +#ifdef TOKEN_SYNC_ENABLE +#include "atm_device_state_callback.h" #include "device_manager.h" +#endif #include "hap_token_info.h" #include "hap_token_info_inner.h" #include "ipc_skeleton.h" @@ -43,8 +46,6 @@ static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { const bool REGISTER_RESULT = SystemAbility::MakeAndRegisterAbility(DelayedSingleton::GetInstance().get()); -const int32_t RETRY_SLEEP_TIME_MS = 1000; - AccessTokenManagerService::AccessTokenManagerService() : SystemAbility(SA_ID_ACCESSTOKEN_MANAGER_SERVICE, true), state_(ServiceRunningState::STATE_NOT_START) { @@ -80,20 +81,16 @@ void AccessTokenManagerService::OnStop() { ACCESSTOKEN_LOG_INFO(LABEL, "stop service"); state_ = ServiceRunningState::STATE_NOT_START; +#ifdef TOKEN_SYNC_ENABLE DestroyDeviceListenner(); +#endif } int AccessTokenManagerService::VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName) { ACCESSTOKEN_LOG_INFO(LABEL, "called, tokenID: 0x%{public}x, permissionName: %{public}s", tokenID, permissionName.c_str()); - int isGranted = PermissionManager::GetInstance().VerifyAccessToken(tokenID, permissionName); - if (isGranted != PERMISSION_GRANTED) { - PrivacyKit::AddPermissionUsedRecord(tokenID, permissionName, 0, 1); - } else { - PrivacyKit::AddPermissionUsedRecord(tokenID, permissionName, 1, 0); - } - return isGranted; + return PermissionManager::GetInstance().VerifyAccessToken(tokenID, permissionName); } int AccessTokenManagerService::VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName) @@ -357,9 +354,10 @@ void AccessTokenManagerService::DumpTokenInfo(std::string& dumpInfo) AccessTokenInfoManager::GetInstance().DumpTokenInfo(dumpInfo); } - +#ifdef TOKEN_SYNC_ENABLE void AccessTokenManagerService::CreateDeviceListenner() { + static const int32_t RETRY_SLEEP_TIME_MS = 1000; std::function runner = [&]() { auto retrySleepTime = std::chrono::milliseconds(RETRY_SLEEP_TIME_MS); while (1) { @@ -430,12 +428,15 @@ void AccessTokenManagerService::DestroyDeviceListenner() ACCESSTOKEN_LOG_INFO(LABEL, "device state listenner unregister success."); } +#endif bool AccessTokenManagerService::Initialize() { AccessTokenInfoManager::GetInstance().Init(); NativeTokenReceptor::GetInstance().Init(); +#ifdef TOKEN_SYNC_ENABLE CreateDeviceListenner(); // for start tokensync when remote devivce online +#endif return true; } } // namespace AccessToken -- Gitee From 62a1ea68d3ae188fae458cda24ec20485f9d167c Mon Sep 17 00:00:00 2001 From: chennian Date: Mon, 13 Jun 2022 10:56:01 +0000 Subject: [PATCH 2/3] Signed-off-by:chennian --- services/accesstokenmanager/BUILD.gn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/accesstokenmanager/BUILD.gn b/services/accesstokenmanager/BUILD.gn index cf9b405c9..5cdd9e5fe 100644 --- a/services/accesstokenmanager/BUILD.gn +++ b/services/accesstokenmanager/BUILD.gn @@ -91,10 +91,10 @@ ohos_shared_library("accesstoken_manager_service") { include_dirs += [ "//base/security/access_token/interfaces/innerkits/tokensync/include", - "//foundation/distributedhardware/devicemanager/interfaces/inner_kits/native_cpp/include", + "//foundation/distributedhardware/devic_emanager/interfaces/inner_kits/native_cpp/include", ] deps += [ "//base/security/access_token/interfaces/innerkits/tokensync:libtokensync_sdk" ] - external_deps += [ "device_manager_base:devicemanagersdk" ] + external_deps += [ "device_manager:devicemanagersdk" ] } } -- Gitee From 88314d3af0f96ba9e07b9ad8e0826da699482c77 Mon Sep 17 00:00:00 2001 From: chennian Date: Mon, 13 Jun 2022 10:58:14 +0000 Subject: [PATCH 3/3] Signed-off-by:chennian --- services/accesstokenmanager/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/accesstokenmanager/BUILD.gn b/services/accesstokenmanager/BUILD.gn index 5cdd9e5fe..9cea0c3cf 100644 --- a/services/accesstokenmanager/BUILD.gn +++ b/services/accesstokenmanager/BUILD.gn @@ -91,7 +91,7 @@ ohos_shared_library("accesstoken_manager_service") { include_dirs += [ "//base/security/access_token/interfaces/innerkits/tokensync/include", - "//foundation/distributedhardware/devic_emanager/interfaces/inner_kits/native_cpp/include", + "//foundation/distributedhardware/device_manager/interfaces/inner_kits/native_cpp/include", ] deps += [ "//base/security/access_token/interfaces/innerkits/tokensync:libtokensync_sdk" ] -- Gitee