# Copyright (c) 2023-2025 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/ohos.gni")
import("../../../user_auth_framework.gni")
if (!defined(global_parts_info) ||
defined(global_parts_info.account_os_account)) {
has_os_account_part = true
} else {
has_os_account_part = false
}
ohos_source_set("attributes_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [ "../../../interfaces/inner_api" ]
sources =
[ "../../../frameworks/native/common/attributes/src/attributes.cpp" ]
configs = [ "../../../common:iam_log_config" ]
public_configs = [ "../../../frameworks/native/common:attributes_config" ]
external_deps = [
"c_utils:utils",
"hicollie:libhicollie",
"hilog:libhilog",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("dfx_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [ "../../../frameworks/native/common/dfx/inc" ]
sources = [
"../../../frameworks/native/common/dfx/src/hisysevent_adapter.cpp",
"../../../frameworks/native/common/dfx/src/iam_hitrace_helper.cpp",
]
configs = [
"../../../common:iam_log_config",
"../../../common:iam_utils_config",
]
public_configs = [ "../../../frameworks/native/common:dfx_config" ]
external_deps = [
"c_utils:utils",
"hicollie:libhicollie",
"hilog:libhilog",
"hisysevent:libhisysevent",
"hitrace:hitrace_meter",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("userauth_service_base_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [ "../../../services/base/inc" ]
remove_configs = [ "//build/config/compiler:no_exceptions" ]
sources = [
"../../../services/base/src/finite_state_machine_builder.cpp",
"../../../services/base/src/finite_state_machine_impl.cpp",
"../../../services/base/src/thread_handler_impl.cpp",
"../../../services/base/src/thread_handler_manager.cpp",
"../../../services/base/src/thread_handler_singleton_impl.cpp",
"../dummy/mock_iuser_auth_interface.cpp",
"../dummy/mock_system_ability_listener.cpp",
]
external_deps = [
"access_token:libaccesstoken_sdk",
"c_utils:utils",
"drivers_interface_user_auth:libuser_auth_proxy_4.0",
"drivers_interface_user_auth:libuser_auth_proxy_4.1",
"hdf_core:libhdf_utils",
"hicollie:libhicollie",
"hilog:libhilog",
"init:libbegetutil",
"ipc:ipc_core",
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
deps = [ "../common_fuzzer:iam_utils_fuzzer" ]
public_configs = [ "../../../services:userauth_services_config" ]
configs = [
"../../../common:iam_log_config",
"../../../common:iam_utils_config",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("userauth_service_core_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [
"../../../services/core/inc",
"../../../services/core/src",
]
remove_configs = [ "//build/config/compiler:no_exceptions" ]
sources = [
"../../../services/core/src/authentication_impl.cpp",
"../../../services/core/src/credential_info_impl.cpp",
"../../../services/core/src/credential_updated_manager.cpp",
"../../../services/core/src/delete_impl.cpp",
"../../../services/core/src/driver_state_manager.cpp",
"../../../services/core/src/enrolled_info_impl.cpp",
"../../../services/core/src/enrollment_impl.cpp",
"../../../services/core/src/event_listener_manager.cpp",
"../../../services/core/src/identification_impl.cpp",
"../../../services/core/src/publish_event_adapter_mock.cpp",
"../../../services/core/src/remote_auth_callback_manager.cpp",
"../../../services/core/src/remote_executor_proxy.cpp",
"../../../services/core/src/remote_msg_util.cpp",
"../../../services/core/src/resource_node_impl.cpp",
"../../../services/core/src/resource_node_pool_impl.cpp",
"../../../services/core/src/resource_node_utils.cpp",
"../../../services/core/src/risk_event_manager.cpp",
"../../../services/core/src/schedule_node_builder.cpp",
"../../../services/core/src/schedule_node_helper.cpp",
"../../../services/core/src/schedule_node_impl.cpp",
"../../../services/core/src/schedule_resource_node_listener.cpp",
"../../../services/core/src/screenlock_status_listener.cpp",
"../../../services/core/src/secure_user_info_impl.cpp",
"../../../services/core/src/update_pin_param_impl.cpp",
"../../../services/core/src/user_idm_database_impl.cpp",
"../../../services/core/src/user_info_impl.cpp",
"../../../services/core/src/widget_schedule_node_impl.cpp",
]
deps = [
"../../../frameworks/native/client:userauth_client",
"../common_fuzzer:attributes_fuzzer",
"../common_fuzzer:dfx_fuzzer",
"../common_fuzzer:userauth_service_base_fuzzer",
]
external_deps = [
"ability_base:base",
"ability_base:want",
"ability_base:zuri",
"ability_runtime:ability_context_native",
"ability_runtime:abilitykit_native",
"ability_runtime:extension_manager",
"access_token:libaccesstoken_sdk",
"access_token:libtokenid_sdk",
"c_utils:utils",
"drivers_interface_user_auth:libuser_auth_proxy_4.0",
"drivers_interface_user_auth:libuser_auth_proxy_4.1",
"hdf_core:libhdf_utils",
"hdf_core:libhdi",
"hicollie:libhicollie",
"hilog:libhilog",
"hitrace:hitrace_meter",
"init:libbeget_proxy",
"init:libbegetutil",
"ipc:ipc_core",
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
defines = []
if (screenlock_client_enable) {
external_deps += [
"eventhandler:libeventhandler",
"ffrt:libffrt",
"preferences:native_preferences",
"screenlock_mgr:screenlock_client",
"window_manager:libdm_lite",
]
sources +=
[ "../../../services/core/src/strong_auth_status_manager_impl.cpp" ]
} else {
sources +=
[ "../../../services/core/src/strong_auth_status_manager_mock.cpp" ]
}
if (has_os_account_part) {
cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
external_deps += [ "os_account:os_account_innerkits" ]
sources += [ "../../../services/core/src/os_accounts_manager_impl.cpp" ]
} else {
sources += [ "../../../services/core/src/os_accounts_manager_mock.cpp" ]
}
public_configs = [ "../../../services:userauth_services_config" ]
configs = [
"../../../common:iam_log_config",
"../../../common:iam_utils_config",
"../../../frameworks/native/ipc:userauth_client_ipc_config",
"../../../services:userauth_services_config",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("userauth_service_context_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [
"inc",
"../dummy",
"../../../frameworks/common/inc",
"../../../frameworks/native/client/inc",
]
remove_configs = [ "//build/config/compiler:no_exceptions" ]
sources = [
"../../../services/context/src/auth_widget_helper.cpp",
"../../../services/context/src/base_context.cpp",
"../../../services/context/src/context_appstate_observer.cpp",
"../../../services/context/src/context_callback_impl.cpp",
"../../../services/context/src/context_death_recipient.cpp",
"../../../services/context/src/context_factory.cpp",
"../../../services/context/src/context_helper.cpp",
"../../../services/context/src/context_pool_impl.cpp",
"../../../services/context/src/delete_context.cpp",
"../../../services/context/src/enroll_context.cpp",
"../../../services/context/src/identify_context.cpp",
"../../../services/context/src/local_remote_auth_context.cpp",
"../../../services/context/src/remote_auth_context.cpp",
"../../../services/context/src/remote_auth_invoker_context.cpp",
"../../../services/context/src/remote_auth_service.cpp",
"../../../services/context/src/remote_executor_stub.cpp",
"../../../services/context/src/remote_iam_callback.cpp",
"../../../services/context/src/schedule_holder_context.cpp",
"../../../services/context/src/set_widget_param_callback_service.cpp",
"../../../services/context/src/simple_auth_context.cpp",
"../../../services/context/src/trace.cpp",
"../../../services/context/src/ui_extension_ability_connection.cpp",
"../../../services/context/src/widget_client.cpp",
"../../../services/context/src/widget_context.cpp",
"../../../services/context/src/widget_context_callback_impl.cpp",
"../../../services/context/src/widget_json.cpp",
"../../../services/load_mode/src/load_mode_handler.cpp",
"../../../services/load_mode/src/load_mode_handler_default.cpp",
"../dummy/mock_application_state_observer_stub.cpp",
]
deps = [
"../common_fuzzer:attributes_fuzzer",
"../common_fuzzer:dfx_fuzzer",
"../common_fuzzer:iam_utils_fuzzer",
"../common_fuzzer:userauth_service_core_fuzzer",
]
external_deps = [
"ability_base:base",
"ability_base:want",
"ability_base:zuri",
"ability_runtime:ability_context_native",
"ability_runtime:abilitykit_native",
"ability_runtime:app_manager",
"ability_runtime:extension_manager",
"access_token:libaccesstoken_sdk",
"c_utils:utils",
"config_policy:configpolicy_util",
"drivers_interface_user_auth:libuser_auth_proxy_4.0",
"drivers_interface_user_auth:libuser_auth_proxy_4.1",
"hdf_core:libhdf_utils",
"hicollie:libhicollie",
"hilog:libhilog",
"hitrace:hitrace_meter",
"init:libbegetutil",
"ipc:ipc_single",
"libuv:uv",
"napi:ace_napi",
"node:node_header_notice",
"samgr:samgr_proxy",
]
defines = []
if (screenlock_client_enable) {
external_deps += [ "screenlock_mgr:screenlock_client" ]
defines += [ "SCREENLOCK_CLIENT_ENABLE" ]
}
if (has_os_account_part) {
cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
external_deps += [ "os_account:os_account_innerkits" ]
}
public_configs = [ "../../../services:userauth_services_config" ]
configs = [
"../../../services:userauth_services_config",
"../../../common:iam_log_config",
"../../../common:iam_utils_config",
"../../../frameworks/native/ipc:userauth_client_ipc_config",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("userauth_service_remote_connect_fuzzer") {
include_dirs = [
"inc",
"../../../services/remote_connect/inc",
]
remove_configs = [ "//build/config/compiler:no_exceptions" ]
sources = []
external_deps = []
deps = [
"../common_fuzzer:attributes_fuzzer",
"../common_fuzzer:dfx_fuzzer",
]
if (user_auth_framework_enable_dynamic_load) {
sources += [
"dynamic/src/device_manager_util.cpp",
"dynamic/src/remote_connect_manager.cpp",
]
external_deps += [
"c_utils:utils",
"hilog:libhilog",
"init:libbeget_proxy",
]
} else {
sources = [
"../../../services/remote_connect/default/src/device_manager_util.cpp",
"../../../services/remote_connect/default/src/remote_connect_listener.cpp",
"../../../services/remote_connect/default/src/remote_connect_listener_manager.cpp",
"../../../services/remote_connect/default/src/remote_connect_manager.cpp",
"../../../services/remote_connect/default/src/socket_factory.cpp",
"../../../services/remote_connect/default/src/soft_bus_base_socket.cpp",
"../../../services/remote_connect/default/src/soft_bus_client_socket.cpp",
"../../../services/remote_connect/default/src/soft_bus_manager.cpp",
"../../../services/remote_connect/default/src/soft_bus_message.cpp",
"../../../services/remote_connect/default/src/soft_bus_server_socket.cpp",
"../../../services/remote_connect/default/src/soft_bus_socket_listener.cpp",
]
external_deps = [
"access_token:libtoken_setproc",
"c_utils:utils",
"device_manager:devicemanagersdk",
"dsoftbus:softbus_client",
"hicollie:libhicollie",
"hilog:libhilog",
"init:libbegetutil",
"ipc:ipc_single",
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
include_dirs += [ "../../../services/remote_connect/default/inc" ]
}
public_configs = [ "../../../services:userauth_services_config" ]
configs = [
"../../../services:userauth_services_config",
"../../../common:iam_utils_config",
"../../../common:iam_log_config",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("userauth_services_ipc_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [
"../../../services/ipc/inc",
"../dummy",
"../../../frameworks/common/inc",
"../../../frameworks/native/client/inc",
]
remove_configs = [ "//build/config/compiler:no_exceptions" ]
sources = [
"../../../frameworks/common/src/user_auth_helper.cpp",
"../../../services/ipc/src/co_auth_service.cpp",
"../../../services/ipc/src/executor_messenger_service.cpp",
"../../../services/ipc/src/hdi_message_callback_service.cpp",
"../../../services/ipc/src/service_init_manager.cpp",
"../../../services/ipc/src/template_cache_manager.cpp",
"../../../services/ipc/src/user_auth_service.cpp",
"../../../services/ipc/src/user_idm_service.cpp",
"../dummy/mock_ipc_common.cpp",
]
public_configs =
[ "../../../frameworks/native/ipc:userauth_client_ipc_config" ]
deps = [
"../../../frameworks/native/ipc:userauth_service_ipc_fuzzer",
"../common_fuzzer:attributes_fuzzer",
"../common_fuzzer:dfx_fuzzer",
"../common_fuzzer:iam_utils_fuzzer",
"../common_fuzzer:userauth_service_context_fuzzer",
"../common_fuzzer:userauth_service_remote_connect_fuzzer",
]
external_deps = [
"ability_runtime:app_manager",
"access_token:libaccesstoken_sdk",
"c_utils:utils",
"drivers_interface_user_auth:libuser_auth_proxy_4.0",
"drivers_interface_user_auth:libuser_auth_proxy_4.1",
"hdf_core:libhdf_utils",
"hdf_core:libhdi",
"hicollie:libhicollie",
"hilog:libhilog",
"hitrace:hitrace_meter",
"init:libbegetutil",
"ipc:ipc_single",
"libuv:uv",
"napi:ace_napi",
"node:node_header_notice",
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
if (has_os_account_part) {
cflags_cc = [ "-DHAS_OS_ACCOUNT_PART" ]
external_deps += [ "os_account:os_account_innerkits" ]
}
configs = [
"../../../services:userauth_services_config",
"../../../common:iam_log_config",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("iam_thread_pool_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [
"thread_pool",
"../../../common/logs",
]
sources = [ "thread_pool/thread_groups.cpp" ]
external_deps = [
"c_utils:utils",
"hicollie:libhicollie",
"hilog:libhilog",
]
public_configs = [ "../../../common:iam_thread_pool_config" ]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("iam_utils_fuzzer") {
branch_protector_ret = "pac_ret"
include_dirs = [
"../../../common/utils",
"../../../common/logs",
]
sources = [
"../../../common/utils/iam_time.cpp",
"../../../common/utils/relative_timer.cpp",
"../../../common/utils/system_param_manager.cpp",
"../../../common/utils/xcollie_helper.cpp",
]
external_deps = [
"c_utils:utils",
"hicollie:libhicollie",
"hilog:libhilog",
"init:libbegetutil",
]
public_configs = [
"../../../common:iam_utils_config",
"../../../common:iam_log_config",
]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}
ohos_source_set("iam_test_fuzzer") {
testonly = true
include_dirs = [ "../../../common/logs" ]
external_deps = [
"c_utils:utils",
"hicollie:libhicollie",
"hilog:libhilog",
]
public_configs = [ "../../../common:iam_test_config" ]
sources = [ "../../../common/test/iam_fuzz_test.cpp" ]
subsystem_name = "useriam"
part_name = "user_auth_framework"
}