!6406 add timestamp and cipher key proc

Merge pull request !6406 from 刘宝/dev_broadcastKey
This commit is contained in:
openharmony_ci 2024-06-03 14:10:02 +00:00 committed by Gitee
commit 9e6a98cdce
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
13 changed files with 93 additions and 69 deletions

View File

@ -361,7 +361,7 @@ static void ComplexCloudSyncInfoToMap(const CloudSyncInfo *localInfo, std::map<s
remotePtkStr[i] = static_cast<char>(localInfo->remotePtk[i]);
}
values[keyPrefix + DEVICE_INFO_PTK] = remotePtkStr + valueSuffix;
values[keyPrefix + DEVICE_INFO_JSON_KEY_TABLE_MIAN] = localInfo->tableMain + valueSuffix;
values[keyPrefix + DEVICE_INFO_JSON_BROADCAST_KEY_TABLE] = localInfo->broadcastCipherKey + valueSuffix;
values[keyPrefix + DEVICE_INFO_JSON_KEY_TOTAL_LIFE] = std::to_string(localInfo->lifeTotal) + valueSuffix;
values[keyPrefix + DEVICE_INFO_JSON_KEY_TIMESTAMP_BEGIN] =
std::to_string(localInfo->curBeginTime) + valueSuffix;

View File

