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/ohos.gni")
15
16if (!defined(global_parts_info) ||
17    defined(global_parts_info.account_os_account)) {
18  has_os_account_part = true
19} else {
20  has_os_account_part = false
21}
22
23ohos_source_set("attributes_fuzzer") {
24  branch_protector_ret = "pac_ret"
25  include_dirs = [ "../../../interfaces/inner_api" ]
26
27  sources =
28      [ "../../../frameworks/native/common/attributes/src/attributes.cpp" ]
29
30  configs = [ "../../../common:iam_log_config" ]
31
32  public_configs = [ "../../../frameworks/native/common:attributes_config" ]
33
34  external_deps = [
35    "c_utils:utils",
36    "hicollie:libhicollie",
37    "hilog:libhilog",
38  ]
39
40  subsystem_name = "useriam"
41  part_name = "user_auth_framework"
42}
43
44ohos_source_set("dfx_fuzzer") {
45  branch_protector_ret = "pac_ret"
46  include_dirs = [ "../../../frameworks/native/common/dfx/inc" ]
47
48  sources = [
49    "../../../frameworks/native/common/dfx/src/hisysevent_adapter.cpp",
50    "../../../frameworks/native/common/dfx/src/iam_hitrace_helper.cpp",
51  ]
52
53  configs = [
54    "../../../common:iam_log_config",
55    "../../../common:iam_utils_config",
56  ]
57
58  public_configs = [ "../../../frameworks/native/common:dfx_config" ]
59
60  external_deps = [
61    "c_utils:utils",
62    "hicollie:libhicollie",
63    "hilog:libhilog",
64    "hisysevent:libhisysevent",
65    "hitrace:hitrace_meter",
66  ]
67
68  subsystem_name = "useriam"
69  part_name = "user_auth_framework"
70}
71
72ohos_source_set("userauth_client_ipc_fuzzer") {
73  branch_protector_ret = "pac_ret"
74  include_dirs = [
75    "../../../frameworks/native/ipc/inc",
76    "../../../frameworks/native/ipc/common_defines",
77    "../../../interfaces/inner_api",
78  ]
79
80  sources = [
81    "../../../frameworks/native/ipc/src/co_auth_proxy.cpp",
82    "../../../frameworks/native/ipc/src/executor_callback_stub.cpp",
83    "../../../frameworks/native/ipc/src/executor_messenger_proxy.cpp",
84    "../../../frameworks/native/ipc/src/user_auth_callback_stub.cpp",
85    "../../../frameworks/native/ipc/src/user_auth_event_listener_stub.cpp",
86    "../../../frameworks/native/ipc/src/user_auth_proxy.cpp",
87    "../../../frameworks/native/ipc/src/user_idm_callback_stub.cpp",
88    "../../../frameworks/native/ipc/src/user_idm_proxy.cpp",
89    "../../../frameworks/native/ipc/src/widget_callback_stub.cpp",
90  ]
91
92  configs = [
93    "../../../common:iam_log_config",
94    "../../../common:iam_utils_config",
95  ]
96
97  public_configs =
98      [ "../../../frameworks/native/ipc:userauth_client_ipc_config" ]
99  remove_configs = [ "//build/config/compiler:no_exceptions" ]
100
101  external_deps = [
102    "c_utils:utils",
103    "hicollie:libhicollie",
104    "hilog:libhilog",
105    "ipc:ipc_single",
106  ]
107
108  subsystem_name = "useriam"
109  part_name = "user_auth_framework"
110}
111
112ohos_source_set("userauth_service_base_fuzzer") {
113  branch_protector_ret = "pac_ret"
114  include_dirs = [ "../../../services/base/inc" ]
115
116  remove_configs = [ "//build/config/compiler:no_exceptions" ]
117
118  sources = [
119    "../../../services/base/src/finite_state_machine_builder.cpp",
120    "../../../services/base/src/finite_state_machine_impl.cpp",
121    "../../../services/base/src/relative_timer.cpp",
122    "../../../services/base/src/system_ability_listener.cpp",
123    "../../../services/base/src/thread_handler_impl.cpp",
124    "../../../services/base/src/thread_handler_manager.cpp",
125    "../../../services/base/src/thread_handler_singleton_impl.cpp",
126    "../dummy/mock_iuser_auth_interface.cpp",
127  ]
128
129  external_deps = [
130    "c_utils:utils",
131    "drivers_interface_user_auth:libuser_auth_proxy_3.0",
132    "hicollie:libhicollie",
133    "hilog:libhilog",
134    "init:libbegetutil",
135    "ipc:ipc_core",
136    "safwk:system_ability_fwk",
137  ]
138
139  public_configs = [ "../../../services/base:userauth_service_base_config" ]
140
141  configs = [
142    "../../../common:iam_log_config",
143    "../../../common:iam_utils_config",
144  ]
145
146  subsystem_name = "useriam"
147  part_name = "user_auth_framework"
148}
149
150ohos_source_set("userauth_service_core_fuzzer") {
151  branch_protector_ret = "pac_ret"
152  include_dirs = [
153    "../../../services/core/inc",
154    "../../../services/core/src",
155  ]
156
157  remove_configs = [ "//build/config/compiler:no_exceptions" ]
158
159  sources = [
160    "../../../services/core/src/auth_event_listener_manager.cpp",
161    "../../../services/core/src/authentication_impl.cpp",
162    "../../../services/core/src/credential_info_impl.cpp",
163    "../../../services/core/src/enrolled_info_impl.cpp",
164    "../../../services/core/src/enrollment_impl.cpp",
165    "../../../services/core/src/identification_impl.cpp",
166    "../../../services/core/src/publish_event_adapter_mock.cpp",
167    "../../../services/core/src/remote_executor_proxy.cpp",
168    "../../../services/core/src/remote_msg_util.cpp",
169    "../../../services/core/src/resource_node_impl.cpp",
170    "../../../services/core/src/resource_node_pool_impl.cpp",
171    "../../../services/core/src/resource_node_utils.cpp",
172    "../../../services/core/src/schedule_node_builder.cpp",
173    "../../../services/core/src/schedule_node_helper.cpp",
174    "../../../services/core/src/schedule_node_impl.cpp",
175    "../../../services/core/src/schedule_resource_node_listener.cpp",
176    "../../../services/core/src/secure_user_info_impl.cpp",
177    "../../../services/core/src/system_param_manager.cpp",
178    "../../../services/core/src/update_pin_param_impl.cpp",
179    "../../../services/core/src/user_idm_database_impl.cpp",
180    "../../../services/core/src/user_idm_session_controller_impl.cpp",
181    "../../../services/core/src/user_info_impl.cpp",
182    "../../../services/core/src/widget_schedule_node_impl.cpp",
183  ]
184
185  deps = [
186    "../../../frameworks/native/client:userauth_client",
187    "../common_fuzzer:attributes_fuzzer",
188    "../common_fuzzer:dfx_fuzzer",
189    "../common_fuzzer:userauth_service_base_fuzzer",
190  ]
191
192  external_deps = [
193    "ability_base:base",
194    "ability_base:want",
195    "ability_base:zuri",
196    "ability_runtime:ability_context_native",
197    "ability_runtime:abilitykit_native",
198    "ability_runtime:app_manager",
199    "ability_runtime:extension_manager",
200    "access_token:libaccesstoken_sdk",
201    "access_token:libtokenid_sdk",
202    "c_utils:utils",
203    "device_manager:devicemanagersdk",
204    "drivers_interface_user_auth:libuser_auth_proxy_3.0",
205    "hicollie:libhicollie",
206    "hilog:libhilog",
207    "hitrace:hitrace_meter",
208    "init:libbeget_proxy",
209    "init:libbegetutil",
210    "ipc:ipc_core",
211    "safwk:system_ability_fwk",
212    "samgr:samgr_proxy",
213  ]
214
215  if (has_os_account_part) {
216    cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
217    external_deps += [ "os_account:os_account_innerkits" ]
218  }
219
220  public_configs = [ "../../../services/core:userauth_service_core_config" ]
221
222  configs = [
223    "../../../common:iam_log_config",
224    "../../../common:iam_utils_config",
225    "../../../frameworks/native/ipc:userauth_client_ipc_config",
226    "../../../services/remote_connect:userauth_service_remote_connect_config",
227  ]
228
229  subsystem_name = "useriam"
230  part_name = "user_auth_framework"
231}
232
233ohos_source_set("userauth_service_context_fuzzer") {
234  branch_protector_ret = "pac_ret"
235  include_dirs = [
236    "inc",
237    "../../../frameworks/js/napi/user_auth/inc",
238  ]
239
240  remove_configs = [ "//build/config/compiler:no_exceptions" ]
241
242  sources = [
243    "../../../services/context/src/auth_widget_helper.cpp",
244    "../../../services/context/src/base_context.cpp",
245    "../../../services/context/src/context_appstate_observer.cpp",
246    "../../../services/context/src/context_callback_impl.cpp",
247    "../../../services/context/src/context_death_recipient.cpp",
248    "../../../services/context/src/context_factory.cpp",
249    "../../../services/context/src/context_helper.cpp",
250    "../../../services/context/src/context_pool_impl.cpp",
251    "../../../services/context/src/enroll_context.cpp",
252    "../../../services/context/src/identify_context.cpp",
253    "../../../services/context/src/keyguard_status_listener.cpp",
254    "../../../services/context/src/remote_auth_context.cpp",
255    "../../../services/context/src/remote_auth_invoker_context.cpp",
256    "../../../services/context/src/remote_auth_service.cpp",
257    "../../../services/context/src/remote_executor_stub.cpp",
258    "../../../services/context/src/remote_iam_callback.cpp",
259    "../../../services/context/src/schedule_holder_context.cpp",
260    "../../../services/context/src/simple_auth_context.cpp",
261    "../../../services/context/src/trace.cpp",
262    "../../../services/context/src/ui_extension_ability_connection.cpp",
263    "../../../services/context/src/widget_client.cpp",
264    "../../../services/context/src/widget_context.cpp",
265    "../../../services/context/src/widget_context_callback_impl.cpp",
266    "../../../services/context/src/widget_json.cpp",
267  ]
268
269  deps = [
270    "../common_fuzzer:attributes_fuzzer",
271    "../common_fuzzer:dfx_fuzzer",
272    "../common_fuzzer:userauth_service_core_fuzzer",
273  ]
274
275  external_deps = [
276    "ability_base:base",
277    "ability_base:want",
278    "ability_base:zuri",
279    "ability_runtime:ability_context_native",
280    "ability_runtime:abilitykit_native",
281    "ability_runtime:app_manager",
282    "ability_runtime:extension_manager",
283    "access_token:libaccesstoken_sdk",
284    "c_utils:utils",
285    "common_event_service:cesfwk_innerkits",
286    "drivers_interface_user_auth:libuser_auth_proxy_3.0",
287    "hicollie:libhicollie",
288    "hilog:libhilog",
289    "hitrace:hitrace_meter",
290    "init:libbegetutil",
291    "napi:ace_napi",
292  ]
293
294  public_configs =
295      [ "../../../services/context:userauth_service_context_config" ]
296
297  configs = [
298    "../../../services/base:userauth_service_base_config",
299    "../../../common:iam_log_config",
300    "../../../common:iam_utils_config",
301    "../../../frameworks/native/ipc:userauth_client_ipc_config",
302    "../../../services/remote_connect:userauth_service_remote_connect_config",
303  ]
304
305  subsystem_name = "useriam"
306  part_name = "user_auth_framework"
307}
308
309ohos_source_set("userauth_service_ipc_fuzzer") {
310  branch_protector_ret = "pac_ret"
311  include_dirs = [
312    "../../../frameworks/native/ipc/inc",
313    "../../../frameworks/native/ipc/common_defines",
314    "../../../interfaces/inner_api",
315  ]
316
317  sources = [
318    "../../../frameworks/native/ipc/src/co_auth_stub.cpp",
319    "../../../frameworks/native/ipc/src/executor_callback_proxy.cpp",
320    "../../../frameworks/native/ipc/src/executor_messenger_stub.cpp",
321    "../../../frameworks/native/ipc/src/user_auth_callback_proxy.cpp",
322    "../../../frameworks/native/ipc/src/user_auth_event_listener_proxy.cpp",
323    "../../../frameworks/native/ipc/src/user_auth_stub.cpp",
324    "../../../frameworks/native/ipc/src/user_idm_callback_proxy.cpp",
325    "../../../frameworks/native/ipc/src/user_idm_stub.cpp",
326    "../../../frameworks/native/ipc/src/widget_callback_proxy.cpp",
327  ]
328
329  configs = [
330    "../../../common:iam_log_config",
331    "../../../common:iam_utils_config",
332  ]
333
334  public_configs =
335      [ "../../../frameworks/native/ipc:userauth_client_ipc_config" ]
336  remove_configs = [ "//build/config/compiler:no_exceptions" ]
337
338  external_deps = [
339    "c_utils:utils",
340    "hicollie:libhicollie",
341    "hilog:libhilog",
342    "ipc:ipc_single",
343  ]
344
345  subsystem_name = "useriam"
346  part_name = "user_auth_framework"
347}
348
349ohos_source_set("userauth_service_remote_connect_fuzzer") {
350  include_dirs = [ "inc" ]
351
352  remove_configs = [ "//build/config/compiler:no_exceptions" ]
353
354  sources = [
355    "../../../services/remote_connect/src/device_manager_util.cpp",
356    "../../../services/remote_connect/src/remote_connect_listener.cpp",
357    "../../../services/remote_connect/src/remote_connect_listener_manager.cpp",
358    "../../../services/remote_connect/src/remote_connect_manager.cpp",
359    "../../../services/remote_connect/src/socket_factory.cpp",
360    "../../../services/remote_connect/src/soft_bus_base_socket.cpp",
361    "../../../services/remote_connect/src/soft_bus_client_socket.cpp",
362    "../../../services/remote_connect/src/soft_bus_manager.cpp",
363    "../../../services/remote_connect/src/soft_bus_message.cpp",
364    "../../../services/remote_connect/src/soft_bus_server_socket.cpp",
365    "../../../services/remote_connect/src/soft_bus_socket_listener.cpp",
366  ]
367
368  deps = [ "../common_fuzzer:attributes_fuzzer" ]
369
370  external_deps = [
371    "access_token:libtoken_setproc",
372    "c_utils:utils",
373    "device_manager:devicemanagersdk",
374    "dsoftbus:softbus_client",
375    "hicollie:libhicollie",
376    "hilog:libhilog",
377    "init:libbegetutil",
378    "safwk:system_ability_fwk",
379    "samgr:samgr_proxy",
380  ]
381
382  public_configs = [
383    "../../../services/remote_connect:userauth_service_remote_connect_config",
384  ]
385
386  configs = [
387    "../../../services/base:userauth_service_base_config",
388    "../../../common:iam_utils_config",
389    "../../../common:iam_log_config",
390  ]
391
392  subsystem_name = "useriam"
393  part_name = "user_auth_framework"
394}
395
396ohos_source_set("userauth_services_ipc_fuzzer") {
397  branch_protector_ret = "pac_ret"
398  include_dirs = [
399    "../../../services/ipc/inc",
400    "../../../frameworks/js/napi/user_auth/inc",
401  ]
402
403  remove_configs = [ "//build/config/compiler:no_exceptions" ]
404
405  sources = [
406    "../../../services/ipc/src/co_auth_service.cpp",
407    "../../../services/ipc/src/executor_messenger_service.cpp",
408    "../../../services/ipc/src/hdi_message_callback_service.cpp",
409    "../../../services/ipc/src/template_cache_manager.cpp",
410    "../../../services/ipc/src/user_auth_service.cpp",
411    "../../../services/ipc/src/user_idm_service.cpp",
412    "../dummy/mock_ipc_common.cpp",
413  ]
414
415  deps = [
416    "../common_fuzzer:attributes_fuzzer",
417    "../common_fuzzer:dfx_fuzzer",
418    "../common_fuzzer:iam_utils_fuzzer",
419    "../common_fuzzer:userauth_service_context_fuzzer",
420    "../common_fuzzer:userauth_service_ipc_fuzzer",
421    "../common_fuzzer:userauth_service_remote_connect_fuzzer",
422  ]
423
424  external_deps = [
425    "ability_runtime:app_manager",
426    "access_token:libaccesstoken_sdk",
427    "c_utils:utils",
428    "device_manager:devicemanagersdk",
429    "drivers_interface_user_auth:libuser_auth_proxy_3.0",
430    "hicollie:libhicollie",
431    "hilog:libhilog",
432    "hitrace:hitrace_meter",
433    "init:libbegetutil",
434    "ipc:ipc_single",
435    "napi:ace_napi",
436    "safwk:system_ability_fwk",
437    "samgr:samgr_proxy",
438  ]
439
440  if (has_os_account_part) {
441    cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
442    external_deps += [ "os_account:os_account_innerkits" ]
443  }
444
445  configs = [
446    "../../../services/base:userauth_service_base_config",
447    "../../../common:iam_log_config",
448    "../../../services/core:userauth_service_core_config",
449    "../../../services/remote_connect:userauth_service_remote_connect_config",
450  ]
451
452  subsystem_name = "useriam"
453  part_name = "user_auth_framework"
454}
455
456ohos_source_set("iam_thread_pool_fuzzer") {
457  branch_protector_ret = "pac_ret"
458  include_dirs = [
459    "thread_pool",
460    "../../../common/logs",
461  ]
462
463  sources = [ "thread_pool/thread_groups.cpp" ]
464
465  external_deps = [
466    "c_utils:utils",
467    "hicollie:libhicollie",
468    "hilog:libhilog",
469  ]
470
471  public_configs = [ "../../../common:iam_thread_pool_config" ]
472
473  subsystem_name = "useriam"
474  part_name = "user_auth_framework"
475}
476
477ohos_source_set("iam_utils_fuzzer") {
478  branch_protector_ret = "pac_ret"
479  include_dirs = [
480    "../../../common/utils",
481    "../../../common/logs",
482  ]
483
484  sources = [
485    "../../../common/utils/iam_mem.cpp",
486    "../../../common/utils/iam_time.cpp",
487    "../../../common/utils/xcollie_helper.cpp",
488  ]
489
490  external_deps = [
491    "c_utils:utils",
492    "hicollie:libhicollie",
493    "hilog:libhilog",
494  ]
495
496  public_configs = [
497    "../../../common:iam_utils_config",
498    "../../../common:iam_log_config",
499  ]
500
501  subsystem_name = "useriam"
502  part_name = "user_auth_framework"
503}
504
505ohos_source_set("iam_test_fuzzer") {
506  testonly = true
507  include_dirs = [ "../../../common/logs" ]
508
509  external_deps = [
510    "c_utils:utils",
511    "hicollie:libhicollie",
512    "hilog:libhilog",
513  ]
514
515  public_configs = [ "../../../common:iam_test_config" ]
516
517  sources = [ "../../../common/test/iam_fuzz_test.cpp" ]
518
519  subsystem_name = "useriam"
520  part_name = "user_auth_framework"
521}
522