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 db205f14f17887b4d216b42714bc493542967c25..5f9eb0047fa067641c57374efc1d0d30589b9b4b 100644 --- a/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp +++ b/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp @@ -347,6 +347,7 @@ int32_t AccessTokenManagerService::UnRegisterPermStateChangeCallback(const sptr< int32_t AccessTokenManagerService::RegisterSelfPermStateChangeCallback( const PermStateChangeScopeParcel& scope, const sptr& callback) { + LOGI(ATM_DOMAIN, ATM_TAG, "111RegisterSelfPermStateChangeCallback"); return PermissionManager::GetInstance().AddPermStateChangeCallback(scope.scope, callback); } @@ -585,11 +586,13 @@ void AccessTokenManagerService::GetPermissionManagerInfo(PermissionGrantInfoParc int32_t AccessTokenManagerService::InitUserPolicy( const std::vector& userList, const std::vector& permList) { + LOGI(ATM_DOMAIN, ATM_TAG, "111InitUserPolicy"); return AccessTokenInfoManager::GetInstance().InitUserPolicy(userList, permList); } int32_t AccessTokenManagerService::UpdateUserPolicy(const std::vector& userList) { + LOGI(ATM_DOMAIN, ATM_TAG, "111UpdateUserPolicy"); return AccessTokenInfoManager::GetInstance().UpdateUserPolicy(userList); } diff --git a/test/fuzztest/services/accesstoken/inituserpolicystub_fuzzer/inituserpolicystub_fuzzer.cpp b/test/fuzztest/services/accesstoken/inituserpolicystub_fuzzer/inituserpolicystub_fuzzer.cpp index e2417e7cc5ea2b1cf97c4e30a8df6ee50b8bcddd..5766d0e3c8a5aa2e4808c71582202e69c07d5d44 100644 --- a/test/fuzztest/services/accesstoken/inituserpolicystub_fuzzer/inituserpolicystub_fuzzer.cpp +++ b/test/fuzztest/services/accesstoken/inituserpolicystub_fuzzer/inituserpolicystub_fuzzer.cpp @@ -22,9 +22,14 @@ #include "accesstoken_fuzzdata.h" #include "accesstoken_manager_service.h" #include "i_accesstoken_manager.h" +#include "accesstoken_kit.h" +#include "token_setproc.h" +#include "accesstoken_common_log.h" +#include "accesstoken_info_manager.h" using namespace std; using namespace OHOS::Security::AccessToken; +// const int CONSTANTS_NUMBER_TWO = 2; namespace OHOS { bool InitUserPolicyStubFuzzTest(const uint8_t* data, size_t size) @@ -63,6 +68,8 @@ namespace OHOS { MessageParcel reply; MessageOption option; + + // } DelayedSingleton::GetInstance()->OnRemoteRequest(code, datas, reply, option); return true; @@ -72,6 +79,37 @@ namespace OHOS { /* Fuzzer entry point */ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + HapInfoParams info = { + .userID = 0, + .bundleName = "ohos.InitUserPolicyInner.test", + .instIndex = 0, + .appIDDesc = "appIDDesc", + .apiVersion = 8 + }; + + PermissionStateFull g_testPermReq = { + .permissionName = "ohos.permission.GET_SENSITIVE_PERMISSIONS", + .isGeneral = true, + .resDeviceID = {"test_device"}, + .grantStatus = {PermissionState::PERMISSION_GRANTED}, + .grantFlags = {PermissionFlag::PERMISSION_SYSTEM_FIXED} + }; + + HapPolicyParams policy = { + .apl = APL_SYSTEM_CORE, + .domain = "domain", + .permList = {}, + .permStateList = { g_testPermReq }, + .aclRequestedList = {}, + .preAuthorizationInfo = {} + }; + // bool enable = ((size % CONSTANTS_NUMBER_TWO) == 0); + // if (enable) { + setuid(0); + LOGI(ATM_DOMAIN, ATM_TAG, "hhhhhhhhhhhhhh."); + AccessTokenIDEx tokenIdEx = AccessTokenKit::AllocHapToken(info, policy); + SetSelfTokenID(tokenIdEx.tokenIDEx); + AccessTokenInfoManager::GetInstance().Init(); /* Run your code on data */ OHOS::InitUserPolicyStubFuzzTest(data, size); return 0; diff --git a/test/fuzztest/services/accesstoken/registerselfpermstatechangecallbackstub_fuzzer/registerselfpermstatechangecallbackstub_fuzzer.cpp b/test/fuzztest/services/accesstoken/registerselfpermstatechangecallbackstub_fuzzer/registerselfpermstatechangecallbackstub_fuzzer.cpp index 54d325634f6ccca81e1eecd8eb8e46cf4003e4f7..d337c3bb6774b5a85d3283305db7f58ede17293d 100644 --- a/test/fuzztest/services/accesstoken/registerselfpermstatechangecallbackstub_fuzzer/registerselfpermstatechangecallbackstub_fuzzer.cpp +++ b/test/fuzztest/services/accesstoken/registerselfpermstatechangecallbackstub_fuzzer/registerselfpermstatechangecallbackstub_fuzzer.cpp @@ -23,9 +23,12 @@ #include "accesstoken_manager_client.h" #include "accesstoken_manager_service.h" #include "i_accesstoken_manager.h" +#include "accesstoken_kit.h" +#include "token_setproc.h" using namespace std; using namespace OHOS::Security::AccessToken; +const int CONSTANTS_NUMBER_TWO = 2; class CbCustomizeTest2 : public PermStateChangeCallbackCustomize { public: @@ -81,6 +84,35 @@ namespace OHOS { MessageParcel reply; MessageOption option; + + HapInfoParams info = { + .userID = 0, + .bundleName = "ohos", + .instIndex = 0, + .appIDDesc = "appIDDesc", + .apiVersion = 8 + }; + + PermissionStateFull g_testPermReq = { + .permissionName = "ohos.permission.GET_SENSITIVE_PERMISSIONS", + .isGeneral = true, + .resDeviceID = {"test_device"}, + .grantStatus = {PermissionState::PERMISSION_GRANTED}, + .grantFlags = {PermissionFlag::PERMISSION_SYSTEM_FIXED} + }; + HapPolicyParams policy = { + .apl = APL_NORMAL, + .domain = "domain", + .permList = {}, + .permStateList = { g_testPermReq }, + .aclRequestedList = {}, + .preAuthorizationInfo = {} + }; + bool enable = ((size % CONSTANTS_NUMBER_TWO) == 0); + if (enable) { + AccessTokenIDEx tokenIdEx = AccessTokenKit::AllocHapToken(info, policy); + SetSelfTokenID(tokenIdEx.tokenIDEx); + } DelayedSingleton::GetInstance()->OnRemoteRequest(code, datas, reply, option); return true; diff --git a/test/fuzztest/services/accesstoken/updateuserpolicystub_fuzzer/updateuserpolicystub_fuzzer.cpp b/test/fuzztest/services/accesstoken/updateuserpolicystub_fuzzer/updateuserpolicystub_fuzzer.cpp index 1d3bf171ca7b7902c7ca9087d7c9a8a19e831000..47dc3a9b195e80b48f990cc4b3532570710194a7 100644 --- a/test/fuzztest/services/accesstoken/updateuserpolicystub_fuzzer/updateuserpolicystub_fuzzer.cpp +++ b/test/fuzztest/services/accesstoken/updateuserpolicystub_fuzzer/updateuserpolicystub_fuzzer.cpp @@ -22,9 +22,12 @@ #include "accesstoken_fuzzdata.h" #include "accesstoken_manager_service.h" #include "i_accesstoken_manager.h" +#include "accesstoken_kit.h" +#include "token_setproc.h" using namespace std; using namespace OHOS::Security::AccessToken; +const int CONSTANTS_NUMBER_TWO = 2; namespace OHOS { bool UpdateUserPolicyStubFuzzTest(const uint8_t* data, size_t size) @@ -56,6 +59,34 @@ namespace OHOS { MessageParcel reply; MessageOption option; + HapInfoParams info = { + .userID = 0, + .bundleName = "ohos", + .instIndex = 0, + .appIDDesc = "appIDDesc", + .apiVersion = 8 + }; + + PermissionStateFull g_testPermReq = { + .permissionName = "ohos.permission.GET_SENSITIVE_PERMISSIONS", + .isGeneral = true, + .resDeviceID = {"test_device"}, + .grantStatus = {PermissionState::PERMISSION_GRANTED}, + .grantFlags = {PermissionFlag::PERMISSION_SYSTEM_FIXED} + }; + HapPolicyParams policy = { + .apl = APL_NORMAL, + .domain = "domain", + .permList = {}, + .permStateList = { g_testPermReq }, + .aclRequestedList = {}, + .preAuthorizationInfo = {} + }; + bool enable = ((size % CONSTANTS_NUMBER_TWO) == 0); + if (enable) { + AccessTokenIDEx tokenIdEx = AccessTokenKit::AllocHapToken(info, policy); + SetSelfTokenID(tokenIdEx.tokenIDEx); + } DelayedSingleton::GetInstance()->OnRemoteRequest(code, datas, reply, option); return true;