• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14#####################hydra-fuzz###################
15import("//build/config/features.gni")
16import("//build/ohos.gni")
17import("//build/test.gni")
18import("//foundation/communication/netstack/netstack_config.gni")
19
20##############################fuzztest##########################################
21
22utils_include = [
23  "$SUBSYSTEM_DIR/netstack/utils/common_utils/include",
24  "$SUBSYSTEM_DIR/netstack/utils/log/include",
25  "$SUBSYSTEM_DIR/netstack/utils/napi_utils/include",
26]
27
28common_external_deps = [
29  "c_utils:utils",
30  "eventhandler:libeventhandler",
31  "hilog:libhilog",
32  "ipc:ipc_core",
33  "netmanager_base:net_conn_manager_if",
34  "netmanager_base:net_security_config_if",
35  "openssl:libcrypto_shared",
36  "openssl:libssl_shared",
37  "samgr:samgr_proxy",
38  "netmanager_base:net_manager_common",
39]
40
41ohos_fuzztest("NetsslInnerFuzzTest") {
42  module_out_path = fuzz_test_path
43  fuzz_config_file = "$NETSTACK_DIR/test/fuzztest/netsslinner_fuzzer"
44  include_dirs = [
45    "$NETSTACK_DIR/utils/napi_utils/include",
46    "$NETSTACK_DIR/interfaces/kits/c/net_ssl/include",
47    "$NETSTACK_DIR/frameworks/native/net_ssl/include",
48  ]
49  include_dirs += utils_include
50
51  cflags = [
52    "-g",
53    "-O0",
54    "-Wno-unused-variable",
55    "-fno-omit-frame-pointer",
56  ]
57
58  sources = [
59    "$NETSTACK_DIR/frameworks/native/net_ssl/net_ssl_verify_cert.cpp",
60    "$SUBSYSTEM_DIR/netstack/frameworks/js/napi/websocket/websocket_module/src/net_ssl_c.cpp",
61    "$SUBSYSTEM_DIR/netstack/utils/common_utils/src/netstack_common_utils.cpp",
62    "netssl_inner_fuzzer.cpp",
63  ]
64
65  deps = [
66    "$NETSTACK_DIR/interfaces/kits/c/net_ssl:net_ssl_ndk",
67    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
68    "$NETSTACK_INNERKITS_DIR/net_ssl:net_ssl",
69  ]
70
71  external_deps = common_external_deps
72}
73
74###############################################################################
75group("fuzztest") {
76  testonly = true
77
78  deps = [ ":NetsslInnerFuzzTest" ]
79}
80###############################################################################
81