1 /*
2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "lnn_node_info.h"
17
18 #include <string.h>
19
20 #include <securec.h>
21
22 #include "anonymizer.h"
23 #include "lnn_log.h"
24 #include "softbus_def.h"
25 #include "softbus_errcode.h"
26 #include "softbus_utils.h"
27
28 #define DYNAMIC_LEVEL_INVALID 0xFFFF
29 #define STATIC_LEVEL_INVALID 0xFFFF
30 #define SWITCH_LEVEL_INVALID 0xFFFFFFFF
31 #define SWTICH_LENGTH_INVALID 0xFFFF
32 #define SWITCH_MAX_LENGTH 24
33
LnnHasDiscoveryType(const NodeInfo * info,DiscoveryType type)34 bool LnnHasDiscoveryType(const NodeInfo *info, DiscoveryType type)
35 {
36 if (info == NULL || type >= DISCOVERY_TYPE_COUNT) {
37 LNN_LOGE(LNN_LEDGER, "para error");
38 return false;
39 }
40 if (((uint32_t)info->discoveryType & (1 << (uint32_t)type)) != 0) {
41 return true;
42 }
43 return false;
44 }
45
LnnGetDeviceUdid(const NodeInfo * info)46 const char *LnnGetDeviceUdid(const NodeInfo *info)
47 {
48 if (info == NULL) {
49 return NULL;
50 }
51 return info->deviceInfo.deviceUdid;
52 }
53
LnnSetDeviceUdid(NodeInfo * info,const char * udid)54 int32_t LnnSetDeviceUdid(NodeInfo *info, const char *udid)
55 {
56 if (info == NULL || udid == NULL) {
57 return SOFTBUS_INVALID_PARAM;
58 }
59 if (strncpy_s(info->deviceInfo.deviceUdid, UDID_BUF_LEN, udid, strlen(udid)) != EOK) {
60 LNN_LOGE(LNN_LEDGER, "STR COPY ERROR");
61 return SOFTBUS_MEM_ERR;
62 }
63 return SOFTBUS_OK;
64 }
65
LnnGetDeviceUuid(const NodeInfo * info)66 const char *LnnGetDeviceUuid(const NodeInfo *info)
67 {
68 if (info == NULL) {
69 return NULL;
70 }
71 return info->uuid;
72 }
73
LnnSetDiscoveryType(NodeInfo * info,DiscoveryType type)74 int32_t LnnSetDiscoveryType(NodeInfo *info, DiscoveryType type)
75 {
76 if (info == NULL || type >= DISCOVERY_TYPE_COUNT) {
77 LNN_LOGE(LNN_LEDGER, "para error");
78 return SOFTBUS_INVALID_PARAM;
79 }
80 info->discoveryType = (uint32_t)info->discoveryType | (1 << (uint32_t)type);
81 return SOFTBUS_OK;
82 }
83
LnnClearDiscoveryType(NodeInfo * info,DiscoveryType type)84 int32_t LnnClearDiscoveryType(NodeInfo *info, DiscoveryType type)
85 {
86 if (info == NULL || type >= DISCOVERY_TYPE_COUNT) {
87 LNN_LOGE(LNN_LEDGER, "para error");
88 return SOFTBUS_INVALID_PARAM;
89 }
90 info->discoveryType = (uint32_t)info->discoveryType & ~(1 << (uint32_t)type);
91 return SOFTBUS_OK;
92 }
93
LnnIsNodeOnline(const NodeInfo * info)94 bool LnnIsNodeOnline(const NodeInfo *info)
95 {
96 if (info == NULL) {
97 LNN_LOGE(LNN_LEDGER, "para error");
98 return false;
99 }
100 return (info->status == STATUS_ONLINE);
101 }
102
LnnSetNodeConnStatus(NodeInfo * info,ConnectStatus status)103 void LnnSetNodeConnStatus(NodeInfo *info, ConnectStatus status)
104 {
105 if (info == NULL) {
106 LNN_LOGE(LNN_LEDGER, "para error");
107 return;
108 }
109 info->status = status;
110 }
111
LnnGetBtMac(const NodeInfo * info)112 const char *LnnGetBtMac(const NodeInfo *info)
113 {
114 if (info == NULL) {
115 LNN_LOGE(LNN_LEDGER, "para error");
116 return DEFAULT_MAC;
117 }
118 return info->connectInfo.macAddr;
119 }
120
LnnSetBtMac(NodeInfo * info,const char * mac)121 void LnnSetBtMac(NodeInfo *info, const char *mac)
122 {
123 if (info == NULL || mac == NULL) {
124 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
125 return;
126 }
127 if (strncpy_s(info->connectInfo.macAddr, MAC_LEN, mac, strlen(mac)) != EOK) {
128 LNN_LOGE(LNN_LEDGER, "str copy error");
129 }
130 return;
131 }
132
LnnGetBleMac(const NodeInfo * info)133 const char *LnnGetBleMac(const NodeInfo *info)
134 {
135 if (info == NULL) {
136 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
137 return DEFAULT_MAC;
138 }
139 return info->connectInfo.bleMacAddr;
140 }
141
LnnSetBleMac(NodeInfo * info,const char * mac)142 void LnnSetBleMac(NodeInfo *info, const char *mac)
143 {
144 if (info == NULL || mac == NULL) {
145 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
146 return;
147 }
148 if (strcpy_s(info->connectInfo.bleMacAddr, MAC_LEN, mac) != EOK) {
149 LNN_LOGE(LNN_LEDGER, "str copy error");
150 }
151 }
152
LnnGetNetIfName(const NodeInfo * info)153 const char *LnnGetNetIfName(const NodeInfo *info)
154 {
155 if (info == NULL) {
156 LNN_LOGE(LNN_LEDGER, "para error");
157 return DEFAULT_IFNAME;
158 }
159 return info->connectInfo.netIfName;
160 }
161
LnnSetNetIfName(NodeInfo * info,const char * netIfName)162 void LnnSetNetIfName(NodeInfo *info, const char *netIfName)
163 {
164 if (info == NULL || netIfName == NULL) {
165 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
166 return;
167 }
168 if (strncpy_s(info->connectInfo.netIfName, NET_IF_NAME_LEN, netIfName, strlen(netIfName)) != EOK) {
169 LNN_LOGE(LNN_LEDGER, "str copy error");
170 }
171 }
172
LnnGetWiFiIp(const NodeInfo * info)173 const char *LnnGetWiFiIp(const NodeInfo *info)
174 {
175 if (info == NULL) {
176 LNN_LOGE(LNN_LEDGER, "PARA error");
177 return DEFAULT_IP;
178 }
179 return info->connectInfo.deviceIp;
180 }
181
LnnSetWiFiIp(NodeInfo * info,const char * ip)182 void LnnSetWiFiIp(NodeInfo *info, const char *ip)
183 {
184 if (info == NULL || ip == NULL) {
185 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
186 return;
187 }
188 if (strncpy_s(info->connectInfo.deviceIp, sizeof(info->connectInfo.deviceIp), ip, strlen(ip)) != EOK) {
189 LNN_LOGE(LNN_LEDGER, "STR COPY ERROR");
190 }
191 }
192
LnnGetMasterUdid(const NodeInfo * info)193 const char *LnnGetMasterUdid(const NodeInfo *info)
194 {
195 if (info == NULL) {
196 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
197 return NULL;
198 }
199 return info->masterUdid;
200 }
201
LnnSetMasterUdid(NodeInfo * info,const char * udid)202 int32_t LnnSetMasterUdid(NodeInfo *info, const char *udid)
203 {
204 if (info == NULL || udid == NULL) {
205 LNN_LOGE(LNN_LEDGER, "PARA ERROR");
206 return SOFTBUS_INVALID_PARAM;
207 }
208 if (strncpy_s(info->masterUdid, UDID_BUF_LEN, udid, strlen(udid)) != EOK) {
209 LNN_LOGE(LNN_LEDGER, "STR COPY ERROR");
210 return SOFTBUS_ERR;
211 }
212 return SOFTBUS_OK;
213 }
214
LnnGetAuthPort(const NodeInfo * info)215 int32_t LnnGetAuthPort(const NodeInfo *info)
216 {
217 if (info == NULL) {
218 LNN_LOGE(LNN_LEDGER, "para error");
219 return SOFTBUS_INVALID_PARAM;
220 }
221 return info->connectInfo.authPort;
222 }
223
LnnSetAuthPort(NodeInfo * info,int32_t port)224 int32_t LnnSetAuthPort(NodeInfo *info, int32_t port)
225 {
226 if (info == NULL) {
227 LNN_LOGE(LNN_LEDGER, "para error");
228 return SOFTBUS_INVALID_PARAM;
229 }
230 info->connectInfo.authPort = port;
231 return SOFTBUS_OK;
232 }
233
LnnGetSessionPort(const NodeInfo * info)234 int32_t LnnGetSessionPort(const NodeInfo *info)
235 {
236 if (info == NULL) {
237 LNN_LOGE(LNN_LEDGER, "para error");
238 return SOFTBUS_INVALID_PARAM;
239 }
240 return info->connectInfo.sessionPort;
241 }
242
LnnSetSessionPort(NodeInfo * info,int32_t port)243 int32_t LnnSetSessionPort(NodeInfo *info, int32_t port)
244 {
245 if (info == NULL) {
246 LNN_LOGE(LNN_LEDGER, "para error");
247 return SOFTBUS_INVALID_PARAM;
248 }
249 info->connectInfo.sessionPort = port;
250 return SOFTBUS_OK;
251 }
252
LnnGetProxyPort(const NodeInfo * info)253 int32_t LnnGetProxyPort(const NodeInfo *info)
254 {
255 if (info == NULL) {
256 LNN_LOGE(LNN_LEDGER, "para error");
257 return SOFTBUS_INVALID_PARAM;
258 }
259 return info->connectInfo.proxyPort;
260 }
261
LnnSetProxyPort(NodeInfo * info,int32_t port)262 int32_t LnnSetProxyPort(NodeInfo *info, int32_t port)
263 {
264 if (info == NULL) {
265 LNN_LOGE(LNN_LEDGER, "para error");
266 return SOFTBUS_INVALID_PARAM;
267 }
268 info->connectInfo.proxyPort = port;
269 return SOFTBUS_OK;
270 }
271
LnnSetP2pRole(NodeInfo * info,int32_t p2pRole)272 int32_t LnnSetP2pRole(NodeInfo *info, int32_t p2pRole)
273 {
274 if (info == NULL) {
275 LNN_LOGE(LNN_LEDGER, "invalid param");
276 return SOFTBUS_INVALID_PARAM;
277 }
278 info->p2pInfo.p2pRole = p2pRole;
279 return SOFTBUS_OK;
280 }
281
LnnGetP2pRole(const NodeInfo * info)282 int32_t LnnGetP2pRole(const NodeInfo *info)
283 {
284 if (info == NULL) {
285 LNN_LOGE(LNN_LEDGER, "invalid param");
286 return 0;
287 }
288 return info->p2pInfo.p2pRole;
289 }
290
LnnSetWifiCfg(NodeInfo * info,const char * wifiCfg)291 int32_t LnnSetWifiCfg(NodeInfo *info, const char *wifiCfg)
292 {
293 if (info == NULL || wifiCfg == NULL) {
294 LNN_LOGE(LNN_LEDGER, "invalid param");
295 return SOFTBUS_INVALID_PARAM;
296 }
297 if (strcpy_s(info->p2pInfo.wifiCfg, sizeof(info->p2pInfo.wifiCfg), wifiCfg) != EOK) {
298 LNN_LOGE(LNN_LEDGER, "strcpy_s wifi cfg err");
299 return SOFTBUS_MEM_ERR;
300 }
301 return SOFTBUS_OK;
302 }
303
LnnGetWifiCfg(const NodeInfo * info)304 const char *LnnGetWifiCfg(const NodeInfo *info)
305 {
306 if (info == NULL) {
307 LNN_LOGE(LNN_LEDGER, "invalid param");
308 return NULL;
309 }
310 return info->p2pInfo.wifiCfg;
311 }
312
LnnSetChanList5g(NodeInfo * info,const char * chanList5g)313 int32_t LnnSetChanList5g(NodeInfo *info, const char *chanList5g)
314 {
315 if (info == NULL || chanList5g == NULL) {
316 LNN_LOGE(LNN_LEDGER, "invalid param");
317 return SOFTBUS_INVALID_PARAM;
318 }
319 if (strcpy_s(info->p2pInfo.chanList5g, sizeof(info->p2pInfo.chanList5g), chanList5g) != EOK) {
320 LNN_LOGE(LNN_LEDGER, "strcpy_s chan list 5g err");
321 return SOFTBUS_MEM_ERR;
322 }
323 return SOFTBUS_OK;
324 }
325
LnnGetChanList5g(const NodeInfo * info)326 const char *LnnGetChanList5g(const NodeInfo *info)
327 {
328 if (info == NULL) {
329 LNN_LOGE(LNN_LEDGER, "invalid param");
330 return NULL;
331 }
332 return info->p2pInfo.chanList5g;
333 }
334
LnnSetStaFrequency(NodeInfo * info,int32_t staFrequency)335 int32_t LnnSetStaFrequency(NodeInfo *info, int32_t staFrequency)
336 {
337 if (info == NULL) {
338 LNN_LOGE(LNN_LEDGER, "invalid param");
339 return SOFTBUS_INVALID_PARAM;
340 }
341 info->p2pInfo.staFrequency = staFrequency;
342 return SOFTBUS_OK;
343 }
344
LnnGetStaFrequency(const NodeInfo * info)345 int32_t LnnGetStaFrequency(const NodeInfo *info)
346 {
347 if (info == NULL) {
348 LNN_LOGE(LNN_LEDGER, "invalid param");
349 return 0;
350 }
351 return info->p2pInfo.staFrequency;
352 }
353
LnnSetP2pMac(NodeInfo * info,const char * p2pMac)354 int32_t LnnSetP2pMac(NodeInfo *info, const char *p2pMac)
355 {
356 if (info == NULL || p2pMac == NULL) {
357 LNN_LOGE(LNN_LEDGER, "invalid param");
358 return SOFTBUS_INVALID_PARAM;
359 }
360 if (strcpy_s(info->p2pInfo.p2pMac, sizeof(info->p2pInfo.p2pMac), p2pMac) != EOK) {
361 LNN_LOGE(LNN_LEDGER, "strcpy_s p2p mac err");
362 return SOFTBUS_MEM_ERR;
363 }
364 return SOFTBUS_OK;
365 }
366
LnnGetP2pMac(const NodeInfo * info)367 const char *LnnGetP2pMac(const NodeInfo *info)
368 {
369 if (info == NULL) {
370 LNN_LOGE(LNN_LEDGER, "invalid param");
371 return NULL;
372 }
373 return info->p2pInfo.p2pMac;
374 }
375
LnnGetWifiDirectAddr(const NodeInfo * info)376 const char *LnnGetWifiDirectAddr(const NodeInfo *info)
377 {
378 if (info == NULL) {
379 LNN_LOGE(LNN_LEDGER, "invalid param");
380 return NULL;
381 }
382 return info->wifiDirectAddr;
383 }
384
LnnSetDataChangeFlag(NodeInfo * info,uint16_t dataChangeFlag)385 int32_t LnnSetDataChangeFlag(NodeInfo *info, uint16_t dataChangeFlag)
386 {
387 if (info == NULL) {
388 LNN_LOGE(LNN_LEDGER, "invalid param");
389 return SOFTBUS_INVALID_PARAM;
390 }
391 info->dataChangeFlag = dataChangeFlag;
392 return SOFTBUS_OK;
393 }
394
LnnGetDataChangeFlag(const NodeInfo * info)395 uint16_t LnnGetDataChangeFlag(const NodeInfo *info)
396 {
397 if (info == NULL) {
398 LNN_LOGE(LNN_LEDGER, "invalid param");
399 return 0;
400 }
401 return info->dataChangeFlag;
402 }
403
LnnGetDataDynamicLevel(const NodeInfo * info)404 uint16_t LnnGetDataDynamicLevel(const NodeInfo *info)
405 {
406 if (info == NULL) {
407 LNN_LOGE(LNN_LEDGER, "invalid param");
408 return DYNAMIC_LEVEL_INVALID;
409 }
410 return info->dataDynamicLevel;
411 }
412
LnnSetDataDynamicLevel(NodeInfo * info,uint16_t dataDynamicLevel)413 int32_t LnnSetDataDynamicLevel(NodeInfo *info, uint16_t dataDynamicLevel)
414 {
415 if (info == NULL) {
416 LNN_LOGE(LNN_LEDGER, "invalid param");
417 return SOFTBUS_INVALID_PARAM;
418 }
419 info->dataDynamicLevel = dataDynamicLevel;
420 return SOFTBUS_OK;
421 }
422
LnnGetDataStaticLevel(const NodeInfo * info)423 uint16_t LnnGetDataStaticLevel(const NodeInfo *info)
424 {
425 if (info == NULL) {
426 LNN_LOGE(LNN_LEDGER, "invalid param");
427 return STATIC_LEVEL_INVALID;
428 }
429 return info->dataStaticLevel;
430 }
431
LnnSetDataStaticLevel(NodeInfo * info,uint16_t dataStaticLevel)432 int32_t LnnSetDataStaticLevel(NodeInfo *info, uint16_t dataStaticLevel)
433 {
434 if (info == NULL) {
435 LNN_LOGE(LNN_LEDGER, "invalid param");
436 return SOFTBUS_INVALID_PARAM;
437 }
438 info->dataStaticLevel = dataStaticLevel;
439 return SOFTBUS_OK;
440 }
441
LnnGetDataSwitchLevel(const NodeInfo * info)442 uint32_t LnnGetDataSwitchLevel(const NodeInfo *info)
443 {
444 if (info == NULL) {
445 LNN_LOGE(LNN_LEDGER, "invalid param");
446 return SWITCH_LEVEL_INVALID;
447 }
448 return info->dataSwitchLevel;
449 }
450
LnnSetDataSwitchLevel(NodeInfo * info,uint32_t dataSwitchLevel)451 int32_t LnnSetDataSwitchLevel(NodeInfo *info, uint32_t dataSwitchLevel)
452 {
453 if (info == NULL) {
454 LNN_LOGE(LNN_LEDGER, "invalid param");
455 return SOFTBUS_INVALID_PARAM;
456 }
457 info->dataSwitchLevel = dataSwitchLevel;
458 return SOFTBUS_OK;
459 }
460
LnnGetDataSwitchLength(const NodeInfo * info)461 uint16_t LnnGetDataSwitchLength(const NodeInfo *info)
462 {
463 if (info == NULL) {
464 LNN_LOGE(LNN_LEDGER, "invalid param");
465 return SWTICH_LENGTH_INVALID;
466 }
467 return info->dataSwitchLength;
468 }
469
LnnSetDataSwitchLength(NodeInfo * info,uint16_t dataSwitchLength)470 int32_t LnnSetDataSwitchLength(NodeInfo *info, uint16_t dataSwitchLength)
471 {
472 if (info == NULL || dataSwitchLength > SWITCH_MAX_LENGTH) {
473 LNN_LOGE(LNN_LEDGER, "invalid param");
474 return SOFTBUS_INVALID_PARAM;
475 }
476 info->dataSwitchLength = dataSwitchLength;
477 return SOFTBUS_OK;
478 }
479
LnnSetP2pGoMac(NodeInfo * info,const char * goMac)480 int32_t LnnSetP2pGoMac(NodeInfo *info, const char *goMac)
481 {
482 if (info == NULL || goMac == NULL) {
483 LNN_LOGE(LNN_LEDGER, "invalid param");
484 return SOFTBUS_INVALID_PARAM;
485 }
486
487 if (strcpy_s(info->p2pInfo.goMac, sizeof(info->p2pInfo.goMac), goMac) != EOK) {
488 LNN_LOGE(LNN_LEDGER, "strcpy_s go mac err");
489 return SOFTBUS_MEM_ERR;
490 }
491 return SOFTBUS_OK;
492 }
493
LnnGetP2pGoMac(const NodeInfo * info)494 const char *LnnGetP2pGoMac(const NodeInfo *info)
495 {
496 if (info == NULL) {
497 LNN_LOGE(LNN_LEDGER, "invalid param");
498 return NULL;
499 }
500 return info->p2pInfo.goMac;
501 }
502
LnnGetSupportedProtocols(const NodeInfo * info)503 uint64_t LnnGetSupportedProtocols(const NodeInfo *info)
504 {
505 if (info == NULL) {
506 LNN_LOGE(LNN_LEDGER, "para error");
507 return 0;
508 }
509 return info->supportedProtocols;
510 }
511
LnnSetSupportedProtocols(NodeInfo * info,uint64_t protocols)512 int32_t LnnSetSupportedProtocols(NodeInfo *info, uint64_t protocols)
513 {
514 if (info == NULL) {
515 LNN_LOGE(LNN_LEDGER, "para error");
516 return SOFTBUS_INVALID_PARAM;
517 }
518 info->supportedProtocols = protocols;
519 return SOFTBUS_OK;
520 }
521
LnnSetWifiDirectAddr(NodeInfo * info,const char * wifiDirectAddr)522 int32_t LnnSetWifiDirectAddr(NodeInfo *info, const char *wifiDirectAddr)
523 {
524 if (info == NULL || wifiDirectAddr == NULL) {
525 LNN_LOGE(LNN_LEDGER, "invalid param");
526 return SOFTBUS_INVALID_PARAM;
527 }
528 if (strcpy_s(info->wifiDirectAddr, sizeof(info->wifiDirectAddr), wifiDirectAddr) != EOK) {
529 LNN_LOGE(LNN_LEDGER, "strcpy_s wifidirect addr err");
530 return SOFTBUS_MEM_ERR;
531 }
532 return SOFTBUS_OK;
533 }
534
LnnSetStaticCapability(NodeInfo * info,uint8_t * cap,uint32_t len)535 int32_t LnnSetStaticCapability(NodeInfo *info, uint8_t *cap, uint32_t len)
536 {
537 if (info == NULL || cap == NULL) {
538 LNN_LOGE(LNN_LEDGER, "param is null");
539 return SOFTBUS_INVALID_PARAM;
540 }
541 if (len <= 0 || len > STATIC_CAP_LEN) {
542 LNN_LOGE(LNN_LEDGER, "length error");
543 return SOFTBUS_INVALID_PARAM;
544 }
545 if (memcpy_s(info->staticCapability, STATIC_CAP_LEN, cap, len) != EOK) {
546 LNN_LOGE(LNN_LEDGER, "memcpy static cap err");
547 return SOFTBUS_MEM_ERR;
548 }
549 return SOFTBUS_OK;
550 }
551
LnnGetStaticCapability(NodeInfo * info,uint8_t * cap,uint32_t len)552 int32_t LnnGetStaticCapability(NodeInfo *info, uint8_t *cap, uint32_t len)
553 {
554 if (info == NULL || cap == NULL) {
555 LNN_LOGE(LNN_LEDGER, "param err");
556 return SOFTBUS_INVALID_PARAM;
557 }
558 if (len < 0 || len > STATIC_CAP_LEN) {
559 LNN_LOGE(LNN_LEDGER, "param err");
560 return SOFTBUS_INVALID_PARAM;
561 }
562 if (memcpy_s(cap, len, info->staticCapability, info->staticCapLen) != EOK) {
563 LNN_LOGE(LNN_LEDGER, "memcpy static cap err");
564 return SOFTBUS_MEM_ERR;
565 }
566 return SOFTBUS_OK;
567 }
568
LnnSetPtk(NodeInfo * info,const char * remotePtk)569 int32_t LnnSetPtk(NodeInfo *info, const char *remotePtk)
570 {
571 if (info == NULL || remotePtk == NULL) {
572 LNN_LOGE(LNN_LEDGER, "invalid param");
573 return SOFTBUS_INVALID_PARAM;
574 }
575 if (memcpy_s(info->remotePtk, PTK_DEFAULT_LEN, remotePtk, PTK_DEFAULT_LEN) != EOK) {
576 LNN_LOGE(LNN_LEDGER, "memcpy ptk err");
577 return SOFTBUS_MEM_ERR;
578 }
579 return SOFTBUS_OK;
580 }
581
LnnDumpRemotePtk(const char * oldPtk,const char * newPtk,const char * log)582 void LnnDumpRemotePtk(const char *oldPtk, const char *newPtk, const char *log)
583 {
584 char ptkStr[PTK_STR_LEN] = { 0 };
585 char oldPtkStr[PTK_STR_LEN] = { 0 };
586
587 if (log == NULL) {
588 return;
589 }
590 if (newPtk != NULL &&
591 ConvertBytesToUpperCaseHexString(ptkStr, PTK_STR_LEN, (unsigned char *)newPtk, PTK_DEFAULT_LEN) != SOFTBUS_OK) {
592 LNN_LOGE(LNN_LEDGER, "convert new ptk fail");
593 }
594 if (oldPtk != NULL &&
595 ConvertBytesToUpperCaseHexString(oldPtkStr, PTK_STR_LEN, (unsigned char *)oldPtk, PTK_DEFAULT_LEN) !=
596 SOFTBUS_OK) {
597 LNN_LOGE(LNN_LEDGER, "convert old ptk fail");
598 }
599 char *anonyPtk = NULL;
600 char *anonyOldPtk = NULL;
601 Anonymize(ptkStr, &anonyPtk);
602 Anonymize(oldPtkStr, &anonyOldPtk);
603 LNN_LOGI(LNN_LEDGER, "log=%{public}s, dump newPtk=%{public}s, oldPtk=%{public}s", log, anonyPtk, anonyOldPtk);
604 AnonymizeFree(anonyPtk);
605 AnonymizeFree(anonyOldPtk);
606 (void)memset_s(&ptkStr, PTK_STR_LEN, 0, PTK_STR_LEN);
607 (void)memset_s(&oldPtkStr, PTK_STR_LEN, 0, PTK_STR_LEN);
608 }
609
LnnDumpNodeInfo(const NodeInfo * deviceInfo,const char * log)610 void LnnDumpNodeInfo(const NodeInfo *deviceInfo, const char *log)
611 {
612 char *anonyNetworkId = NULL;
613 char *anonyUdid = NULL;
614 char *anonyDeviceName = NULL;
615 char *anonyBtMac = NULL;
616 Anonymize(deviceInfo->networkId, &anonyNetworkId);
617 Anonymize(deviceInfo->deviceInfo.deviceUdid, &anonyUdid);
618 Anonymize(deviceInfo->deviceInfo.deviceName, &anonyDeviceName);
619 Anonymize(deviceInfo->connectInfo.macAddr, &anonyBtMac);
620 LNN_LOGI(LNN_LEDGER, "log=%{public}s, stateVersion=%{public}d, networkId=%{public}s, udid=%{public}s, "
621 "deviceName=%{public}s, btMac=%{public}s, networkIdTimestamp=%{public}" PRId64, log, deviceInfo->stateVersion,
622 anonyNetworkId, anonyUdid, anonyDeviceName, anonyBtMac, deviceInfo->networkIdTimestamp);
623 AnonymizeFree(anonyNetworkId);
624 AnonymizeFree(anonyUdid);
625 AnonymizeFree(anonyDeviceName);
626 AnonymizeFree(anonyBtMac);
627 }
628
LnnSetScreenStatus(NodeInfo * info,bool isScreenOn)629 int32_t LnnSetScreenStatus(NodeInfo *info, bool isScreenOn)
630 {
631 if (info == NULL) {
632 LNN_LOGE(LNN_LEDGER, "invalid param");
633 return SOFTBUS_INVALID_PARAM;
634 }
635 info->isScreenOn = isScreenOn;
636 LNN_LOGI(LNN_LEDGER, "set local screen status to %{public}s", isScreenOn ? "on" : "off");
637 return SOFTBUS_OK;
638 }
639