• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021-2022 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/device_auth/deviceauth_env.gni")
15
16group_auth_path = "${services_path}/group_auth"
17authenticators_path = "${services_path}/authenticators"
18protocol_path = "${services_path}/protocol"
19data_manager_path = "${services_path}/data_manager"
20dev_frameworks_path = "${services_path}/frameworks"
21group_manager_path = "${services_path}/group_manager"
22
23enable_broadcast = true
24declare_args() {
25  deviceauth_hichain_thread_stack_size = 8192
26}
27deviceauth_defines = []
28
29inc_path = [
30  "${innerkits_path}",
31  "${frameworks_path}/inc",
32  "${data_manager_path}/inc",
33  "${group_auth_path}/inc",
34  "${group_auth_path}/inc/account_unrelated_group_auth",
35  "${group_auth_path}/inc/account_related_group_auth",
36  "${group_auth_path}/inc/session",
37  "${group_auth_path}/inc/session/auth_session",
38  "${group_auth_path}/inc/session/auth_session_lite",
39  "${group_manager_path}/inc",
40  "${group_manager_path}/inc/broadcast_manager",
41  "${group_manager_path}/inc/callback_manager",
42  "${group_manager_path}/inc/channel_manager",
43  "${group_manager_path}/inc/channel_manager/soft_bus_channel",
44  "${group_manager_path}/inc/session",
45  "${group_manager_path}/inc/session/bind_session",
46  "${dev_frameworks_path}/inc/",
47  "${dev_frameworks_path}/inc/module",
48  "${dev_frameworks_path}/inc/session",
49  "${dev_frameworks_path}/inc/os_account_adapter",
50  "${dev_frameworks_path}/inc/task_manager",
51  "${authenticators_path}/inc/account_related",
52  "${authenticators_path}/inc/account_unrelated",
53  "${authenticators_path}/inc/account_unrelated/iso_task",
54  "${authenticators_path}/inc/account_unrelated/iso_task/iso_protocol_task",
55  "${authenticators_path}/inc/account_unrelated/iso_task/lite_exchange_task",
56  "${authenticators_path}/inc/account_unrelated/pake_task",
57  "${authenticators_path}/inc/account_unrelated/pake_task/pake_v1_task",
58  "${authenticators_path}/inc/account_unrelated/pake_task/pake_v2_task",
59  "${protocol_path}/inc",
60  "${protocol_path}/inc/pake_protocol",
61  "${protocol_path}/inc/pake_protocol/pake_v1_protocol",
62  "${protocol_path}/inc/pake_protocol/pake_v2_protocol",
63  "${protocol_path}/inc/pake_protocol/pake_protocol_dl_common",
64  "${protocol_path}/inc/pake_protocol/pake_protocol_ec_common",
65  "${protocol_path}/inc/iso_protocol",
66]
67
68deviceauth_common_files = [
69  "${services_path}/device_auth.c",
70  "${group_auth_path}/src/session/auth_session_common_util.c",
71  "${group_manager_path}/src/group_manager_common.c",
72  "${group_manager_path}/src/group_manager.c",
73  "${group_manager_path}/src/session/bind_session_common_util.c",
74  "${group_manager_path}/src/channel_manager/channel_manager.c",
75  "${group_manager_path}/src/callback_manager/callback_manager.c",
76  "${protocol_path}/src/protocol_common.c",
77  "${protocol_path}/src/iso_protocol/iso_protocol_common.c",
78  "${protocol_path}/src/pake_protocol/pake_common.c",
79  "${protocol_path}/src/pake_protocol/pake_v1_protocol/pake_v1_protocol_common.c",
80  "${protocol_path}/src/pake_protocol/pake_protocol_dl_common/pake_protocol_dl_common.c",
81  "${protocol_path}/src/pake_protocol/pake_protocol_ec_common/pake_protocol_ec_common.c",
82  "${protocol_path}/src/pake_protocol/pake_v2_protocol/pake_v2_protocol_common.c",
83]
84
85dev_frameworks_files = [
86  "${dev_frameworks_path}/src/session/session_common.c",
87  "${dev_frameworks_path}/src/session/session_manager.c",
88  "${dev_frameworks_path}/src/module/dev_auth_module_manager.c",
89  "${dev_frameworks_path}/src/module/version_util.c",
90  "${dev_frameworks_path}/src/task_manager/task_manager.c",
91]
92
93os_account_adapter_files =
94    [ "${dev_frameworks_path}/src/os_account_adapter/os_account_adapter.cpp" ]
95
96os_account_adapter_lite_files = [ "${dev_frameworks_path}/src/os_account_adapter_mock/os_account_adapter_mock.cpp" ]
97
98permission_adapter_files =
99    [ "${dev_frameworks_path}/src/permission_adapter/permission_adapter.cpp" ]
100
101hiview_adapter_files = [
102  "${dev_frameworks_path}/src/hiview_adapter/hidump_adapter.c",
103  "${dev_frameworks_path}/src/hiview_adapter/hisysevent_adapter.cpp",
104  "${dev_frameworks_path}/src/hiview_adapter/dev_auth_hievent.c",
105  "${dev_frameworks_path}/src/hiview_adapter/hitrace_adapter.cpp",
106]
107
108hiview_adapter_mock_files =
109    [ "${dev_frameworks_path}/src/hiview_adapter/hiview_mock.c" ]
110
111group_auth_files = [
112  "${group_auth_path}/src/group_auth_manager/group_auth_data_operation.c",
113  "${group_auth_path}/src/group_auth_manager/group_auth_manager.c",
114  "${group_auth_path}/src/session/auth_session/auth_session_client.c",
115  "${group_auth_path}/src/session/auth_session/auth_session_common.c",
116  "${group_auth_path}/src/session/auth_session/auth_session_server.c",
117  "${group_auth_path}/src/session/auth_session/auth_session_util.c",
118]
119
120group_auth_account_unrelated_files = [ "${group_auth_path}/src/group_auth_manager/account_unrelated_group_auth/account_unrelated_group_auth.c" ]
121group_auth_account_unrelated_mock_files = [ "${group_auth_path}/src/group_auth_manager/account_unrelated_group_auth_mock/account_unrelated_group_auth_mock.c" ]
122group_auth_account_related_mock_files = [ "${group_auth_path}/src/group_auth_manager/account_related_group_auth_mock/account_related_group_auth_mock.c" ]
123
124database_manager_files = [ "${data_manager_path}/src/data_manager.c" ]
125
126group_manager_files = [
127  "${group_manager_path}/src/group_operation/group_operation.c",
128  "${group_manager_path}/src/group_operation/group_operation_common.c",
129  "${group_manager_path}/src/session/bind_session/bind_session_client.c",
130  "${group_manager_path}/src/session/bind_session/bind_session_common.c",
131  "${group_manager_path}/src/session/bind_session/bind_session_server.c",
132]
133
134group_manager_peer_to_peer_files = [ "${group_manager_path}/src/group_operation/peer_to_peer_group/peer_to_peer_group.c" ]
135group_manager_peer_to_peer_mock_files = [ "${group_manager_path}/src/group_operation/peer_to_peer_group_mock/peer_to_peer_group_mock.c" ]
136group_manager_identical_account_mock_files = [ "${group_manager_path}/src/group_operation/identical_account_group_mock/identical_account_group_mock.c" ]
137group_manager_across_account_mock_files = [ "${group_manager_path}/src/group_operation/across_account_group_mock/across_account_group_mock.c" ]
138
139authenticators_p2p_files = [
140  "${authenticators_path}/src/account_unrelated/das_task_common.c",
141  "${authenticators_path}/src/account_unrelated/das_module.c",
142  "${authenticators_path}/src/account_unrelated/das_version_util.c",
143  "${authenticators_path}/src/account_unrelated/das_task_main.c",
144  "${authenticators_path}/src/account_unrelated/pake_task/pake_task_common.c",
145  "${authenticators_path}/src/account_unrelated/pake_task/pake_message_util.c",
146]
147authenticators_p2p_mock_files =
148    [ "${authenticators_path}/src/account_unrelated_mock/das_module_mock.c" ]
149authenticators_account_related_mock_files =
150    [ "${authenticators_path}/src/account_related_mock/account_module_mock.c" ]
151authenticators_p2p_iso_files = [
152  "${authenticators_path}/src/account_unrelated/iso_task/iso_client_task.c",
153  "${authenticators_path}/src/account_unrelated/iso_task/iso_server_task.c",
154  "${authenticators_path}/src/account_unrelated/iso_task/iso_task_common.c",
155  "${authenticators_path}/src/account_unrelated/iso_task/iso_task_main.c",
156  "${authenticators_path}/src/account_unrelated/iso_task/iso_protocol_task/iso_client_protocol_task.c",
157  "${authenticators_path}/src/account_unrelated/iso_task/iso_protocol_task/iso_server_protocol_task.c",
158  "${authenticators_path}/src/account_unrelated/iso_task/lite_exchange_task/das_lite_token_manager.c",
159  "${authenticators_path}/src/account_unrelated/iso_task/lite_exchange_task/iso_client_bind_exchange_task.c",
160  "${authenticators_path}/src/account_unrelated/iso_task/lite_exchange_task/iso_client_unbind_exchange_task.c",
161  "${authenticators_path}/src/account_unrelated/iso_task/lite_exchange_task/iso_server_bind_exchange_task.c",
162  "${authenticators_path}/src/account_unrelated/iso_task/lite_exchange_task/iso_server_unbind_exchange_task.c",
163]
164authenticators_p2p_iso_mock_files = [ "${authenticators_path}/src/account_unrelated/iso_task_mock/iso_task_main_mock.c" ]
165authenticators_p2p_pake_files = [
166  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task/pake_v1_task_main.c",
167  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task/pake_v1_client_task.c",
168  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task/pake_v1_server_task.c",
169  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task/pake_v1_protocol_task/pake_v1_client_protocol_task.c",
170  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task/pake_v1_protocol_task/pake_v1_server_protocol_task.c",
171  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task/pake_v1_protocol_task/pake_v1_protocol_task_common.c",
172
173  "${authenticators_path}/src/account_unrelated/pake_task/pake_v2_task_mock/pake_v2_task_main_mock.c",
174]
175authenticators_p2p_pake_mock_files = [
176  "${authenticators_path}/src/account_unrelated/pake_task/pake_v1_task_mock/pake_v1_task_main_mock.c",
177  "${authenticators_path}/src/account_unrelated/pake_task/pake_v2_task_mock/pake_v2_task_main_mock.c",
178]
179
180authenticators_standard_exchange_task_files = [
181  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/common_standard_bind_exchange.c",
182  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/common_standard_unbind_exchange.c",
183  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/standard_client_bind_exchange_task.c",
184  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/standard_client_unbind_exchange_task.c",
185  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/standard_server_bind_exchange_task.c",
186  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/standard_server_unbind_exchange_task.c",
187  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/das_standard_token_manager.c",
188  "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task/standard_exchange_message_util.c",
189]
190authenticators_standard_exchange_task_mock_files = [ "${authenticators_path}/src/account_unrelated/pake_task/standard_exchange_task_mock/standard_exchange_task_mock.c" ]
191
192soft_bus_channel_files = [ "${group_manager_path}/src/channel_manager/soft_bus_channel/soft_bus_channel.c" ]
193soft_bus_channel_mock_files = [ "${group_manager_path}/src/channel_manager/soft_bus_channel_mock/soft_bus_channel_mock.c" ]
194
195broadcast_manager_files =
196    [ "${group_manager_path}/src/broadcast_manager/broadcast_manager.c" ]
197broadcast_manager_mock_files =
198    [ "${group_manager_path}/src/broadcast_manager/broadcast_manager_mock.c" ]
199
200deviceauth_files = dev_frameworks_files + deviceauth_common_files
201
202if (enable_p2p_pake_dl_prime_len_384 == true) {
203  deviceauth_defines += [ "P2P_PAKE_DL_PRIME_LEN_384" ]
204}
205if (enable_p2p_pake_dl_prime_len_256 == true) {
206  deviceauth_defines += [ "P2P_PAKE_DL_PRIME_LEN_256" ]
207}
208
209deviceauth_files +=
210    group_auth_files + group_manager_files + database_manager_files
211
212account_unrelated_deviceauth =
213    enable_p2p_bind_lite_protocol || enable_p2p_auth_lite_protocol ||
214    enable_p2p_bind_standard_protocol || enable_p2p_auth_standard_protocol
215
216if (account_unrelated_deviceauth == true) {
217  deviceauth_files +=
218      group_auth_account_unrelated_files + group_manager_peer_to_peer_files
219} else {
220  deviceauth_files += group_auth_account_unrelated_mock_files +
221                      group_manager_peer_to_peer_mock_files
222}
223
224if (account_unrelated_deviceauth == true) {
225  deviceauth_files += authenticators_p2p_files
226} else {
227  deviceauth_files += authenticators_p2p_mock_files
228}
229
230if (enable_p2p_auth_lite_protocol == true) {
231  deviceauth_files += authenticators_p2p_iso_files
232} else {
233  deviceauth_files += authenticators_p2p_iso_mock_files
234}
235
236if (enable_p2p_bind_standard_protocol == true ||
237    enable_p2p_auth_standard_protocol == true) {
238  deviceauth_defines += [ "P2P_PAKE_EC_TYPE" ]
239  deviceauth_files += authenticators_p2p_pake_files
240} else {
241  deviceauth_files += authenticators_p2p_pake_mock_files
242}
243
244if (enable_p2p_auth_standard_protocol == true) {
245  deviceauth_files += authenticators_standard_exchange_task_files
246} else {
247  deviceauth_files += authenticators_standard_exchange_task_mock_files
248}
249
250if (enable_account == true) {
251  import("//base/security/device_auth/services/deviceauth_account.gni")
252  deviceauth_defines += account_related_defines
253  inc_path += account_related_inc_path
254  deviceauth_files += account_related_files
255} else {
256  deviceauth_files += group_auth_account_related_mock_files +
257                      group_manager_identical_account_mock_files +
258                      group_manager_across_account_mock_files +
259                      authenticators_account_related_mock_files
260}
261
262if (enable_soft_bus_channel == true) {
263  deviceauth_files += soft_bus_channel_files
264} else {
265  deviceauth_files += soft_bus_channel_mock_files
266}
267
268if (enable_broadcast == true) {
269  deviceauth_files += broadcast_manager_files
270} else {
271  deviceauth_files += broadcast_manager_mock_files
272}
273
274if (defined(ohos_lite)) {
275  deviceauth_files += os_account_adapter_lite_files
276} else {
277  deviceauth_files += os_account_adapter_files
278}
279
280#build_flags = [ "-Wrestrict" ]
281build_flags = [ "-Werror" ]
282
283if (target_os == "linux") {
284  build_flags += [ "-D__LINUX__" ]
285}
286
287ipc_src_suffix = "cpp"
288ipc_adapt_path = "standard"
289if (defined(ohos_lite)) {
290  ipc_src_suffix = "c"
291  ipc_adapt_path = "lite"
292}
293
294deviceauth_ipc_files = [
295  "${frameworks_path}/src/${ipc_adapt_path}/ipc_adapt.${ipc_src_suffix}",
296  "${frameworks_path}/src/${ipc_adapt_path}/ipc_dev_auth_proxy.${ipc_src_suffix}",
297  "${frameworks_path}/src/${ipc_adapt_path}/ipc_dev_auth_stub.${ipc_src_suffix}",
298  "${frameworks_path}/src/${ipc_adapt_path}/ipc_callback_proxy.${ipc_src_suffix}",
299  "${frameworks_path}/src/${ipc_adapt_path}/ipc_callback_stub.${ipc_src_suffix}",
300]
301