18e745fdaSopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd. 28e745fdaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 38e745fdaSopenharmony_ci# you may not use this file except in compliance with the License. 48e745fdaSopenharmony_ci# You may obtain a copy of the License at 58e745fdaSopenharmony_ci# 68e745fdaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 78e745fdaSopenharmony_ci# 88e745fdaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 98e745fdaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 108e745fdaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 118e745fdaSopenharmony_ci# See the License for the specific language governing permissions and 128e745fdaSopenharmony_ci# limitations under the License. 138e745fdaSopenharmony_ci 148e745fdaSopenharmony_ci#####################hydra-fuzz################### 158e745fdaSopenharmony_ciimport("//build/config/features.gni") 168e745fdaSopenharmony_ciimport("//build/test.gni") 178e745fdaSopenharmony_ciimport("//foundation/communication/netmanager_ext/netmanager_ext_config.gni") 188e745fdaSopenharmony_ci##############################fuzztest########################################## 198e745fdaSopenharmony_ciEXT_SECURITY_PATH = "../../.." 208e745fdaSopenharmony_ci 218e745fdaSopenharmony_ciohos_fuzztest("VpnClientFuzzTest") { 228e745fdaSopenharmony_ci module_out_path = fuzz_test_path 238e745fdaSopenharmony_ci fuzz_config_file = 248e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/test/vpnmanager/fuzztest/vpnclient_fuzzer" 258e745fdaSopenharmony_ci _cfi_blocklist_path = "$NETMANAGER_EXT_ROOT/test/vpnmanager/fuzztest/vpnclient_fuzzer/cfi_blocklist.txt" 268e745fdaSopenharmony_ci 278e745fdaSopenharmony_ci include_dirs = [ 288e745fdaSopenharmony_ci "$EXT_INNERKITS_ROOT/netvpnclient/include", 298e745fdaSopenharmony_ci "$EXT_INNERKITS_ROOT/netvpnclient/include/ipc", 308e745fdaSopenharmony_ci "$EXT_SECURITY_PATH/security", 318e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/utils/log/include", 328e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/utils/event_report/include", 338e745fdaSopenharmony_ci "$VPNMANAGER_SOURCE_DIR/include", 348e745fdaSopenharmony_ci "$VPNMANAGER_SOURCE_DIR/include/ipc", 358e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/netconnclient/include", 368e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/netconnclient/include/proxy", 378e745fdaSopenharmony_ci ] 388e745fdaSopenharmony_ci 398e745fdaSopenharmony_ci cflags = [ 408e745fdaSopenharmony_ci "-g", 418e745fdaSopenharmony_ci "-O0", 428e745fdaSopenharmony_ci "-Wno-unused-variable", 438e745fdaSopenharmony_ci "-fno-omit-frame-pointer", 448e745fdaSopenharmony_ci "-flto", 458e745fdaSopenharmony_ci "-fsanitize=cfi", 468e745fdaSopenharmony_ci "-fsanitize-cfi-cross-dso", 478e745fdaSopenharmony_ci "-fvisibility=hidden", 488e745fdaSopenharmony_ci "-fsanitize-blacklist=" + rebase_path(_cfi_blocklist_path, root_build_dir), 498e745fdaSopenharmony_ci ] 508e745fdaSopenharmony_ci ldflags = [ 518e745fdaSopenharmony_ci "-flto", 528e745fdaSopenharmony_ci "-fsanitize=cfi", 538e745fdaSopenharmony_ci "-fsanitize-cfi-cross-dso", 548e745fdaSopenharmony_ci ] 558e745fdaSopenharmony_ci 568e745fdaSopenharmony_ci sources = [ 578e745fdaSopenharmony_ci "$EXT_SECURITY_PATH/security/netmanager_ext_test_security.cpp", 588e745fdaSopenharmony_ci "vpnclient_fuzzer.cpp", 598e745fdaSopenharmony_ci ] 608e745fdaSopenharmony_ci 618e745fdaSopenharmony_ci deps = [ 628e745fdaSopenharmony_ci "$EXT_INNERKITS_ROOT/netvpnclient:net_vpn_manager_if", 638e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/services/vpnmanager:net_vpn_manager_static", 648e745fdaSopenharmony_ci ] 658e745fdaSopenharmony_ci 668e745fdaSopenharmony_ci external_deps = [ 678e745fdaSopenharmony_ci "ability_runtime:app_manager", 688e745fdaSopenharmony_ci "access_token:libaccesstoken_sdk", 698e745fdaSopenharmony_ci "access_token:libnativetoken", 708e745fdaSopenharmony_ci "access_token:libtoken_setproc", 718e745fdaSopenharmony_ci "bundle_framework:appexecfwk_core", 728e745fdaSopenharmony_ci "cJSON:cjson", 738e745fdaSopenharmony_ci "c_utils:utils", 748e745fdaSopenharmony_ci "ffrt:libffrt", 758e745fdaSopenharmony_ci "hilog:libhilog", 768e745fdaSopenharmony_ci "ipc:ipc_core", 778e745fdaSopenharmony_ci "netmanager_base:net_manager_common", 788e745fdaSopenharmony_ci "netmanager_base:netsys_controller", 798e745fdaSopenharmony_ci "os_account:os_account_innerkits", 808e745fdaSopenharmony_ci "relational_store:native_rdb", 818e745fdaSopenharmony_ci "safwk:system_ability_fwk", 828e745fdaSopenharmony_ci ] 838e745fdaSopenharmony_ci 848e745fdaSopenharmony_ci defines = [ 858e745fdaSopenharmony_ci "NETMGR_LOG_TAG = \"NetVpnManager\"", 868e745fdaSopenharmony_ci "LOG_DOMAIN = 0xD0015B0", 878e745fdaSopenharmony_ci ] 888e745fdaSopenharmony_ci} 898e745fdaSopenharmony_ci 908e745fdaSopenharmony_cigroup("fuzztest") { 918e745fdaSopenharmony_ci testonly = true 928e745fdaSopenharmony_ci deps = [ ":VpnClientFuzzTest" ] 938e745fdaSopenharmony_ci} 94