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_2.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/update_pin_param_impl.cpp",
178    "../../../services/core/src/user_idm_database_impl.cpp",
179    "../../../services/core/src/user_idm_session_controller_impl.cpp",
180    "../../../services/core/src/user_info_impl.cpp",
181    "../../../services/core/src/widget_schedule_node_impl.cpp",
182  ]
183
184  deps = [
185    "../../../frameworks/native/client:userauth_client",
186    "../common_fuzzer:attributes_fuzzer",
187    "../common_fuzzer:dfx_fuzzer",
188    "../common_fuzzer:userauth_service_base_fuzzer",
189  ]
190
191  external_deps = [
192    "ability_base:base",
193    "ability_base:want",
194    "ability_base:zuri",
195    "ability_runtime:ability_context_native",
196    "ability_runtime:abilitykit_native",
197    "ability_runtime:app_manager",
198    "ability_runtime:extension_manager",
199    "access_token:libaccesstoken_sdk",
200    "access_token:libtokenid_sdk",
201    "c_utils:utils",
202    "device_manager:devicemanagersdk",
203    "drivers_interface_user_auth:libuser_auth_proxy_2.0",
204    "hicollie:libhicollie",
205    "hilog:libhilog",
206    "hitrace:hitrace_meter",
207    "init:libbeget_proxy",
208    "init:libbegetutil",
209    "ipc:ipc_core",
210    "safwk:system_ability_fwk",
211    "samgr:samgr_proxy",
212  ]
213
214  if (has_os_account_part) {
215    cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
216    external_deps += [ "os_account:os_account_innerkits" ]
217  }
218
219  public_configs = [ "../../../services/core:userauth_service_core_config" ]
220
221  configs = [
222    "../../../common:iam_log_config",
223    "../../../common:iam_utils_config",
224    "../../../frameworks/native/ipc:userauth_client_ipc_config",
225    "../../../services/remote_connect:userauth_service_remote_connect_config",
226  ]
227
228  subsystem_name = "useriam"
229  part_name = "user_auth_framework"
230}
231
232ohos_source_set("userauth_service_context_fuzzer") {
233  branch_protector_ret = "pac_ret"
234  include_dirs = [
235    "inc",
236    "../../../frameworks/js/napi/user_auth/inc",
237  ]
238
239  remove_configs = [ "//build/config/compiler:no_exceptions" ]
240
241  sources = [
242    "../../../services/context/src/auth_widget_helper.cpp",
243    "../../../services/context/src/base_context.cpp",
244    "../../../services/context/src/context_appstate_observer.cpp",
245    "../../../services/context/src/context_callback_impl.cpp",
246    "../../../services/context/src/context_death_recipient.cpp",
247    "../../../services/context/src/context_factory.cpp",
248    "../../../services/context/src/context_helper.cpp",
249    "../../../services/context/src/context_pool_impl.cpp",
250    "../../../services/context/src/enroll_context.cpp",
251    "../../../services/context/src/identify_context.cpp",
252    "../../../services/context/src/keyguard_status_listener.cpp",
253    "../../../services/context/src/remote_auth_context.cpp",
254    "../../../services/context/src/remote_auth_invoker_context.cpp",
255    "../../../services/context/src/remote_auth_service.cpp",
256    "../../../services/context/src/remote_executor_stub.cpp",
257    "../../../services/context/src/remote_iam_callback.cpp",
258    "../../../services/context/src/schedule_holder_context.cpp",
259    "../../../services/context/src/simple_auth_context.cpp",
260    "../../../services/context/src/trace.cpp",
261    "../../../services/context/src/ui_extension_ability_connection.cpp",
262    "../../../services/context/src/widget_client.cpp",
263    "../../../services/context/src/widget_context.cpp",
264    "../../../services/context/src/widget_context_callback_impl.cpp",
265    "../../../services/context/src/widget_json.cpp",
266  ]
267
268  deps = [
269    "../common_fuzzer:attributes_fuzzer",
270    "../common_fuzzer:dfx_fuzzer",
271    "../common_fuzzer:userauth_service_core_fuzzer",
272  ]
273
274  external_deps = [
275    "ability_base:base",
276    "ability_base:want",
277    "ability_base:zuri",
278    "ability_runtime:ability_context_native",
279    "ability_runtime:abilitykit_native",
280    "ability_runtime:app_manager",
281    "ability_runtime:extension_manager",
282    "access_token:libaccesstoken_sdk",
283    "c_utils:utils",
284    "common_event_service:cesfwk_innerkits",
285    "drivers_interface_user_auth:libuser_auth_proxy_2.0",
286    "hicollie:libhicollie",
287    "hilog:libhilog",
288    "hitrace:hitrace_meter",
289    "init:libbegetutil",
290    "napi:ace_napi",
291  ]
292
293  public_configs =
294      [ "../../../services/context:userauth_service_context_config" ]
295
296  configs = [
297    "../../../services/base:userauth_service_base_config",
298    "../../../common:iam_log_config",
299    "../../../common:iam_utils_config",
300    "../../../frameworks/native/ipc:userauth_client_ipc_config",
301    "../../../services/remote_connect:userauth_service_remote_connect_config",
302  ]
303
304  subsystem_name = "useriam"
305  part_name = "user_auth_framework"
306}
307
308ohos_source_set("userauth_service_ipc_fuzzer") {
309  branch_protector_ret = "pac_ret"
310  include_dirs = [
311    "../../../frameworks/native/ipc/inc",
312    "../../../frameworks/native/ipc/common_defines",
313    "../../../interfaces/inner_api",
314  ]
315
316  sources = [
317    "../../../frameworks/native/ipc/src/co_auth_stub.cpp",
318    "../../../frameworks/native/ipc/src/executor_callback_proxy.cpp",
319    "../../../frameworks/native/ipc/src/executor_messenger_stub.cpp",
320    "../../../frameworks/native/ipc/src/user_auth_callback_proxy.cpp",
321    "../../../frameworks/native/ipc/src/user_auth_event_listener_proxy.cpp",
322    "../../../frameworks/native/ipc/src/user_auth_stub.cpp",
323    "../../../frameworks/native/ipc/src/user_idm_callback_proxy.cpp",
324    "../../../frameworks/native/ipc/src/user_idm_stub.cpp",
325    "../../../frameworks/native/ipc/src/widget_callback_proxy.cpp",
326  ]
327
328  configs = [
329    "../../../common:iam_log_config",
330    "../../../common:iam_utils_config",
331  ]
332
333  public_configs =
334      [ "../../../frameworks/native/ipc:userauth_client_ipc_config" ]
335  remove_configs = [ "//build/config/compiler:no_exceptions" ]
336
337  external_deps = [
338    "c_utils:utils",
339    "hicollie:libhicollie",
340    "hilog:libhilog",
341    "ipc:ipc_single",
342  ]
343
344  subsystem_name = "useriam"
345  part_name = "user_auth_framework"
346}
347
348ohos_source_set("userauth_service_remote_connect_fuzzer") {
349  include_dirs = [ "inc" ]
350
351  remove_configs = [ "//build/config/compiler:no_exceptions" ]
352
353  sources = [
354    "../../../services/remote_connect/src/device_manager_util.cpp",
355    "../../../services/remote_connect/src/remote_connect_listener.cpp",
356    "../../../services/remote_connect/src/remote_connect_listener_manager.cpp",
357    "../../../services/remote_connect/src/remote_connect_manager.cpp",
358    "../../../services/remote_connect/src/socket_factory.cpp",
359    "../../../services/remote_connect/src/soft_bus_base_socket.cpp",
360    "../../../services/remote_connect/src/soft_bus_client_socket.cpp",
361    "../../../services/remote_connect/src/soft_bus_manager.cpp",
362    "../../../services/remote_connect/src/soft_bus_message.cpp",
363    "../../../services/remote_connect/src/soft_bus_server_socket.cpp",
364    "../../../services/remote_connect/src/soft_bus_socket_listener.cpp",
365  ]
366
367  deps = [
368    "../common_fuzzer:attributes_fuzzer",
369    "../common_fuzzer:dfx_fuzzer",
370  ]
371
372  external_deps = [
373    "access_token:libtoken_setproc",
374    "c_utils:utils",
375    "device_manager:devicemanagersdk",
376    "dsoftbus:softbus_client",
377    "hicollie:libhicollie",
378    "hilog:libhilog",
379    "init:libbegetutil",
380    "safwk:system_ability_fwk",
381    "samgr:samgr_proxy",
382  ]
383
384  public_configs = [
385    "../../../services/remote_connect:userauth_service_remote_connect_config",
386  ]
387
388  configs = [
389    "../../../services/base:userauth_service_base_config",
390    "../../../common:iam_utils_config",
391    "../../../common:iam_log_config",
392  ]
393
394  subsystem_name = "useriam"
395  part_name = "user_auth_framework"
396}
397
398ohos_source_set("userauth_services_ipc_fuzzer") {
399  branch_protector_ret = "pac_ret"
400  include_dirs = [
401    "../../../services/ipc/inc",
402    "../../../frameworks/js/napi/user_auth/inc",
403  ]
404
405  remove_configs = [ "//build/config/compiler:no_exceptions" ]
406
407  sources = [
408    "../../../services/ipc/src/co_auth_service.cpp",
409    "../../../services/ipc/src/executor_messenger_service.cpp",
410    "../../../services/ipc/src/hdi_message_callback_service.cpp",
411    "../../../services/ipc/src/template_cache_manager.cpp",
412    "../../../services/ipc/src/user_auth_service.cpp",
413    "../../../services/ipc/src/user_idm_service.cpp",
414    "../dummy/mock_ipc_common.cpp",
415  ]
416
417  deps = [
418    "../common_fuzzer:attributes_fuzzer",
419    "../common_fuzzer:dfx_fuzzer",
420    "../common_fuzzer:iam_utils_fuzzer",
421    "../common_fuzzer:userauth_service_context_fuzzer",
422    "../common_fuzzer:userauth_service_ipc_fuzzer",
423    "../common_fuzzer:userauth_service_remote_connect_fuzzer",
424  ]
425
426  external_deps = [
427    "ability_runtime:app_manager",
428    "access_token:libaccesstoken_sdk",
429    "c_utils:utils",
430    "device_manager:devicemanagersdk",
431    "drivers_interface_user_auth:libuser_auth_proxy_2.0",
432    "hicollie:libhicollie",
433    "hilog:libhilog",
434    "hitrace:hitrace_meter",
435    "init:libbegetutil",
436    "ipc:ipc_single",
437    "napi:ace_napi",
438    "safwk:system_ability_fwk",
439    "samgr:samgr_proxy",
440  ]
441
442  if (has_os_account_part) {
443    cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
444    external_deps += [ "os_account:os_account_innerkits" ]
445  }
446
447  configs = [
448    "../../../services/base:userauth_service_base_config",
449    "../../../common:iam_log_config",
450    "../../../services/core:userauth_service_core_config",
451    "../../../services/remote_connect:userauth_service_remote_connect_config",
452  ]
453
454  subsystem_name = "useriam"
455  part_name = "user_auth_framework"
456}
457
458ohos_source_set("iam_thread_pool_fuzzer") {
459  branch_protector_ret = "pac_ret"
460  include_dirs = [
461    "thread_pool",
462    "../../../common/logs",
463  ]
464
465  sources = [ "thread_pool/thread_groups.cpp" ]
466
467  external_deps = [
468    "c_utils:utils",
469    "hicollie:libhicollie",
470    "hilog:libhilog",
471  ]
472
473  public_configs = [ "../../../common:iam_thread_pool_config" ]
474
475  subsystem_name = "useriam"
476  part_name = "user_auth_framework"
477}
478
479ohos_source_set("iam_utils_fuzzer") {
480  branch_protector_ret = "pac_ret"
481  include_dirs = [
482    "../../../common/utils",
483    "../../../common/logs",
484  ]
485
486  sources = [
487    "../../../common/utils/iam_time.cpp",
488    "../../../common/utils/xcollie_helper.cpp",
489  ]
490
491  external_deps = [
492    "c_utils:utils",
493    "hicollie:libhicollie",
494    "hilog:libhilog",
495  ]
496
497  public_configs = [
498    "../../../common:iam_utils_config",
499    "../../../common:iam_log_config",
500  ]
501
502  subsystem_name = "useriam"
503  part_name = "user_auth_framework"
504}
505
506ohos_source_set("iam_test_fuzzer") {
507  testonly = true
508  include_dirs = [ "../../../common/logs" ]
509
510  external_deps = [
511    "c_utils:utils",
512    "hicollie:libhicollie",
513    "hilog:libhilog",
514  ]
515
516  public_configs = [ "../../../common:iam_test_config" ]
517
518  sources = [ "../../../common/test/iam_fuzz_test.cpp" ]
519
520  subsystem_name = "useriam"
521  part_name = "user_auth_framework"
522}
523