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