@ -281,14 +281,14 @@ static AuthFsm *CreateAuthFsm(int64_t authSeq, uint32_t requestId, uint64_t conn
}
ListNodeInsert(&g_authFsmList, &authFsm->node);
AUTH_LOGI(AUTH_FSM,
"create auth fsm. authSeq=%{public}" PRId64 ", name=%{public}s, side=%{public}s, reqId=%{public}u, " CONN_INFO,
authFsm->authSeq, authFsm->fsmName, GetAuthSideStr(isServer), requestId, CONN_DATA(connId));
"create auth fsm. authSeq=%{public}" PRId64 ", name=%{public}s, side=%{public}s, requestId=%{public}u, "
"" CONN_INFO, authFsm->authSeq, authFsm->fsmName, GetAuthSideStr(isServer), requestId, CONN_DATA(connId));
return authFsm;
}
static void DestroyAuthFsm(AuthFsm *authFsm)
{
AUTH_LOGI(AUTH_FSM, "destroy auth. authSeq=%{public}" PRId64 ", side=%{public}s, reqId=%{public}u",
AUTH_LOGI(AUTH_FSM, "destroy auth. authSeq=%{public}" PRId64 ", side=%{public}s, requestId=%{public}u",
authFsm->authSeq, GetAuthSideStr(authFsm->info.isServer), authFsm->info.requestId);
ListDelete(&authFsm->node);
if (authFsm->info.deviceInfoData != NULL) {

View File

@ -1960,6 +1960,7 @@ int32_t UnpackDeviceInfoMessage(const DevInfoData *devInfo, NodeInfo *nodeInfo,
if (IsFeatureSupport(nodeInfo->feature, BIT_SUPPORT_UNIFORM_NAME_CAPABILITY)) {
UpdatePeerDeviceName(nodeInfo);
}
nodeInfo->updateTimestamp = SoftBusGetSysTimeMs();
return ret;
}

View File

@ -47,6 +47,7 @@ int32_t LnnGetLocalBroadcastCipherKey(BroadcastCipherKey *broadcastKey);
int32_t LnnSaveLocalBroadcastCipherKey(const BroadcastCipherKey *broadcastKey);
int32_t LnnUpdateLocalBroadcastCipherKey(BroadcastCipherKey *broadcastKey);
int32_t LnnGetLocalBroadcastCipherInfo(CloudSyncInfo *info);
int32_t LnnSetRemoteBroadcastCipherInfo(const char *value, const char *udid);
#ifdef __cplusplus
}
#endif

View File

@ -55,7 +55,7 @@ typedef struct {
uint8_t peerIrk[LFINDER_IRK_LEN];
unsigned char publicAddress[LFINDER_MAC_ADDR_LEN];
char remotePtk[PTK_DEFAULT_LEN];
char tableMain[BLE_BROADCAST_IV_LEN + 1];
char *broadcastCipherKey;
int64_t lifeTotal;
uint64_t curBeginTime;
uint8_t currentIndex;

View File

@ -81,7 +81,7 @@ extern "C" {
#define DEVICE_INFO_PTK "PTK"
#define DEVICE_INFO_STATIC_CAP "STATIC_CAP"
#define DEVICE_INFO_STATIC_CAP_LEN "STATIC_CAP_LEN"
#define DEVICE_INFO_JSON_KEY_TABLE_MIAN "JSON_KEY_TABLE_MIAN"
#define DEVICE_INFO_JSON_BROADCAST_KEY_TABLE "JSON_KEY_TABLE_MIAN"
#define DEVICE_INFO_JSON_KEY_TOTAL_LIFE "JSON_KEY_TOTAL_LIFE"
#define DEVICE_INFO_JSON_KEY_TIMESTAMP_BEGIN "JSON_KEY_TIMESTAMP_BEGIN"
#define DEVICE_INFO_JSON_KEY_CURRENT_INDEX "JSON_KEY_CURRENT_INDEX"

View File

@ -91,4 +91,11 @@ int32_t LnnGetLocalBroadcastCipherInfo(CloudSyncInfo *info)
{
(void)info;
return SOFTBUS_OK;
}
}
int32_t LnnSetRemoteBroadcastCipherInfo(const char *value, const char *udid)
{
(void)value;
(void)udid;
return SOFTBUS_OK;
}

View File

@ -29,24 +29,31 @@
#include "lnn_map.h"
#include "lnn_node_info.h"
#include "lnn_p2p_info.h"
#include "softbus_adapter_json.h"
#include "softbus_adapter_mem.h"
#include "softbus_adapter_thread.h"
#include "softbus_errcode.h"
#include "softbus_json_utils.h"
#include "softbus_utils.h"
#define APPID "dsoftbus"
#define STOREID "dsoftbus_kv_db"
#define APPID "dsoftbus"
#define STOREID "dsoftbus_kv_db"
#define FIELDNAME_MAX_LEN 32
#define KEY_MAX_LEN 128
#define SPLIT_MAX_LEN 128
#define SPLIT_KEY_NUM 3
#define SPLIT_VALUE_NUM 3
#define PUT_VALUE_MAX_LEN 156
#define UDID_HASH_HEX_LEN 16
#define SOFTBUS_STRTOLL_BASE 10
#define FIELDNAME_MAX_LEN 32
#define KEY_MAX_LEN 128
#define SPLIT_MAX_LEN 128
#define SPLIT_KEY_NUM 3
#define SPLIT_VALUE_NUM 3
#define PUT_VALUE_MAX_LEN 156
#define UDID_HASH_HEX_LEN 16
static int32_t g_dbId = 0;
typedef struct {
int32_t stateVersion;
uint64_t timestamp;
} CloudSyncValue;
static int32_t ConvertNameInfoInternal(CloudSyncInfo *cloudSyncInfo, const NodeInfo *nodeInfo)
{
cloudSyncInfo->accountId = nodeInfo->accountId;
@ -191,7 +198,8 @@ static int32_t ConvertNodeInfoToCloudSyncInfo(CloudSyncInfo *cloudSyncInfo, cons
return SOFTBUS_OK;
}
static int32_t DBCipherInfoSyncToCache(NodeInfo *cacheInfo, char *fieldName, const char *value, size_t valueLength)
static int32_t DBCipherInfoSyncToCache(
NodeInfo *cacheInfo, char *fieldName, const char *value, size_t valueLength, const char *udid)
{
if (strcmp(fieldName, DEVICE_INFO_BROADCAST_CIPHER_KEY) == 0 && valueLength < SESSION_KEY_STR_LEN) {
if (ConvertHexStringToBytes((unsigned char *)cacheInfo->cipherInfo.key, SESSION_KEY_LENGTH, value,
@ -205,8 +213,8 @@ static int32_t DBCipherInfoSyncToCache(NodeInfo *cacheInfo, char *fieldName, con
LNN_LOGE(LNN_BUILDER, "convert cipheriv to bytes fail. cipher info sync to cache fail");
return SOFTBUS_KV_CONVERT_BYTES_FAILED;
}
} else if (strcmp(fieldName, DEVICE_INFO_JSON_KEY_TABLE_MIAN) == 0 && valueLength < BLE_BROADCAST_IV_LEN + 1) {
LNN_LOGD(LNN_BUILDER, "cipher table mian info no need update into nodeinfo");
} else if (strcmp(fieldName, DEVICE_INFO_JSON_BROADCAST_KEY_TABLE) == 0) {
LnnSetRemoteBroadcastCipherInfo(value, udid);
} else if (strcmp(fieldName, DEVICE_INFO_JSON_KEY_TOTAL_LIFE) == 0) {
LNN_LOGD(LNN_BUILDER, "cipher total life info no need update into nodeinfo");
} else if (strcmp(fieldName, DEVICE_INFO_JSON_KEY_TIMESTAMP_BEGIN) == 0) {
@ -436,7 +444,7 @@ static bool JudgeFieldNameIsCipherInfo(char *fieldName)
}
if (strcmp(fieldName, DEVICE_INFO_BROADCAST_CIPHER_KEY) == 0 ||
strcmp(fieldName, DEVICE_INFO_BROADCAST_CIPHER_IV) == 0 ||
strcmp(fieldName, DEVICE_INFO_JSON_KEY_TABLE_MIAN) == 0 ||
strcmp(fieldName, DEVICE_INFO_JSON_BROADCAST_KEY_TABLE) == 0 ||
strcmp(fieldName, DEVICE_INFO_JSON_KEY_TOTAL_LIFE) == 0 ||
strcmp(fieldName, DEVICE_INFO_JSON_KEY_TIMESTAMP_BEGIN) == 0 ||
strcmp(fieldName, DEVICE_INFO_JSON_KEY_CURRENT_INDEX) == 0 ||
@ -469,7 +477,7 @@ static int32_t DBDataChangeBatchSyncToCacheInternal(
return SOFTBUS_ERR;
}
} else if (JudgeFieldNameIsCipherInfo(fieldName)) {
if (DBCipherInfoSyncToCache(cacheInfo, fieldName, value, valueLength) != SOFTBUS_OK) {
if (DBCipherInfoSyncToCache(cacheInfo, fieldName, value, valueLength, udid) != SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "fail:strcpy_s cipher info fail");
return SOFTBUS_ERR;
}
@ -535,9 +543,9 @@ static int32_t GetInfoFromSplitKey(
}
static int32_t SplitString(char splitKey[SPLIT_KEY_NUM][SPLIT_MAX_LEN], char splitValue[SPLIT_VALUE_NUM][SPLIT_MAX_LEN],
const char *key, const char *value, int32_t *stateVersion)
const char *key, const char *value, CloudSyncValue *parseValue)
{
if (key == NULL || value == NULL || splitKey == NULL || splitValue == NULL) {
if (key == NULL || value == NULL || splitKey == NULL || splitValue == NULL || parseValue == NULL) {
LNN_LOGE(LNN_BUILDER, "fail:invalid param");
return SOFTBUS_INVALID_PARAM;
}
@ -549,7 +557,8 @@ static int32_t SplitString(char splitKey[SPLIT_KEY_NUM][SPLIT_MAX_LEN], char spl
LNN_LOGE(LNN_BUILDER, "split value error");
return SOFTBUS_ERR;
}
*stateVersion = atoi(splitValue[1]);
parseValue->stateVersion = atoi(splitValue[1]);
parseValue->timestamp = strtoull(splitValue[SPLIT_VALUE_NUM - 1], NULL, SOFTBUS_STRTOLL_BASE);
return SOFTBUS_OK;
}
@ -563,10 +572,10 @@ static int32_t HandleDBAddChangeInternal(const char *key, const char *value, Nod
int64_t accountId = 0;
char deviceUdid[UDID_BUF_LEN] = { 0 };
char fieldName[FIELDNAME_MAX_LEN] = { 0 };
int32_t stateVersion = 0;
CloudSyncValue parseValue = { 0 };
char splitKey[SPLIT_KEY_NUM][SPLIT_MAX_LEN] = { 0 };
char splitValue[SPLIT_VALUE_NUM][SPLIT_MAX_LEN] = { 0 };
if (SplitString(splitKey, splitValue, key, value, &stateVersion) != SOFTBUS_OK) {
if (SplitString(splitKey, splitValue, key, value, &parseValue) != SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "split string error");
return SOFTBUS_ERR;
}
@ -579,7 +588,6 @@ static int32_t HandleDBAddChangeInternal(const char *key, const char *value, Nod
LNN_LOGE(LNN_BUILDER, "fail:strcpy_s true value fail.");
return SOFTBUS_STRCPY_ERR;
}
LNN_LOGI(LNN_BUILDER, "DB data add device sync info, time=%{public}s", splitValue[SPLIT_VALUE_NUM - 1]);
NodeInfo localCaheInfo = { 0 };
if (LnnGetLocalCacheNodeInfo(&localCaheInfo) != SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "get local cache node info fail");
@ -594,6 +602,7 @@ static int32_t HandleDBAddChangeInternal(const char *key, const char *value, Nod
return SOFTBUS_ERR;
}
cacheInfo->localStateVersion = localCaheInfo.stateVersion;
cacheInfo->updateTimestamp = parseValue.timestamp;
return SOFTBUS_OK;
}
@ -676,8 +685,21 @@ static void UpdateInfoToLedger(NodeInfo *cacheInfo, char *deviceUdid, char *fiel
}
}
static bool IsIgnoreUpdate(
int32_t oldStateVersion, uint64_t oldTimestamp, int32_t newStateVersion, uint64_t newTimestamp)
{
bool isIgnore = oldTimestamp > newTimestamp || (oldTimestamp == 0 && oldStateVersion > newStateVersion);
if (isIgnore) {
LNN_LOGE(LNN_BUILDER,
"fail: sync info is older, oldCacheInfo.stateVersion=%{public}d, oldTimestamp=%{public}" PRIu64
", newSyncInfo.stateVersion=%{public}d, newTimestamp=%{public}" PRIu64 "",
oldStateVersion, oldTimestamp, newStateVersion, newTimestamp);
}
return isIgnore;
}
static int32_t HandleDBUpdateInternal(
char *deviceUdid, char *fieldName, char *trueValue, int32_t stateVersion, int32_t localStateVersion)
char *deviceUdid, char *fieldName, char *trueValue, const CloudSyncValue *parseValue, int32_t localStateVersion)
{
if (deviceUdid == NULL || fieldName == NULL || trueValue == NULL) {
LNN_LOGE(LNN_BUILDER, "fail:invalid param.");
@ -690,31 +712,17 @@ static int32_t HandleDBUpdateInternal(
}
NodeInfo cacheInfo = { 0 };
if (LnnRetrieveDeviceInfo(udidHash, &cacheInfo) != SOFTBUS_OK) {
LNN_LOGI(LNN_BUILDER, "no this device info in deviceCacheInfoMap, need to insert");
NodeInfo newInfo = { 0 };
if (strcpy_s(newInfo.deviceInfo.deviceUdid, UDID_BUF_LEN, deviceUdid) != EOK) {
LNN_LOGE(LNN_BUILDER, "fail:strcpy_s deviceudid fail");
return SOFTBUS_STRCPY_ERR;
}
UpdateInfoToLedger(&newInfo, deviceUdid, fieldName, trueValue);
LNN_LOGI(LNN_BUILDER, "insert peer localStateVersion=%{public}d->%{public}d", newInfo.localStateVersion,
localStateVersion);
newInfo.localStateVersion = localStateVersion;
if (LnnSaveRemoteDeviceInfo(&newInfo) != SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "fail:Lnn save remote device info fail");
(void)memset_s(&newInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
return SOFTBUS_ERR;
}
(void)memset_s(&newInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
LNN_LOGI(LNN_BUILDER, "no this device info in deviceCacheInfoMap, ignore update");
return SOFTBUS_OK;
}
if (cacheInfo.stateVersion > stateVersion && stateVersion != 1) {
if (IsIgnoreUpdate(cacheInfo.stateVersion, cacheInfo.updateTimestamp, parseValue->stateVersion,
parseValue->timestamp)) {
(void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
return SOFTBUS_OK;
}
LNN_LOGI(LNN_BUILDER, "update peer stateVersion=%{public}d->%{public}d, localStateVersion=%{public}d->%{public}d",
cacheInfo.stateVersion, stateVersion, cacheInfo.localStateVersion, localStateVersion);
cacheInfo.stateVersion = stateVersion;
cacheInfo.stateVersion, parseValue->stateVersion, cacheInfo.localStateVersion, localStateVersion);
cacheInfo.stateVersion = parseValue->stateVersion;
UpdateInfoToLedger(&cacheInfo, deviceUdid, fieldName, trueValue);
cacheInfo.localStateVersion = localStateVersion;
(void)LnnSaveRemoteDeviceInfo(&cacheInfo);
@ -731,10 +739,10 @@ static int32_t HandleDBUpdateChangeInternal(const char *key, const char *value)
int64_t accountId = 0;
char deviceUdid[UDID_BUF_LEN] = { 0 };
char fieldName[FIELDNAME_MAX_LEN] = { 0 };
int32_t stateVersion = 0;
CloudSyncValue parseValue = { 0 };
char splitKey[SPLIT_KEY_NUM][SPLIT_MAX_LEN] = { 0 };
char splitValue[SPLIT_VALUE_NUM][SPLIT_MAX_LEN] = { 0 };
if (SplitString(splitKey, splitValue, key, value, &stateVersion) != SOFTBUS_OK) {
if (SplitString(splitKey, splitValue, key, value, &parseValue) != SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "split string error");
return SOFTBUS_ERR;
}
@ -755,7 +763,7 @@ static int32_t HandleDBUpdateChangeInternal(const char *key, const char *value)
LNN_LOGE(LNN_BUILDER, "fail:strcpy_s true value fail.");
return SOFTBUS_STRCPY_ERR;
}
if (HandleDBUpdateInternal(deviceUdid, fieldName, trueValue, stateVersion, localCaheInfo.stateVersion) !=
if (HandleDBUpdateInternal(deviceUdid, fieldName, trueValue, &parseValue, localCaheInfo.stateVersion) !=
SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "handle DB update change internal fail");
(void)memset_s(trueValue, strlen(trueValue), 0, strlen(trueValue));
@ -767,7 +775,7 @@ static int32_t HandleDBUpdateChangeInternal(const char *key, const char *value)
Anonymize(trueValue, &anonyTrueValue);
LNN_LOGI(LNN_BUILDER,
"deviceUdid=%{public}s, fieldName=%{public}s update to %{public}s success, stateVersion=%{public}d",
anonyDeviceUdid, fieldName, anonyTrueValue, stateVersion);
anonyDeviceUdid, fieldName, anonyTrueValue, parseValue.stateVersion);
AnonymizeFree(anonyDeviceUdid);
AnonymizeFree(anonyTrueValue);
(void)memset_s(trueValue, strlen(trueValue), 0, strlen(trueValue));
@ -857,17 +865,16 @@ int32_t LnnDBDataAddChangeSyncToCache(const char **key, const char **value, int3
}
NodeInfo oldCacheInfo = { 0 };
if (LnnRetrieveDeviceInfo(udidHash, &oldCacheInfo) == SOFTBUS_OK &&
oldCacheInfo.stateVersion > cacheInfo.stateVersion) {
LNN_LOGE(LNN_BUILDER,
"fail: sync info is older, oldCacheInfo.stateVersion=%{public}d, cacheInfo.stateVersion=%{public}d",
oldCacheInfo.stateVersion, cacheInfo.stateVersion);
IsIgnoreUpdate(oldCacheInfo.stateVersion, oldCacheInfo.updateTimestamp, cacheInfo.stateVersion,
cacheInfo.updateTimestamp)) {
return SOFTBUS_ERR;
}
(void)LnnSaveRemoteDeviceInfo(&cacheInfo);
char *anonyUdid = NULL;
Anonymize(cacheInfo.deviceInfo.deviceUdid, &anonyUdid);
LNN_LOGI(LNN_BUILDER, "success. udid=%{public}s, stateVersion=%{public}d, localStateVersion=%{public}d,", anonyUdid,
cacheInfo.stateVersion, cacheInfo.localStateVersion);
LNN_LOGI(LNN_BUILDER,
"success. udid=%{public}s, stateVersion=%{public}d, localStateVersion=%{public}d, updateTimestamp=%{public}"
"" PRIu64, anonyUdid, cacheInfo.stateVersion, cacheInfo.localStateVersion, cacheInfo.updateTimestamp);
AnonymizeFree(anonyUdid);
if (LnnUpdateDistributedNodeInfo(&cacheInfo, cacheInfo.deviceInfo.deviceUdid) != SOFTBUS_OK) {
LNN_LOGE(LNN_BUILDER, "fail:Cache info add sync to Ledger fail");
@ -975,6 +982,7 @@ int32_t LnnLedgerAllDataSyncToDB(const NodeInfo *info)
}
int32_t dbId = g_dbId;
int32_t ret = LnnPutDBDataBatch(dbId, &syncInfo);
JSON_Free(syncInfo.broadcastCipherKey);
if (ret != 0) {
LNN_LOGE(LNN_BUILDER, "fail:data batch sync to DB fail, errorcode=%{public}d", ret);
return ret;

View File

@ -2441,7 +2441,8 @@ int32_t LnnNotifyDiscoveryDevice(const ConnectionAddr *addr, bool isNeedConnect)
{
JoinLnnMsgPara *para = NULL;
LNN_LOGI(LNN_BUILDER, "notify discovery device enter! isNeedConnect=%{public}d", isNeedConnect);
LNN_LOGI(LNN_BUILDER, "notify discovery device enter! peer%{public}s, isNeedConnect=%{public}d",
addr != NULL ? LnnPrintConnectionAddr(addr) : "", isNeedConnect);
if (g_netBuilder.isInit == false) {
LNN_LOGE(LNN_BUILDER, "no init");
return SOFTBUS_NO_INIT;

View File

@ -184,6 +184,7 @@ typedef struct {
uint64_t heartbeatTimestamp;
uint64_t bleDirectTimestamp;
uint64_t onlinetTimestamp;
uint64_t updateTimestamp;
} NodeInfo;
const char *LnnGetDeviceUdid(const NodeInfo *info);

View File

@ -594,12 +594,16 @@ static int32_t UpdateStateVersion(const void *buf)
if (*(int32_t *)buf > MAX_STATE_VERSION) {
*(int32_t *)buf = 1;
}
info->stateVersion = *(int32_t *)buf;
if (g_localNetLedger.localInfo.accountId == 0) {
LNN_LOGI(LNN_LEDGER, "no account info. no need update to cloud");
if (info->stateVersion == *(int32_t *)buf) {
LNN_LOGI(LNN_LEDGER, "unchanged. no need update, stateVersion=%{public}d", info->stateVersion);
return SOFTBUS_OK;
}
char value[STATE_VERSION_VALUE_LENGTH] = {0};
info->stateVersion = *(int32_t *)buf;
if (g_localNetLedger.localInfo.accountId == 0) {
LNN_LOGI(LNN_LEDGER, "no account info. no need update to cloud, stateVersion=%{public}d", info->stateVersion);
return SOFTBUS_OK;
}
char value[STATE_VERSION_VALUE_LENGTH] = { 0 };
(void)sprintf_s(value, STATE_VERSION_VALUE_LENGTH, "%d", g_localNetLedger.localInfo.stateVersion);
if (LnnLedgerDataChangeSyncToDB(DEVICE_INFO_STATE_VERSION, value, strlen(value)) != SOFTBUS_OK) {
LNN_LOGE(LNN_LEDGER, "ledger state version change sync to cloud failed");

View File

@ -23,7 +23,9 @@
#include "softbus_def.h"
#define LNN_MAX_PRINT_ADDR_LEN 100
#define SHORT_UDID_HASH_LEN 8
#define SHORT_UDID_HASH_LEN 8
static __thread char g_printAddr[LNN_MAX_PRINT_ADDR_LEN] = { 0 };
bool LnnIsSameConnectionAddr(const ConnectionAddr *addr1, const ConnectionAddr *addr2, bool isShort)
{
@ -257,7 +259,6 @@ bool LnnConvertAuthConnInfoToAddr(ConnectionAddr *addr, const AuthConnInfo *conn
const char *LnnPrintConnectionAddr(const ConnectionAddr *addr)
{
int32_t ret = 0;
static char printAddr[LNN_MAX_PRINT_ADDR_LEN] = {0};
char *anonyIp = NULL;
char *anonyMac = NULL;
@ -270,19 +271,19 @@ const char *LnnPrintConnectionAddr(const ConnectionAddr *addr)
/* fall-through */
case CONNECTION_ADDR_ETH:
Anonymize(addr->info.ip.ip, &anonyIp);
ret = sprintf_s(printAddr, sizeof(printAddr),
ret = sprintf_s(g_printAddr, sizeof(g_printAddr),
"Ip=%s", anonyIp);
AnonymizeFree(anonyIp);
break;
case CONNECTION_ADDR_BR:
Anonymize(addr->info.br.brMac, &anonyMac);
ret = sprintf_s(printAddr, sizeof(printAddr),
ret = sprintf_s(g_printAddr, sizeof(g_printAddr),
"BrMac=%s", anonyMac);
AnonymizeFree(anonyMac);
break;
case CONNECTION_ADDR_BLE:
Anonymize(addr->info.ble.bleMac, &anonyMac);
ret = sprintf_s(printAddr, sizeof(printAddr),
ret = sprintf_s(g_printAddr, sizeof(g_printAddr),
"BleMac=%s", anonyMac);
AnonymizeFree(anonyMac);
break;
@ -294,5 +295,5 @@ const char *LnnPrintConnectionAddr(const ConnectionAddr *addr)
LNN_LOGE(LNN_STATE, "sprintf_s connection addr failed");
return "Addr=";
}
return printAddr;
return g_printAddr;
}

View File

@ -206,7 +206,7 @@ HWTEST_F(KVAdapterWrapperTest, LnnPutBatch001, TestSize.Level1)
.peerIrk = {1},
.publicAddress = {1},
.remotePtk = "remotePtk",
.tableMain = "tableMain",
.broadcastCipherKey = NULL,
.lifeTotal = 1,
.curBeginTime = 1,
.currentIndex = 1,