mirror of
https://gitee.com/openharmony/ability_dmsfwk
synced 2024-12-03 11:51:05 +00:00
add fuzz
Signed-off-by: 师皓杰 <shihaojie10@huawei.com>
This commit is contained in:
parent
edb082a403
commit
dbe96660b3
@ -2947,7 +2947,7 @@ bool DistributedSchedService::CheckCallingUid()
|
||||
|
||||
void DistributedSchedService::GetContinueEventInfo(int32_t callingUid, std::vector<EventNotify> &events)
|
||||
{
|
||||
if (callingUid == DEFAULT_REQUEST_CODE) {
|
||||
if (callingUid == DEFAULT_REQUEST_CODE && dschedContinuation_ != nullptr) {
|
||||
events.emplace_back(dschedContinuation_->continueEvent_);
|
||||
return;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ ohos_fuzztest("BundleManagerCallBackStubFuzzTest") {
|
||||
sources = [
|
||||
"${dms_path}/test/fuzztest/util/mock_fuzz_util.cpp",
|
||||
"bundlemanagercallbackstub_fuzzer.cpp",
|
||||
]
|
||||
]
|
||||
|
||||
deps = [ "${dms_path}/services/dtbschedmgr:distributedschedsvr" ]
|
||||
|
||||
|
@ -21,13 +21,12 @@ ohos_fuzztest("DistributedSchedStubFuzzTest") {
|
||||
|
||||
visibility = [ ":*" ]
|
||||
include_dirs = [
|
||||
"${dms_path}/test/fuzztest/distributedschedstub_fuzzer",
|
||||
"${dms_path}/services/dtbschedmgr/include/",
|
||||
"${dms_path}/services/dtbschedmgr/include/dfx/",
|
||||
"${dms_path}/common/include/",
|
||||
"${dms_path}/interfaces/innerkits/common/include/",
|
||||
"${dms_path}/common/include/",
|
||||
"${dms_path}/services/dtbschedmgr/include/",
|
||||
"${dms_path}/services/dtbschedmgr/include/collaborate/",
|
||||
"${dms_path}/common/include/",
|
||||
"${dms_path}/services/dtbschedmgr/include/dfx/",
|
||||
"${dms_path}/test/fuzztest/distributedschedstub_fuzzer",
|
||||
"${dms_path}/test/fuzztest/util",
|
||||
]
|
||||
|
||||
@ -47,7 +46,6 @@ ohos_fuzztest("DistributedSchedStubFuzzTest") {
|
||||
"${dms_path}/services/dtbschedmgr/test/unittest/mock_distributed_sched.cpp",
|
||||
"${dms_path}/test/fuzztest/util/mock_fuzz_util.cpp",
|
||||
"distributedschedstub_fuzzer.cpp",
|
||||
"fuzz_util.cpp",
|
||||
]
|
||||
|
||||
deps = [ "${dms_path}/services/dtbschedmgr:distributedschedsvr" ]
|
||||
|
@ -1,54 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "fuzz_util.h"
|
||||
|
||||
#include "accesstoken_kit.h"
|
||||
#include "nativetoken_kit.h"
|
||||
#include "token_setproc.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace DistributedSchedule {
|
||||
namespace {
|
||||
constexpr const char* FOUNDATION_PROCESS_NAME = "foundation";
|
||||
}
|
||||
|
||||
void FuzzUtil::MockPermission()
|
||||
{
|
||||
static const char *perms[] = {
|
||||
"ohos.permission.DISTRIBUTED_DATASYNC"
|
||||
};
|
||||
MockProcessAndPermission(FOUNDATION_PROCESS_NAME, perms, 1);
|
||||
}
|
||||
|
||||
void FuzzUtil::MockProcessAndPermission(const char* processName, const char *perms[], int32_t permsNum)
|
||||
{
|
||||
uint64_t tokenId;
|
||||
NativeTokenInfoParams infoInstance = {
|
||||
.dcapsNum = 0,
|
||||
.permsNum = permsNum,
|
||||
.aclsNum = 0,
|
||||
.dcaps = nullptr,
|
||||
.perms = perms,
|
||||
.acls = nullptr,
|
||||
.processName = processName,
|
||||
.aplStr = "system_core",
|
||||
};
|
||||
tokenId = GetAccessTokenId(&infoInstance);
|
||||
SetSelfTokenID(tokenId);
|
||||
OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
|
||||
}
|
||||
}
|
||||
}
|
@ -45,7 +45,7 @@ ohos_fuzztest("DmsFreeInstallCallBackStubFuzzTest") {
|
||||
sources = [
|
||||
"${dms_path}/test/fuzztest/util/mock_fuzz_util.cpp",
|
||||
"dmsfreeinstallcallbackstub_fuzzer.cpp",
|
||||
]
|
||||
]
|
||||
|
||||
deps = [ "${dms_path}/services/dtbschedmgr:distributedschedsvr" ]
|
||||
|
||||
|
@ -1,73 +1,73 @@
|
||||
/*
|
||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "mock_fuzz_util.h"
|
||||
|
||||
#include "accesstoken_kit.h"
|
||||
#include "nativetoken_kit.h"
|
||||
#include "token_setproc.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace DistributedSchedule {
|
||||
namespace {
|
||||
constexpr const char* FOUNDATION_PROCESS_NAME = "foundation";
|
||||
}
|
||||
|
||||
void FuzzUtil::MockPermission()
|
||||
{
|
||||
static const char *perms[] = {
|
||||
"ohos.permission.ABILITY_BACKGROUND_COMMUNICATION",
|
||||
"ohos.permission.ACCESS_SERVICE_DM",
|
||||
"ohos.permission.ACCESS_SERVICE_DP",
|
||||
"ohos.permission.DISTRIBUTED_DATASYNC",
|
||||
"ohos.permission.INPUT_MONITORING",
|
||||
"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
|
||||
"ohos.permission.GET_WIFI_INFO",
|
||||
"ohos.permission.MANAGE_MISSIONS",
|
||||
"ohos.permission.MANAGE_WIFI_CONNECTION",
|
||||
"ohos.permission.MONITOR_DEVICE_NETWORK_STATE",
|
||||
"ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT",
|
||||
"ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT",
|
||||
"ohos.permission.RUNNING_STATE_OBSERVER",
|
||||
"ohos.permission.START_INVISIBLE_ABILITY",
|
||||
"ohos.permission.INPUT_MONITORING",
|
||||
"ohos.permission.MANAGE_MISSIONS",
|
||||
"ohos.permission.MANAGE_WIFI_CONNECTION",
|
||||
"ohos.permission.MONITOR_DEVICE_NETWORK_STATE",
|
||||
"ohos.permission.START_INVISIBLE_ABILITY"
|
||||
};
|
||||
MockProcessAndPermission(FOUNDATION_PROCESS_NAME, perms, 1);
|
||||
}
|
||||
|
||||
void FuzzUtil::MockProcessAndPermission(const char* processName, const char *perms[], int32_t permsNum)
|
||||
{
|
||||
uint64_t tokenId;
|
||||
NativeTokenInfoParams infoInstance = {
|
||||
.dcapsNum = 0,
|
||||
.permsNum = permsNum,
|
||||
.aclsNum = 0,
|
||||
.dcaps = nullptr,
|
||||
.perms = perms,
|
||||
.acls = nullptr,
|
||||
.processName = processName,
|
||||
.aplStr = "system_core",
|
||||
};
|
||||
tokenId = GetAccessTokenId(&infoInstance);
|
||||
SetSelfTokenID(tokenId);
|
||||
OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
|
||||
setuid(0);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "mock_fuzz_util.h"
|
||||
|
||||
#include "accesstoken_kit.h"
|
||||
#include "nativetoken_kit.h"
|
||||
#include "token_setproc.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace DistributedSchedule {
|
||||
namespace {
|
||||
constexpr const char* FOUNDATION_PROCESS_NAME = "foundation";
|
||||
}
|
||||
|
||||
void FuzzUtil::MockPermission()
|
||||
{
|
||||
static const char *perms[] = {
|
||||
"ohos.permission.ABILITY_BACKGROUND_COMMUNICATION",
|
||||
"ohos.permission.ACCESS_SERVICE_DM",
|
||||
"ohos.permission.ACCESS_SERVICE_DP",
|
||||
"ohos.permission.DISTRIBUTED_DATASYNC",
|
||||
"ohos.permission.INPUT_MONITORING",
|
||||
"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
|
||||
"ohos.permission.GET_WIFI_INFO",
|
||||
"ohos.permission.MANAGE_MISSIONS",
|
||||
"ohos.permission.MANAGE_WIFI_CONNECTION",
|
||||
"ohos.permission.MONITOR_DEVICE_NETWORK_STATE",
|
||||
"ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT",
|
||||
"ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT",
|
||||
"ohos.permission.RUNNING_STATE_OBSERVER",
|
||||
"ohos.permission.START_INVISIBLE_ABILITY",
|
||||
"ohos.permission.INPUT_MONITORING",
|
||||
"ohos.permission.MANAGE_MISSIONS",
|
||||
"ohos.permission.MANAGE_WIFI_CONNECTION",
|
||||
"ohos.permission.MONITOR_DEVICE_NETWORK_STATE",
|
||||
"ohos.permission.START_INVISIBLE_ABILITY"
|
||||
};
|
||||
MockProcessAndPermission(FOUNDATION_PROCESS_NAME, perms, 1);
|
||||
}
|
||||
|
||||
void FuzzUtil::MockProcessAndPermission(const char* processName, const char *perms[], int32_t permsNum)
|
||||
{
|
||||
uint64_t tokenId;
|
||||
NativeTokenInfoParams infoInstance = {
|
||||
.dcapsNum = 0,
|
||||
.permsNum = permsNum,
|
||||
.aclsNum = 0,
|
||||
.dcaps = nullptr,
|
||||
.perms = perms,
|
||||
.acls = nullptr,
|
||||
.processName = processName,
|
||||
.aplStr = "system_core",
|
||||
};
|
||||
tokenId = GetAccessTokenId(&infoInstance);
|
||||
SetSelfTokenID(tokenId);
|
||||
OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
|
||||
setuid(0);
|
||||
}
|
||||
}
|
||||
}
|
@ -28,4 +28,4 @@ public:
|
||||
};
|
||||
}
|
||||
} // namespace OHOS
|
||||
#endif // SAMGR_SERVICES_SAMGR_MOCK_PERMISSION_H
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user