From d445903dfa8d44385048254ed7e113438c721bbd Mon Sep 17 00:00:00 2001 From: l00520400 Date: Mon, 28 Feb 2022 21:25:15 +0800 Subject: [PATCH 1/2] verify return type Signed-off-by: l00520400 Change-Id: Ib1cfab6fbd63cf81c113364fe5a460d6856733f5 Signed-off-by: l00520400 --- README_zh.md | 2 +- .../accesstoken/include/accesstoken_kit.h | 6 +++--- .../accesstoken/src/accesstoken_kit.cpp | 8 ++++---- .../src/accesstoken_manager_client.cpp | 8 ++++---- .../src/accesstoken_manager_client.h | 4 ++-- .../accesstoken/napi/include/napi_atmanager.h | 1 + .../accesstoken/napi/src/napi_atmanager.cpp | 18 ++++++++++++++++++ 7 files changed, 33 insertions(+), 14 deletions(-) diff --git a/README_zh.md b/README_zh.md index 23be5b3af..f26ac2540 100644 --- a/README_zh.md +++ b/README_zh.md @@ -49,7 +49,7 @@ ATM模块主要提供如下功能: | AccessTokenID GetHapTokenID(int userID, const std::string& bundleName, int instIndex); | 查询指定应用的tokenId | | int GetHapTokenInfo(AccessTokenID tokenID, HapTokenInfo& hapTokenInfoRes); | 查询指定tokenID对应的hap包的tokenInfo信息 | | int GetNativeTokenInfo(AccessTokenID tokenID, NativeTokenInfo& nativeTokenInfoRes); | 查询指定tokenID对应的native的tokenInfo信息 | -| int VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName); | 检查指定tokenID是否具有指定权限 | +| PermissionState VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName); | 检查指定tokenID是否具有指定权限 | | int GetDefPermission(const std::string& permissionName, PermissionDef& permissionDefResult); | 查询指定权限的权限定义信息 | | int GetDefPermissions(AccessTokenID tokenID, std::vector& permList); | 查询指定tokenID对应的hap包的权限定义集合 | | int GetReqPermissions(AccessTokenID tokenID, std::vector& reqPermList, bool isSystemGrant); | 查询指定tokenID对应的hap包申请的权限状态集合 | diff --git a/interfaces/innerkits/accesstoken/include/accesstoken_kit.h b/interfaces/innerkits/accesstoken/include/accesstoken_kit.h index 9f6243cd2..8c3357932 100644 --- a/interfaces/innerkits/accesstoken/include/accesstoken_kit.h +++ b/interfaces/innerkits/accesstoken/include/accesstoken_kit.h @@ -42,9 +42,9 @@ public: static AccessTokenID GetHapTokenID(int userID, const std::string& bundleName, int instIndex); static int GetHapTokenInfo(AccessTokenID tokenID, HapTokenInfo& hapTokenInfoRes); static int GetNativeTokenInfo(AccessTokenID tokenID, NativeTokenInfo& nativeTokenInfoRes); - static int VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName); - static int VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName); - static int VerifyAccessToken( + static PermissionState VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName); + static PermissionState VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName); + static PermissionState VerifyAccessToken( AccessTokenID callerTokenID, AccessTokenID firstTokenID, const std::string& permissionName); static int GetDefPermission(const std::string& permissionName, PermissionDef& permissionDefResult); static int GetDefPermissions(AccessTokenID tokenID, std::vector& permList); diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp index 9a6607159..a6e6d7ee6 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp +++ b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp @@ -139,7 +139,7 @@ int AccessTokenKit::GetNativeTokenInfo(AccessTokenID tokenID, NativeTokenInfo& n return AccessTokenManagerClient::GetInstance().GetNativeTokenInfo(tokenID, nativeTokenInfoRes); } -int AccessTokenKit::VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName) +PermissionState AccessTokenKit::VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName) { ACCESSTOKEN_LOG_INFO(LABEL, "%{public}s called", __func__); if (tokenID == 0) { @@ -154,10 +154,10 @@ int AccessTokenKit::VerifyAccessToken(AccessTokenID tokenID, const std::string& return AccessTokenManagerClient::GetInstance().VerifyAccessToken(tokenID, permissionName); } -int AccessTokenKit::VerifyAccessToken( +PermissionState AccessTokenKit::VerifyAccessToken( AccessTokenID callerTokenID, AccessTokenID firstTokenID, const std::string& permissionName) { - int ret = AccessTokenKit::VerifyAccessToken(callerTokenID, permissionName); + PermissionState ret = AccessTokenKit::VerifyAccessToken(callerTokenID, permissionName); if (ret != PERMISSION_GRANTED) { return ret; } @@ -167,7 +167,7 @@ int AccessTokenKit::VerifyAccessToken( return AccessTokenKit::VerifyAccessToken(firstTokenID, permissionName); } -int AccessTokenKit::VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName) +PermissionState AccessTokenKit::VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName) { ACCESSTOKEN_LOG_INFO(LABEL, "%{public}s called", __func__); if (tokenID == 0) { diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp index 51e2d60b5..90d2402c4 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp +++ b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp @@ -43,7 +43,7 @@ AccessTokenManagerClient::AccessTokenManagerClient() AccessTokenManagerClient::~AccessTokenManagerClient() {} -int AccessTokenManagerClient::VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName) +PermissionState AccessTokenManagerClient::VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName) { ACCESSTOKEN_LOG_DEBUG(LABEL, "%{public}s: called!", __func__); auto proxy = GetProxy(); @@ -51,10 +51,10 @@ int AccessTokenManagerClient::VerifyAccessToken(AccessTokenID tokenID, const std ACCESSTOKEN_LOG_ERROR(LABEL, "proxy is null"); return PERMISSION_DENIED; } - return proxy->VerifyAccessToken(tokenID, permissionName); + return static_cast(proxy->VerifyAccessToken(tokenID, permissionName)); } -int AccessTokenManagerClient::VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName) +PermissionState AccessTokenManagerClient::VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName) { ACCESSTOKEN_LOG_DEBUG(LABEL, "%{public}s: called!", __func__); auto proxy = GetProxy(); @@ -62,7 +62,7 @@ int AccessTokenManagerClient::VerifyNativeToken(AccessTokenID tokenID, const std ACCESSTOKEN_LOG_ERROR(LABEL, "proxy is null"); return PERMISSION_DENIED; } - return proxy->VerifyNativeToken(tokenID, permissionName); + return static_cast(proxy->VerifyNativeToken(tokenID, permissionName)); } int AccessTokenManagerClient::GetDefPermission( diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h index 74df766ed..68ccc4d2d 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h +++ b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h @@ -40,8 +40,8 @@ public: virtual ~AccessTokenManagerClient(); - int VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName); - int VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName); + PermissionState VerifyAccessToken(AccessTokenID tokenID, const std::string& permissionName); + PermissionState VerifyNativeToken(AccessTokenID tokenID, const std::string& permissionName); int GetDefPermission(const std::string& permissionName, PermissionDef& permissionDefResult); int GetDefPermissions(AccessTokenID tokenID, std::vector& permList); int GetReqPermissions( diff --git a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h index 850a702fc..a9a0de9a7 100644 --- a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h +++ b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h @@ -75,6 +75,7 @@ private: static void RevokeUserGrantedPermissionComplete(napi_env env, napi_status status, void *data); static void GetPermissionFlagsExcute(napi_env env, void *data); static void GetPermissionFlagsComplete(napi_env env, napi_status status, void *data); + static void SetNamedProperty(napi_env env, napi_value dstObj, const int32_t objValue, const char *propName); }; } // namespace AccessToken } // namespace Security diff --git a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp index 608b3df63..672003a66 100644 --- a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp +++ b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp @@ -33,6 +33,13 @@ static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { }; } // namespace +void NapiAtManager::SetNamedProperty(napi_env env, napi_value dstObj, const int32_t objValue, const char *propName) +{ + napi_value prop = nullptr; + napi_create_int32(env, objValue, &prop); + napi_set_named_property(env, dstObj, propName, prop); +} + napi_value NapiAtManager::Init(napi_env env, napi_value exports) { ACCESSTOKEN_LOG_DEBUG(LABEL, "enter init."); @@ -56,6 +63,17 @@ napi_value NapiAtManager::Init(napi_env env, napi_value exports) NAPI_CALL(env, napi_create_reference(env, cons, 1, &atManagerRef_)); NAPI_CALL(env, napi_set_named_property(env, exports, ATMANAGER_CLASS_NAME.c_str(), cons)); + napi_value GrantStatus = nullptr; + napi_create_object(env, &GrantStatus); + + SetNamedProperty(env, GrantStatus, PERMISSION_DENIED, "PERMISSION_DENIED"); + SetNamedProperty(env, GrantStatus, PERMISSION_GRANTED, "PERMISSION_GRANTED"); + + napi_property_descriptor exportFuncs[] = { + DECLARE_NAPI_PROPERTY("GrantStatus", GrantStatus), + }; + napi_define_properties(env, exports, sizeof(exportFuncs) / sizeof(*exportFuncs), exportFuncs); + return exports; } -- Gitee From f6007e5ff4b61db971b9294e17b94b8aaafb0666 Mon Sep 17 00:00:00 2001 From: l00520400 Date: Mon, 28 Feb 2022 21:27:54 +0800 Subject: [PATCH 2/2] Signed-off-by: l00520400 Change-Id: I978efc6bf0102ec49478eaa9957f777e6338f8a0 --- .../accesstoken/napi/include/napi_atmanager.h | 1 - .../accesstoken/napi/src/napi_atmanager.cpp | 25 ------------------- 2 files changed, 26 deletions(-) diff --git a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h index a9a0de9a7..850a702fc 100644 --- a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h +++ b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h @@ -75,7 +75,6 @@ private: static void RevokeUserGrantedPermissionComplete(napi_env env, napi_status status, void *data); static void GetPermissionFlagsExcute(napi_env env, void *data); static void GetPermissionFlagsComplete(napi_env env, napi_status status, void *data); - static void SetNamedProperty(napi_env env, napi_value dstObj, const int32_t objValue, const char *propName); }; } // namespace AccessToken } // namespace Security diff --git a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp index 672003a66..24d679508 100644 --- a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp +++ b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp @@ -33,13 +33,6 @@ static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { }; } // namespace -void NapiAtManager::SetNamedProperty(napi_env env, napi_value dstObj, const int32_t objValue, const char *propName) -{ - napi_value prop = nullptr; - napi_create_int32(env, objValue, &prop); - napi_set_named_property(env, dstObj, propName, prop); -} - napi_value NapiAtManager::Init(napi_env env, napi_value exports) { ACCESSTOKEN_LOG_DEBUG(LABEL, "enter init."); @@ -56,24 +49,6 @@ napi_value NapiAtManager::Init(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("getPermissionFlags", GetPermissionFlags) }; - napi_value cons = nullptr; - NAPI_CALL(env, napi_define_class(env, ATMANAGER_CLASS_NAME.c_str(), ATMANAGER_CLASS_NAME.size(), - JsConstructor, nullptr, sizeof(properties) / sizeof(napi_property_descriptor), properties, &cons)); - - NAPI_CALL(env, napi_create_reference(env, cons, 1, &atManagerRef_)); - NAPI_CALL(env, napi_set_named_property(env, exports, ATMANAGER_CLASS_NAME.c_str(), cons)); - - napi_value GrantStatus = nullptr; - napi_create_object(env, &GrantStatus); - - SetNamedProperty(env, GrantStatus, PERMISSION_DENIED, "PERMISSION_DENIED"); - SetNamedProperty(env, GrantStatus, PERMISSION_GRANTED, "PERMISSION_GRANTED"); - - napi_property_descriptor exportFuncs[] = { - DECLARE_NAPI_PROPERTY("GrantStatus", GrantStatus), - }; - napi_define_properties(env, exports, sizeof(exportFuncs) / sizeof(*exportFuncs), exportFuncs); - return exports; } -- Gitee