1# Copyright (c) 2023 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("//base/security/security_guard/security_guard.gni") 15import("//build/ohos.gni") 16 17ohos_shared_library("sg_collect_service") { 18 subsystem_name = "security" 19 part_name = "security_guard" 20 version_script = "sg_collect_service.map" 21 22 configs = [ 23 "${sg_root_dir}/services/risk_classify:security_guard_model_configs", 24 "${sg_root_dir}/resource/config/build:coverage_flags", 25 ] 26 27 defines = [] 28 defines += [ 29 "SECURITY_GUARD_EVENT_CFG_SOURCE = \"${security_guard_event_cfg_source}\"", 30 "SECURITY_GUARD_MODEL_CFG_SOURCE = \"${security_guard_model_cfg_source}\"", 31 "SECURITY_GUARD_EVENT_GROUP_CFG_SOURCE = \"${security_guard_event_group_cfg_source}\"", 32 "SECURITY_GUARD_CONFIG_UPDATE_TRUST_LIST_SOURCE = \"${security_guard_config_update_trust_list_source}\"", 33 "SECURITY_GUARD_COLLECTOR_CFG_SOURCE = \"${security_guard_collector_cfg_source}\"", 34 ] 35 if (security_guard_trim_model_analysis) { 36 defines += [ "SECURITY_GUARD_TRIM_MODEL_ANALYSIS" ] 37 } 38 include_dirs = [ 39 "${sg_root_dir}/interfaces/inner_api/collect/include", 40 "${sg_root_dir}/frameworks/common/collect/include", 41 "${sg_root_dir}/interfaces/inner_api/collector/include", 42 "${sg_root_dir}/frameworks/common/collector/include", 43 44 "${sg_root_dir}/interfaces/inner_api/common/include", 45 "${sg_root_dir}/interfaces/inner_api/classify/include", 46 "${sg_root_dir}/frameworks/common/classify/include", 47 "${sg_root_dir}/services/bigdata/include", 48 "${sg_root_dir}/services/config_manager/include", 49 "${sg_root_dir}/services/data_collect/sa/include", 50 "${sg_root_dir}/services/data_collect/store/include", 51 "${sg_root_dir}/frameworks/common/constants/include", 52 "${sg_root_dir}/frameworks/common/json/include", 53 "${sg_root_dir}/frameworks/common/task_handler/include", 54 "${sg_root_dir}/frameworks/common/database/include", 55 "${sg_root_dir}/frameworks/common/log/include", 56 "${sg_root_dir}/frameworks/common/utils/include", 57 "${sg_root_dir}/services/collector_manager/include", 58 "${sg_root_dir}/services/risk_classify/model_manager/include", 59 ] 60 61 sources = [ 62 "${sg_root_dir}/frameworks/common/collect/src/security_event_filter.cpp", 63 "${sg_root_dir}/frameworks/common/collector/src/security_collector_event_filter.cpp", 64 "${sg_root_dir}/frameworks/common/collector/src/security_collector_subscribe_info.cpp", 65 "${sg_root_dir}/frameworks/common/json/src/json_cfg.cpp", 66 "${sg_root_dir}/frameworks/common/utils/src/security_guard_utils.cpp", 67 "${sg_root_dir}/services/data_collect/sa/acquire_data_callback_proxy.cpp", 68 "${sg_root_dir}/services/data_collect/sa/acquire_data_subscribe_manager.cpp", 69 "${sg_root_dir}/services/data_collect/sa/data_collect_manager_callback_proxy.cpp", 70 "${sg_root_dir}/services/data_collect/sa/data_collect_manager_service.cpp", 71 "${sg_root_dir}/services/data_collect/sa/data_collect_manager_stub.cpp", 72 "${sg_root_dir}/services/data_collect/sa/data_format.cpp", 73 "${sg_root_dir}/services/data_collect/sa/security_event_query_callback_proxy.cpp", 74 "${sg_root_dir}/services/data_collect/store/src/database_helper.cpp", 75 "${sg_root_dir}/services/data_collect/store/src/database_manager.cpp", 76 "${sg_root_dir}/services/data_collect/store/src/file_system_store_helper.cpp", 77 "${sg_root_dir}/services/data_collect/store/src/risk_event_rdb_helper.cpp", 78 ] 79 80 sanitize = { 81 integer_overflow = true 82 ubsan = true 83 boundary_sanitize = true 84 cfi = true 85 cfi_cross_dso = true 86 debug = false 87 } 88 branch_protector_ret = "pac_ret" 89 90 deps = [ 91 "${sg_root_dir}/frameworks/common/collector:libsg_collector_sdk", 92 "${sg_root_dir}/services/bigdata:sg_bigdata_stamp", 93 "${sg_root_dir}/services/collector_manager:security_collector_manager", 94 "${sg_root_dir}/services/config_manager:sg_config_manager", 95 "${sg_root_dir}/services/data_collect:sg_collect_service_database", 96 "${sg_root_dir}/services/risk_classify/model_manager:sg_model_manager_stamp", 97 ] 98 99 external_deps = [ 100 "access_token:libaccesstoken_sdk", 101 "access_token:libtokenid_sdk", 102 "c_utils:utils", 103 "ffrt:libffrt", 104 "hilog:libhilog", 105 "hisysevent:libhisysevent", 106 "hisysevent:libhisyseventmanager", 107 "ipc:ipc_core", 108 "json:nlohmann_json_static", 109 "relational_store:native_rdb", 110 "safwk:system_ability_fwk", 111 "samgr:samgr_proxy", 112 "zlib:libz", 113 ] 114} 115 116ohos_shared_library("sg_collect_service_database") { 117 subsystem_name = "security" 118 part_name = "security_guard" 119 120 configs = [ 121 "${sg_root_dir}/services/risk_classify:security_guard_model_configs", 122 "${sg_root_dir}/resource/config/build:coverage_flags", 123 ] 124 125 include_dirs = [ 126 "${sg_root_dir}/frameworks/common/database/include", 127 "${sg_root_dir}/frameworks/common/log/include", 128 "${sg_root_dir}/services/data_collect/store/include", 129 "${sg_root_dir}/interfaces/inner_api/classify/include", 130 "${sg_root_dir}/frameworks/common/classify/include", 131 ] 132 133 sources = [ 134 "${sg_root_dir}/services/data_collect/store/src/database.cpp", 135 "${sg_root_dir}/services/data_collect/store/src/rdb_event_store_callback.cpp", 136 ] 137 138 sanitize = { 139 integer_overflow = true 140 ubsan = true 141 boundary_sanitize = true 142 cfi = true 143 cfi_cross_dso = true 144 debug = false 145 } 146 branch_protector_ret = "pac_ret" 147 148 deps = [] 149 150 external_deps = [ 151 "c_utils:utils", 152 "hilog:libhilog", 153 "relational_store:native_rdb", 154 ] 155} 156