12ee81decSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 22ee81decSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 32ee81decSopenharmony_ci# you may not use this file except in compliance with the License. 42ee81decSopenharmony_ci# You may obtain a copy of the License at 52ee81decSopenharmony_ci# 62ee81decSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 72ee81decSopenharmony_ci# 82ee81decSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 92ee81decSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 102ee81decSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 112ee81decSopenharmony_ci# See the License for the specific language governing permissions and 122ee81decSopenharmony_ci# limitations under the License. 132ee81decSopenharmony_ci 142ee81decSopenharmony_ciimport("//base/security/device_security_level/common/dslm.gni") 152ee81decSopenharmony_ciimport("//build/ohos.gni") 162ee81decSopenharmony_ci 172ee81decSopenharmony_ci# sa lib 182ee81decSopenharmony_ciif (defined(ohos_lite)) { 192ee81decSopenharmony_ci group("dslm_service") { 202ee81decSopenharmony_ci } 212ee81decSopenharmony_ci if (ohos_kernel_type == "liteos_a" || ohos_kernel_type == "linux") { 222ee81decSopenharmony_ci ohos_static_library("service_sa_static") { 232ee81decSopenharmony_ci sources = [ "common/dslm_rpc_process.c" ] 242ee81decSopenharmony_ci 252ee81decSopenharmony_ci include_dirs = [ 262ee81decSopenharmony_ci "common", 272ee81decSopenharmony_ci "../dslm", 282ee81decSopenharmony_ci "../include", 292ee81decSopenharmony_ci "../../common/include", 302ee81decSopenharmony_ci "../../interfaces/inner_api/include", 312ee81decSopenharmony_ci "../../oem_property/include", 322ee81decSopenharmony_ci ] 332ee81decSopenharmony_ci 342ee81decSopenharmony_ci deps = [ 352ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_shared", 362ee81decSopenharmony_ci "$dslm_lite_component_path/cJSON:cjson_static", 372ee81decSopenharmony_ci "$dslm_samgr_path/samgr_lite/samgr:samgr", 382ee81decSopenharmony_ci "../../baselib/utils:utils_static", 392ee81decSopenharmony_ci "../common:service_common_obj", 402ee81decSopenharmony_ci "../dslm:service_dslm_obj", 412ee81decSopenharmony_ci "../msg:service_msg_obj", 422ee81decSopenharmony_ci ] 432ee81decSopenharmony_ci 442ee81decSopenharmony_ci configs = [ 452ee81decSopenharmony_ci "../../common:common_configs", 462ee81decSopenharmony_ci "../../common:common_lite_configs", 472ee81decSopenharmony_ci ] 482ee81decSopenharmony_ci 492ee81decSopenharmony_ci part_name = "device_security_level" 502ee81decSopenharmony_ci subsystem_name = "security" 512ee81decSopenharmony_ci } 522ee81decSopenharmony_ci 532ee81decSopenharmony_ci ohos_executable("dslm_server") { 542ee81decSopenharmony_ci sources = [ 552ee81decSopenharmony_ci "lite/dslm_service.c", 562ee81decSopenharmony_ci "lite/small/dslm_ipc_process.c", 572ee81decSopenharmony_ci "lite/small/dslm_service_feature.c", 582ee81decSopenharmony_ci "lite/small/dslm_service_main.c", 592ee81decSopenharmony_ci ] 602ee81decSopenharmony_ci 612ee81decSopenharmony_ci include_dirs = [ 622ee81decSopenharmony_ci "common", 632ee81decSopenharmony_ci "lite/small", 642ee81decSopenharmony_ci "../include", 652ee81decSopenharmony_ci "../../baselib/utils/include", 662ee81decSopenharmony_ci "../../interfaces/inner_api/include", 672ee81decSopenharmony_ci ] 682ee81decSopenharmony_ci 692ee81decSopenharmony_ci deps = [ 702ee81decSopenharmony_ci ":service_sa_static", 712ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_shared", 722ee81decSopenharmony_ci "$dslm_ipc_path/interfaces/innerkits/c/ipc:ipc_single", 732ee81decSopenharmony_ci "$dslm_lite_component_path/cJSON:cjson_shared", 742ee81decSopenharmony_ci "$dslm_samgr_path/samgr_lite/samgr:samgr", 752ee81decSopenharmony_ci "../../oem_property/ohos/lite:dslm_ohos_cred_obj", 762ee81decSopenharmony_ci ] 772ee81decSopenharmony_ci } 782ee81decSopenharmony_ci } else if (ohos_kernel_type == "liteos_m") { 792ee81decSopenharmony_ci ohos_source_set("service_sa_obj") { 802ee81decSopenharmony_ci sources = [ "common/dslm_rpc_process.c" ] 812ee81decSopenharmony_ci 822ee81decSopenharmony_ci include_dirs = [ 832ee81decSopenharmony_ci "common", 842ee81decSopenharmony_ci "../dslm", 852ee81decSopenharmony_ci "../include", 862ee81decSopenharmony_ci "../../common/include", 872ee81decSopenharmony_ci "../../interfaces/inner_api/include", 882ee81decSopenharmony_ci "../../oem_property/include", 892ee81decSopenharmony_ci "../../oem_property/ohos/lite", 902ee81decSopenharmony_ci ] 912ee81decSopenharmony_ci 922ee81decSopenharmony_ci deps = [ 932ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_static", 942ee81decSopenharmony_ci "$dslm_lite_component_path/cJSON:cjson_shared", 952ee81decSopenharmony_ci "$dslm_samgr_path/samgr_lite/samgr:samgr", 962ee81decSopenharmony_ci "../../baselib/utils:utils_static", 972ee81decSopenharmony_ci "../common:service_common_obj", 982ee81decSopenharmony_ci "../dslm:service_dslm_obj", 992ee81decSopenharmony_ci "../msg:service_msg_obj", 1002ee81decSopenharmony_ci ] 1012ee81decSopenharmony_ci 1022ee81decSopenharmony_ci configs = [ 1032ee81decSopenharmony_ci "../../common:common_configs", 1042ee81decSopenharmony_ci "../../common:common_lite_configs", 1052ee81decSopenharmony_ci ] 1062ee81decSopenharmony_ci 1072ee81decSopenharmony_ci part_name = "device_security_level" 1082ee81decSopenharmony_ci subsystem_name = "security" 1092ee81decSopenharmony_ci } 1102ee81decSopenharmony_ci 1112ee81decSopenharmony_ci ohos_static_library("dslm_server") { 1122ee81decSopenharmony_ci sources = [ 1132ee81decSopenharmony_ci "lite/dslm_service.c", 1142ee81decSopenharmony_ci "lite/mini/dslm_inner_process.c", 1152ee81decSopenharmony_ci "lite/mini/dslm_service_feature.c", 1162ee81decSopenharmony_ci ] 1172ee81decSopenharmony_ci 1182ee81decSopenharmony_ci include_dirs = [ 1192ee81decSopenharmony_ci "common", 1202ee81decSopenharmony_ci "lite/mini", 1212ee81decSopenharmony_ci "../include", 1222ee81decSopenharmony_ci "../../baselib/utils/include", 1232ee81decSopenharmony_ci "../../interfaces/inner_api/include", 1242ee81decSopenharmony_ci "../../interfaces/inner_api/src/lite/include", 1252ee81decSopenharmony_ci ] 1262ee81decSopenharmony_ci 1272ee81decSopenharmony_ci configs = [ 1282ee81decSopenharmony_ci "../../common:common_configs", 1292ee81decSopenharmony_ci "../../common:common_lite_configs", 1302ee81decSopenharmony_ci ] 1312ee81decSopenharmony_ci 1322ee81decSopenharmony_ci deps = [ 1332ee81decSopenharmony_ci ":service_sa_obj", 1342ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_static", 1352ee81decSopenharmony_ci "$dslm_lite_component_path/cJSON:cjson_static", 1362ee81decSopenharmony_ci "$dslm_samgr_path/samgr_lite/samgr:samgr", 1372ee81decSopenharmony_ci "../../oem_property/ohos/lite:dslm_ohos_cred_obj", 1382ee81decSopenharmony_ci ] 1392ee81decSopenharmony_ci } 1402ee81decSopenharmony_ci } 1412ee81decSopenharmony_ci} else { 1422ee81decSopenharmony_ci config("dslm_service_config") { 1432ee81decSopenharmony_ci include_dirs = [ "../../oem_property/include" ] 1442ee81decSopenharmony_ci } 1452ee81decSopenharmony_ci declare_args() { 1462ee81decSopenharmony_ci device_security_level_feature_plugin_path = "" 1472ee81decSopenharmony_ci } 1482ee81decSopenharmony_ci ohos_shared_library("dslm_service") { 1492ee81decSopenharmony_ci shlib_type = "sa" 1502ee81decSopenharmony_ci version_script = "dslm.versionscript" 1512ee81decSopenharmony_ci 1522ee81decSopenharmony_ci sanitize = { 1532ee81decSopenharmony_ci integer_overflow = true 1542ee81decSopenharmony_ci ubsan = true 1552ee81decSopenharmony_ci boundary_sanitize = true 1562ee81decSopenharmony_ci cfi = true 1572ee81decSopenharmony_ci cfi_cross_dso = true 1582ee81decSopenharmony_ci blocklist = "../../cfi_blocklist.txt" 1592ee81decSopenharmony_ci } 1602ee81decSopenharmony_ci branch_protector_ret = "pac_ret" 1612ee81decSopenharmony_ci 1622ee81decSopenharmony_ci sources = [ 1632ee81decSopenharmony_ci "common/dslm_rpc_process.c", 1642ee81decSopenharmony_ci "standard/dslm_callback_proxy.cpp", 1652ee81decSopenharmony_ci "standard/dslm_ipc_process.cpp", 1662ee81decSopenharmony_ci "standard/dslm_service.cpp", 1672ee81decSopenharmony_ci ] 1682ee81decSopenharmony_ci 1692ee81decSopenharmony_ci include_dirs = [ 1702ee81decSopenharmony_ci "common", 1712ee81decSopenharmony_ci "../dslm", 1722ee81decSopenharmony_ci "../include", 1732ee81decSopenharmony_ci "../../common/include", 1742ee81decSopenharmony_ci "../../interfaces/inner_api/include", 1752ee81decSopenharmony_ci ] 1762ee81decSopenharmony_ci 1772ee81decSopenharmony_ci deps = [ 1782ee81decSopenharmony_ci "../../baselib/utils:utils_static", 1792ee81decSopenharmony_ci "../../oem_property:dslm_oem_ext", 1802ee81decSopenharmony_ci "../common:service_common_obj", 1812ee81decSopenharmony_ci "../dfx:dslm_extension_dfx", 1822ee81decSopenharmony_ci "../dslm:service_dslm_obj", 1832ee81decSopenharmony_ci "../msg:service_msg_obj", 1842ee81decSopenharmony_ci ] 1852ee81decSopenharmony_ci 1862ee81decSopenharmony_ci if (device_security_level_feature_plugin_path != "") { 1872ee81decSopenharmony_ci defines = 1882ee81decSopenharmony_ci [ "PLUGIN_SO_PATH=\"${device_security_level_feature_plugin_path}\"" ] 1892ee81decSopenharmony_ci 1902ee81decSopenharmony_ci deps -= [ "../../oem_property:dslm_oem_ext" ] 1912ee81decSopenharmony_ci 1922ee81decSopenharmony_ci sources += [ "../../oem_property/common/dslm_credential.c" ] 1932ee81decSopenharmony_ci 1942ee81decSopenharmony_ci include_dirs += [ "../../oem_property/include" ] 1952ee81decSopenharmony_ci } 1962ee81decSopenharmony_ci 1972ee81decSopenharmony_ci external_deps = [ 1982ee81decSopenharmony_ci "c_utils:utils", 1992ee81decSopenharmony_ci "hilog:libhilog", 2002ee81decSopenharmony_ci "ipc:ipc_core", 2012ee81decSopenharmony_ci "safwk:system_ability_fwk", 2022ee81decSopenharmony_ci "samgr:samgr_proxy", 2032ee81decSopenharmony_ci ] 2042ee81decSopenharmony_ci 2052ee81decSopenharmony_ci configs = [ "../../common:common_configs" ] 2062ee81decSopenharmony_ci public_configs = [ ":dslm_service_config" ] 2072ee81decSopenharmony_ci part_name = "device_security_level" 2082ee81decSopenharmony_ci subsystem_name = "security" 2092ee81decSopenharmony_ci } 2102ee81decSopenharmony_ci} 211