• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023-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
14import("//build/config/features.gni")
15import("//build/ohos.gni")
16import("//build/test.gni")
17import("../../../common/config/common.gni")
18module_output_path = "enterprise_device_management/enterprise_device_management"
19
20config("module_private_config") {
21  visibility = [ ":*" ]
22  include_dirs = [ "../" ]
23}
24
25config("edm_config") {
26  visibility = [ ":*" ]
27  include_dirs = [
28    "../../../services/edm/include",
29    "../../../services/edm/include/connection",
30    "../../../services/edm/include/database",
31    "../../../services/edm/include/query_policy",
32    "../../../services/edm/include/strategy",
33    "../../../services/edm/include/watermark",
34    "../../../services/edm_plugin/include/utils",
35    "../../../framework/extension/include",
36    "../../../services/edm_plugin/include",
37    "../../../services/edm_plugin/include/network",
38    "../../../services/edm_plugin/include/network/executer",
39    "../../../services/edm_plugin/include/network/rule",
40    "../../../services/edm_plugin/include/utils",
41  ]
42}
43
44ohos_static_library("edmservice_fuzz_static") {
45  testonly = true
46  sources = [
47    "../../../services/edm/src/admin.cpp",
48    "../../../services/edm/src/admin_container.cpp",
49    "../../../services/edm/src/admin_manager.cpp",
50    "../../../services/edm/src/admin_policies_storage_rdb.cpp",
51    "../../../services/edm/src/application_state_observer.cpp",
52    "../../../services/edm/src/connection/enterprise_account_connection.cpp",
53    "../../../services/edm/src/connection/enterprise_admin_connection.cpp",
54    "../../../services/edm/src/connection/enterprise_admin_proxy.cpp",
55    "../../../services/edm/src/connection/enterprise_bundle_connection.cpp",
56    "../../../services/edm/src/connection/enterprise_conn_manager.cpp",
57    "../../../services/edm/src/connection/enterprise_kiosk_connection.cpp",
58    "../../../services/edm/src/connection/enterprise_update_connection.cpp",
59    "../../../services/edm/src/database/edm_rdb_data_manager.cpp",
60    "../../../services/edm/src/database/edm_rdb_open_callback.cpp",
61    "../../../services/edm/src/device_policies_storage_rdb.cpp",
62    "../../../services/edm/src/enterprise_device_mgr_ability.cpp",
63    "../../../services/edm/src/enterprise_device_mgr_stub.cpp",
64    "../../../services/edm/src/hisysevent_adapter.cpp",
65    "../../../services/edm/src/permission_checker.cpp",
66    "../../../services/edm/src/permission_manager.cpp",
67    "../../../services/edm/src/plugin_manager.cpp",
68    "../../../services/edm/src/policy_manager.cpp",
69    "../../../services/edm/src/query_policy/allowed_app_distribution_types_query.cpp",
70    "../../../services/edm/src/query_policy/allowed_install_bundles_query.cpp",
71    "../../../services/edm/src/query_policy/disable_maintenance_mode_query.cpp",
72    "../../../services/edm/src/query_policy/disable_mtp_client_query.cpp",
73    "../../../services/edm/src/query_policy/disable_mtp_server_query.cpp",
74    "../../../services/edm/src/query_policy/disable_samba_client_query.cpp",
75    "../../../services/edm/src/query_policy/disable_samba_server_query.cpp",
76    "../../../services/edm/src/query_policy/disable_set_biometrics_and_screenLock_query.cpp",
77    "../../../services/edm/src/query_policy/disable_set_device_name_query.cpp",
78    "../../../services/edm/src/query_policy/disable_sudo_query.cpp",
79    "../../../services/edm/src/query_policy/disable_user_mtp_client_query.cpp",
80    "../../../services/edm/src/query_policy/disable_print_query.cpp",
81    "../../../services/edm/src/query_policy/disallow_distributed_transmission_query.cpp",
82    "../../../services/edm/src/query_policy/disallow_export_recovery_key_query.cpp",
83    "../../../services/edm/src/query_policy/disallow_modify_datetime_query.cpp",
84    "../../../services/edm/src/query_policy/disallow_modify_ethernet_ip_query.cpp",
85    "../../../services/edm/src/query_policy/disallowed_install_bundles_query.cpp",
86    "../../../services/edm/src/query_policy/disallowed_tethering_query.cpp",
87    "../../../services/edm/src/query_policy/disallowed_uninstall_bundles_query.cpp",
88    "../../../services/edm/src/query_policy/get_auto_unlock_after_reboot_query.cpp",
89    "../../../services/edm/src/query_policy/get_device_encryption_status_query.cpp",
90    "../../../services/edm/src/query_policy/get_display_version_query.cpp",
91    "../../../services/edm/src/query_policy/get_security_patch_tag_query.cpp",
92    "../../../services/edm/src/query_policy/inactive_user_freeze_query.cpp",
93    "../../../services/edm/src/query_policy/installed_bundle_info_list_query.cpp",
94    "../../../services/edm/src/query_policy/ipolicy_query.cpp",
95    "../../../services/edm/src/query_policy/is_app_kiosk_allowed_query.cpp",
96    "../../../services/edm/src/query_policy/ntp_server_query.cpp",
97    "../../../services/edm/src/query_policy/plugin_policy_reader.cpp",
98    "../../../services/edm/src/query_policy/snapshot_skip_query.cpp",
99    "../../../services/edm/src/strategy/enhance_execute_strategy.cpp",
100    "../../../services/edm/src/strategy/replace_execute_strategy.cpp",
101    "../../../services/edm/src/strategy/single_execute_strategy.cpp",
102    "../../../services/edm/src/user_policy_manager.cpp",
103    "../../../services/edm_plugin/src/utils/installer_callback.cpp",
104    "../../../services/edm_plugin/src/utils/operate_device_param_serializer.cpp",
105    "../../../services/edm_plugin/src/utils/uninstall_param_serializer.cpp",
106    "../../../services/edm_plugin/src/utils/clear_up_application_data_param_serializer.cpp",
107  ]
108
109  sources += [
110    "../../../services/edm_plugin/src/disallowed_nearlink_protocols_plugin.cpp",
111    "../../../services/edm_plugin/src/utils/nearlink_config_utils.cpp",
112    "../../../services/edm_plugin/src/utils/nearlink_protocol_utils.cpp",
113  ]
114
115  public_configs = [
116    ":edm_config",
117    "../../../common/config:coverage_flags",
118  ]
119
120  defines = []
121
122  if (target_cpu == "arm64") {
123    defines += [ "_ARM64_" ]
124    print("defines _ARM64_")
125  }
126
127  if (target_cpu == "x86_64") {
128    defines += [ "_X86_64_" ]
129    print("defines _X86_64_")
130  }
131
132  defines += [ "EDM_FUZZ_TEST" ]
133  defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
134
135  external_deps = [
136    "ability_base:want",
137    "ability_runtime:app_manager",
138    "ability_runtime:extension_manager",
139    "ability_runtime:wantagent_innerkits",
140    "access_token:libaccesstoken_sdk",
141    "access_token:libtokenid_sdk",
142    "access_token:libnativetoken_shared",
143    "bundle_framework:appexecfwk_base",
144    "bundle_framework:appexecfwk_core",
145    "bundle_framework:libappexecfwk_common",
146    "cJSON:cjson",
147    "c_utils:utils",
148    "distributed_notification_service:ans_innerkits",
149    "file_api:securitylabel",
150    "graphic_2d:librender_service_client",
151    "graphic_2d:librender_service_base",
152    "common_event_service:cesfwk_innerkits",
153    "hilog:libhilog",
154    "hisysevent:libhisysevent",
155    "init:libbegetutil",
156    "ipc:ipc_core",
157    "netmanager_base:netsys_controller",
158    "relational_store:native_rdb",
159    "safwk:system_ability_fwk",
160    "samgr:samgr_proxy",
161    "window_manager:sms",
162    "window_manager:libwm",
163    "window_manager:session_manager_lite",
164    "jsoncpp:jsoncpp",
165  ]
166
167  deps = [
168    "../../../common/external:edm_external_adapters",
169    "../../../common/native:edm_commom",
170    "../../../interfaces/inner_api:edmservice_kits",
171    "../../../interfaces/inner_api/plugin_kits:plugin_kits",
172    "../../../services/idl:enterprise_device_mgr_idl_stub",
173  ]
174
175  if (enterprise_device_management_support_all) {
176    defines += [ "EDM_SUPPORT_ALL_ENABLE" ]
177    sources += [
178      "../../../services/edm_plugin/src/allowed_app_distribution_types_plugin.cpp",
179      "../../../services/edm_plugin/src/allowed_install_bundles_plugin.cpp",
180      "../../../services/edm_plugin/src/bundle_install_plugin.cpp",
181      "../../../services/edm_plugin/src/disable_maintenance_mode_plugin.cpp",
182      "../../../services/edm_plugin/src/disable_mtp_client_plugin.cpp",
183      "../../../services/edm_plugin/src/disable_mtp_server_plugin.cpp",
184      "../../../services/edm_plugin/src/disable_user_mtp_client_plugin.cpp",
185      "../../../services/edm_plugin/src/disable_samba_client_plugin.cpp",
186      "../../../services/edm_plugin/src/disable_samba_server_plugin.cpp",
187      "../../../services/edm_plugin/src/disable_set_biometrics_and_screenLock_plugin.cpp",
188      "../../../services/edm_plugin/src/disable_set_device_name_plugin.cpp",
189      "../../../services/edm_plugin/src/disallow_export_recovery_key_plugin.cpp",
190      "../../../services/edm_plugin/src/disallow_distributed_transmission_plugin.cpp",
191      "../../../services/edm_plugin/src/disallow_modify_datetime_plugin.cpp",
192      "../../../services/edm_plugin/src/disallowed_install_bundles_plugin.cpp",
193      "../../../services/edm_plugin/src/disallowed_uninstall_bundles_plugin.cpp",
194      "../../../services/edm_plugin/src/get_device_info_plugin.cpp",
195      "../../../services/edm_plugin/src/install_plugin.cpp",
196      "../../../services/edm_plugin/src/installed_bundle_info_list_plugin.cpp",
197      "../../../services/edm_plugin/src/ntp_server_plugin.cpp",
198      "../../../services/edm_plugin/src/operate_device_plugin.cpp",
199      "../../../services/edm_plugin/src/power_policy_plugin.cpp",
200      "../../../services/edm_plugin/src/screen_off_time_plugin.cpp",
201      "../../../services/edm_plugin/src/uninstall_plugin.cpp",
202      "../../../services/edm_plugin/src/set_allowed_kiosk_apps_plugin.cpp",
203      "../../../services/edm_plugin/src/clear_up_application_data_plugin.cpp",
204      "../../../services/edm_plugin/src/utils/allowed_app_distribution_types_utils.cpp",
205    ]
206
207    if (os_account_edm_enable) {
208      external_deps += [
209        "os_account:libaccountkits",
210        "os_account:os_account_innerkits",
211      ]
212      sources += [
213        "../../../services/edm/src/query_policy/disallow_add_local_account_query.cpp",
214        "../../../services/edm/src/watermark/watermark_application_observer.cpp",
215        "../../../services/edm/src/watermark/watermark_observer_manager.cpp",
216        "../../../services/edm_plugin/src/add_os_account_plugin.cpp",
217        "../../../services/edm_plugin/src/disallow_add_local_account_plugin.cpp",
218        "../../../services/edm_plugin/src/disallow_add_os_account_by_user_plugin.cpp",
219      ]
220      defines += [ "OS_ACCOUNT_EDM_ENABLE" ]
221    }
222
223    if (os_account_edm_enable && enterprise_device_management_feature_pc_only) {
224      external_deps += [
225        "os_account:libaccountkits",
226        "os_account:os_account_innerkits",
227      ]
228      sources += [
229        "../../../services/edm_plugin/src/disable_sudo_plugin.cpp",
230      ]
231      defines += [ "SUDO_EDM_ENABLE" ]
232    }
233
234    if (screenlock_mgr_edm_enable) {
235      external_deps += [ "screenlock_mgr:screenlock_client" ]
236      sources += [ "../../../services/edm_plugin/src/lock_screen_plugin.cpp" ]
237    }
238
239    if (power_manager_edm_enable && screenlock_mgr_edm_enable) {
240      external_deps += [ "power_manager:powermgr_client" ]
241      sources += [
242        "../../../services/edm_plugin/src/reboot_plugin.cpp",
243        "../../../services/edm_plugin/src/shutdown_plugin.cpp",
244      ]
245    }
246
247    if (update_service_edm_enable) {
248      external_deps += [ "update_service:updateservicekits" ]
249      sources += [ "../../../services/edm_plugin/src/reset_factory_plugin.cpp" ]
250    }
251
252    if (wifi_edm_enable) {
253      external_deps += [ "wifi:wifi_sdk" ]
254      sources += [
255        "../../../services/edm/src/query_policy/allowed_wifi_list_query.cpp",
256        "../../../services/edm/src/query_policy/disallowed_wifi_list_query.cpp",
257        "../../../services/edm/src/query_policy/set_wifi_disabled_query.cpp",
258        "../../../services/edm_plugin/src/allowed_wifi_list_plugin.cpp",
259        "../../../services/edm_plugin/src/disallowed_wifi_list_plugin.cpp",
260        "../../../services/edm_plugin/src/is_wifi_active_plugin.cpp",
261        "../../../services/edm_plugin/src/set_wifi_disabled_plugin.cpp",
262        "../../../services/edm_plugin/src/set_wifi_profile_plugin.cpp",
263        "../../../services/edm_plugin/src/utils/wifi_device_config_serializer.cpp",
264        "../../../services/edm_plugin/src/utils/wifi_policy_utils.cpp",
265      ]
266      defines += [ "WIFI_EDM_ENABLE" ]
267    }
268
269    if (netmanager_base_edm_enable && netmanager_ext_edm_enable) {
270      external_deps += [
271        "netmanager_base:net_conn_manager_if",
272        "netmanager_base:net_policy_manager_if",
273        "netmanager_base:netsys_controller",
274        "netmanager_ext:ethernet_manager_if",
275        "netmanager_ext:net_vpn_manager_if",
276      ]
277      sources += [
278        "../../../services/edm_plugin/src/disabled_network_interface_plugin.cpp",
279        "../../../services/edm_plugin/src/domain_filter_rule_plugin.cpp",
280        "../../../services/edm_plugin/src/firewall_rule_plugin.cpp",
281        "../../../services/edm_plugin/src/get_all_network_interfaces_plugin.cpp",
282        "../../../services/edm_plugin/src/get_ip_address_plugin.cpp",
283        "../../../services/edm_plugin/src/get_mac_plugin.cpp",
284        "../../../services/edm_plugin/src/global_proxy_plugin.cpp",
285        "../../../services/edm_plugin/src/iptables_rule_plugin.cpp",
286        "../../../services/edm_plugin/src/network/executer/domain_executer.cpp",
287        "../../../services/edm_plugin/src/network/executer/executer_factory.cpp",
288        "../../../services/edm_plugin/src/network/executer/executer_utils.cpp",
289        "../../../services/edm_plugin/src/network/executer/firewall_executer.cpp",
290        "../../../services/edm_plugin/src/network/executer/iexecuter.cpp",
291        "../../../services/edm_plugin/src/network/iptables_manager.cpp",
292        "../../../services/edm_plugin/src/network/rule/chain_rule.cpp",
293        "../../../services/edm_plugin/src/network/rule/domain_chain_rule.cpp",
294        "../../../services/edm_plugin/src/network/rule/firewall_chain_rule.cpp",
295        "../../../services/edm_plugin/src/network/rule/rule_utils.cpp",
296        "../../../services/edm_plugin/src/utils/domain_filter_rule_serializer.cpp",
297        "../../../services/edm_plugin/src/utils/firewall_rule_serializer.cpp",
298        "../../../services/edm_plugin/src/utils/http_proxy_serializer.cpp",
299        "../../../services/edm_plugin/src/disallowed_airplane_mode_plugin.cpp",
300        "../../../services/edm_plugin/src/disallow_vpn_plugin.cpp",
301      ]
302    }
303
304    if (ability_runtime_edm_enable) {
305      external_deps += [ "ability_runtime:ability_manager" ]
306      sources += [
307        "../../../services/edm/src/query_policy/disallowed_running_bundles_query.cpp",
308        "../../../services/edm_plugin/src/disallowed_running_bundles_plugin.cpp",
309        "../../../services/edm_plugin/src/manage_auto_start_apps_plugin.cpp",
310        "../../../services/edm_plugin/src/utils/manage_auto_start_apps_serializer.cpp",
311        "../../../services/edm_plugin/src/utils/manage_auto_start_app_info.cpp",
312        "../../../services/edm_plugin/src/manage_keep_alive_apps_plugin.cpp",
313        "../../../services/edm_plugin/src/utils/manage_keep_alive_apps_info.cpp",
314        "../../../services/edm_plugin/src/utils/manage_keep_alive_apps_serializer.cpp"
315      ]
316    }
317
318    if (certificate_manager_edm_enable) {
319      external_deps += [ "certificate_manager:cert_manager_sdk" ]
320      sources += [ "../../../services/edm_plugin/src/user_cert_plugin.cpp" ]
321    }
322
323    if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
324      external_deps += [ "usb_manager:usbsrv_client" ]
325      sources += [
326        "../../../services/edm/src/query_policy/allowed_usb_devices_query.cpp",
327        "../../../services/edm/src/query_policy/disable_usb_query.cpp",
328        "../../../services/edm_plugin/src/allowed_usb_devices_plugin.cpp",
329        "../../../services/edm_plugin/src/disable_usb_plugin.cpp",
330        "../../../services/edm_plugin/src/utils/array_usb_device_type_serializer.cpp",
331        "../../../services/edm_plugin/src/utils/usb_policy_utils.cpp",
332      ]
333    }
334
335    if (drivers_interface_usb_edm_enable && storage_service_edm_enable &&
336        usb_manager_edm_enable) {
337      external_deps += [ "storage_service:storage_manager_sa_proxy" ]
338      sources += [
339        "../../../services/edm/src/query_policy/usb_read_only_query.cpp",
340        "../../../services/edm_plugin/src/usb_read_only_plugin.cpp",
341      ]
342    }
343
344    if (audio_framework_edm_enable) {
345      external_deps += [ "audio_framework:audio_client" ]
346      sources += [
347        "../../../services/edm/src/query_policy/disable_hdc_query.cpp",
348        "../../../services/edm/src/query_policy/disable_microphone_query.cpp",
349        "../../../services/edm/src/query_policy/disable_printer_query.cpp",
350        "../../../services/edm_plugin/src/disable_hdc_plugin.cpp",
351        "../../../services/edm_plugin/src/disable_microphone_plugin.cpp",
352        "../../../services/edm_plugin/src/disable_printer_plugin.cpp",
353      ]
354    }
355
356    if (common_event_service_edm_enable) {
357      external_deps += [ "common_event_service:cesfwk_innerkits" ]
358      sources += [
359        "../../../services/edm/src/query_policy/set_browser_policies_query.cpp",
360        "../../../services/edm_plugin/src/set_browser_policies_plugin.cpp",
361      ]
362      defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
363    }
364
365    if (bluetooth_edm_enable) {
366      external_deps += [ "bluetooth:btframework" ]
367      sources += [
368        "../../../services/edm/src/query_policy/allowed_bluetooth_devices_query.cpp",
369        "../../../services/edm/src/query_policy/disable_bluetooth_query.cpp",
370        "../../../services/edm_plugin/src/allowed_bluetooth_devices_plugin.cpp",
371        "../../../services/edm_plugin/src/disable_bluetooth_plugin.cpp",
372        "../../../services/edm_plugin/src/get_bluetooth_info_plugin.cpp",
373      ]
374    }
375
376    if (location_edm_enable) {
377      external_deps += [ "location:locator_sdk" ]
378      sources += [
379        "../../../services/edm/src/query_policy/location_policy_query.cpp",
380        "../../../services/edm_plugin/src/location_policy_plugin.cpp",
381      ]
382    }
383
384    if (telephony_core_edm_enable) {
385      external_deps += [ "core_service:tel_core_service_api" ]
386      defines += [ "TELEPHONY_CORE_EDM_ENABLE" ]
387    }
388
389    if (pasteboard_edm_enable) {
390      sources += [
391        "../../../services/edm/src/query_policy/clipboard_policy_query.cpp",
392      ]
393      external_deps += [ "pasteboard:pasteboard_client" ]
394    }
395
396    sources += [
397        "../../../services/edm/src/query_policy/permission_managed_state_query.cpp",
398      ]
399
400    if (useriam_edm_enable) {
401      external_deps += [ "user_auth_framework:userauth_client" ]
402      defines += [ "USERIAM_EDM_ENABLE" ]
403      sources += [
404        "../../../services/edm/src/query_policy/fingerprint_auth_query.cpp",
405        "../../../services/edm/src/query_policy/password_policy_query.cpp",
406        "../../../services/edm_plugin/src/fingerprint_auth_plugin.cpp",
407        "../../../services/edm_plugin/src/password_policy_plugin.cpp",
408      ]
409    }
410
411    if (camera_framework_edm_enable) {
412      sources +=
413          [ "../../../services/edm/src/query_policy/disable_camera_query.cpp" ]
414      defines += [ "CAMERA_FRAMEWORK_EDM_ENABLE" ]
415    }
416
417    if (!enterprise_device_management_feature_pc_only) {
418      sources += [ "../../../services/edm/src/query_policy/disable_backup_and_restore_query.cpp" ]
419    }
420
421    if (enterprise_device_management_feature_pc_only) {
422      sources += [
423        "../../../services/edm_plugin/src/disallowed_usb_storage_device_write_plugin.cpp",
424        "../../../services/edm/src/query_policy/disable_usb_storage_device_write_query.cpp",
425        "../../../services/edm_plugin/src/install_local_enterprise_app_enabled_plugin.cpp",
426        "../../../services/edm/src/query_policy/install_local_enterprise_app_enabled_query.cpp",
427      ]
428      defines += [ "FEATURE_PC_ONLY" ]
429    }
430
431    if (!enterprise_device_management_feature_pc_only &&
432        cellular_data_edm_enable && telephony_core_edm_enable) {
433      external_deps += [
434        "call_manager:tel_call_manager_api",
435        "cellular_data:tel_cellular_data_api",
436        "core_service:tel_core_service_api",
437        "data_share:datashare_consumer",
438        "telephony_data:tel_telephony_data",
439      ]
440      sources += [
441        "../../../services/edm_plugin/src/disallow_mobile_data_plugin.cpp",
442        "../../../services/edm_plugin/src/disallow_modify_apn_plugin.cpp",
443        "../../../services/edm_plugin/src/disallowed_sim_plugin.cpp",
444        "../../../services/edm_plugin/src/disallowed_telephony_call_plugin.cpp",
445        "../../../services/edm_plugin/src/telephony_call_policy_plugin.cpp",
446        "../../../services/edm_plugin/src/set_apn_plugin.cpp",
447        "../../../services/edm_plugin/src/turnonoff_mobile_data_plugin.cpp",
448        "../../../services/edm_plugin/src/utils/apn_utils.cpp",
449      ]
450      defines += [ "CELLULAR_DATA_EDM_ENABLE" ]
451    }
452
453    if (power_manager_edm_enable &&
454        !enterprise_device_management_feature_pc_only) {
455      sources += [ "../../../services/edm_plugin/src/disallow_power_long_press_plugin.cpp" ]
456    }
457  }
458
459  sanitize = {
460    boundary_sanitize = true
461    cfi = true
462    cfi_cross_dso = true
463    debug = false
464    integer_overflow = true
465    ubsan = true
466  }
467  branch_protector_ret = "pac_ret"
468  subsystem_name = "customization"
469  part_name = "enterprise_device_management"
470}
471
472ohos_fuzztest("EnterpriseDeviceMgrStubMockFuzzTest") {
473  module_out_path = module_output_path
474
475  fuzz_config_file = "."
476
477  cflags = [
478    "-g",
479    "-fno-omit-frame-pointer",
480  ]
481
482  include_dirs = [
483    "../common/include",
484    "../../unittest/utils/include",
485    "../../../interfaces/inner_api/common/include",
486    "../../../interfaces/inner_api/device_settings/include",
487  ]
488
489  sources = [
490    "../common/src/common_fuzzer.cpp",
491    "enterprise_device_mgr_stub_mock_fuzzer.cpp",
492  ]
493
494  configs = [ "../../../common/config:coverage_flags" ]
495
496  deps = [
497    ":edmservice_fuzz_static",
498    "../../../common/external:edm_external_adapters",
499    "../../../common/native:edm_commom",
500    "../../../interfaces/inner_api:edmservice_kits",
501    "../../../interfaces/inner_api/plugin_kits:plugin_kits",
502    "../../unittest/utils:edm_unittest_utils",
503  ]
504
505  external_deps = [
506    "ability_base:want",
507    "ability_runtime:app_manager",
508    "access_token:libaccesstoken_sdk",
509    "access_token:libnativetoken",
510    "access_token:libtoken_setproc",
511    "access_token:libnativetoken_shared",
512    "bundle_framework:appexecfwk_base",
513    "bundle_framework:appexecfwk_core",
514    "cJSON:cjson",
515    "c_utils:utils",
516    "hilog:libhilog",
517    "init:libbegetutil",
518    "ipc:ipc_core",
519    "relational_store:native_rdb",
520    "safwk:system_ability_fwk",
521    "samgr:samgr_proxy",
522    "jsoncpp:jsoncpp",
523  ]
524
525  if (enterprise_device_management_support_all) {
526    if (wifi_edm_enable) {
527      external_deps += [ "wifi:wifi_sdk" ]
528    }
529    if (netmanager_base_edm_enable && netmanager_ext_edm_enable) {
530      external_deps += [
531        "netmanager_base:net_conn_manager_if",
532        "netmanager_base:net_policy_manager_if",
533        "netmanager_base:netsys_controller",
534        "netmanager_ext:ethernet_manager_if",
535      ]
536    }
537    if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
538      external_deps += [ "usb_manager:usbsrv_client" ]
539    }
540    if (drivers_interface_usb_edm_enable && storage_service_edm_enable &&
541        usb_manager_edm_enable) {
542      external_deps += [ "storage_service:storage_manager_sa_proxy" ]
543    }
544    if (bluetooth_edm_enable) {
545      external_deps += [ "bluetooth:btframework" ]
546    }
547  }
548
549  subsystem_name = "customization"
550  part_name = "enterprise_device_management"
551}
552