已开启
L1软总线传输模块功能裁剪 #12526
LBy_qhu创建于 9月12日
L1软总线传输模块功能裁剪 #12526
已开启
共 60 个文件变更+946-147
| @@ -39,6 +39,8 @@ declare_args() { | |||
| 39 | dsoftbus_feature_trans_udp_stream = false | 39 | dsoftbus_feature_trans_udp_stream = false |
| 40 | dsoftbus_feature_trans_udp = true | 40 | dsoftbus_feature_trans_udp = true |
| 41 | dsoftbus_feature_trans_proxy_file = true | 41 | dsoftbus_feature_trans_proxy_file = true |
| 42 | + dsoftbus_feature_trans_file = true | ||
| 43 | + dsoftbus_feature_trans_proxy_channel = true | ||
| 42 | dsoftbus_feature_trans_qos = false | 44 | dsoftbus_feature_trans_qos = false |
| 43 | dsoftbus_feature_trans_htp = false | 45 | dsoftbus_feature_trans_htp = false |
| 44 | dsoftbus_feature_trans_br_proxy = false | 46 | dsoftbus_feature_trans_br_proxy = false |
| @@ -51,6 +51,8 @@ | |||
| 51 | "dsoftbus_feature_trans_udp_stream", | 51 | "dsoftbus_feature_trans_udp_stream", |
| 52 | "dsoftbus_feature_trans_udp", | 52 | "dsoftbus_feature_trans_udp", |
| 53 | "dsoftbus_feature_trans_proxy_file", | 53 | "dsoftbus_feature_trans_proxy_file", |
| 54 | + "dsoftbus_feature_trans_file", | ||
| 55 | + "dsoftbus_feature_trans_proxy_channel", | ||
| 54 | "dsoftbus_feature_trans_qos", | 56 | "dsoftbus_feature_trans_qos", |
| 55 | "dsoftbus_feature_trans_htp", | 57 | "dsoftbus_feature_trans_htp", |
| 56 | "dsoftbus_feature_trans_br_proxy", | 58 | "dsoftbus_feature_trans_br_proxy", |
| @@ -25,11 +25,15 @@ extern "C" { | |||
| 25 | int32_t TransProxySendInnerMessage(ProxyChannelInfo *info, const char *payLoad, uint32_t payLoadLen, int32_t priority); | 25 | int32_t TransProxySendInnerMessage(ProxyChannelInfo *info, const char *payLoad, uint32_t payLoadLen, int32_t priority); |
| 26 | int32_t TransProxyHandshake(ProxyChannelInfo *info); | 26 | int32_t TransProxyHandshake(ProxyChannelInfo *info); |
| 27 | int32_t TransProxyAckHandshake(uint32_t connId, ProxyChannelInfo *chan, int32_t retCode); | 27 | int32_t TransProxyAckHandshake(uint32_t connId, ProxyChannelInfo *chan, int32_t retCode); |
| 28 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 28 | void TransProxyKeepalive(uint32_t connId, const ProxyChannelInfo *info); | 29 | void TransProxyKeepalive(uint32_t connId, const ProxyChannelInfo *info); |
| 29 | int32_t TransProxyAckKeepalive(ProxyChannelInfo *info); | 30 | int32_t TransProxyAckKeepalive(ProxyChannelInfo *info); |
| 31 | +#endif | ||
| 30 | int32_t TransProxyResetPeer(ProxyChannelInfo *info); | 32 | int32_t TransProxyResetPeer(ProxyChannelInfo *info); |
| 33 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 31 | int32_t TransPagingHandshake(int32_t channelId, uint8_t *authKey, uint32_t keyLen); | 34 | int32_t TransPagingHandshake(int32_t channelId, uint8_t *authKey, uint32_t keyLen); |
| 32 | int32_t TransPagingAckHandshake(ProxyChannelInfo *chan, int32_t retCode); | 35 | int32_t TransPagingAckHandshake(ProxyChannelInfo *chan, int32_t retCode); |
| 36 | +#endif | ||
| 33 | #ifdef __cplusplus | 37 | #ifdef __cplusplus |
| 34 | } | 38 | } |
| 35 | #endif | 39 | #endif |
| @@ -79,17 +79,19 @@ int32_t TransProxyGetProxyChannelInfoByChannelId(int32_t channelId, ProxyChannel | |||
| 79 | int32_t TransDealProxyCheckCollabResult(int32_t channelId, int32_t checkResult, pid_t callingPid); | 79 | int32_t TransDealProxyCheckCollabResult(int32_t channelId, int32_t checkResult, pid_t callingPid); |
| 80 | int32_t TransProxyGetAppInfoById(int16_t channelId, AppInfo *appInfo); | 80 | int32_t TransProxyGetAppInfoById(int16_t channelId, AppInfo *appInfo); |
| 81 | 81 | ||
| 82 | -int32_t TransProxyCreatePagingChanInfo(ProxyChannelInfo *chan); | ||
| 83 | int32_t TransProxyGetProxyChannelIdByAuthReq(uint32_t reqId, int32_t *channelId); | 82 | int32_t TransProxyGetProxyChannelIdByAuthReq(uint32_t reqId, int32_t *channelId); |
| 83 | +void TransProxyProcessErrMsg(ProxyChannelInfo *info, int32_t errCode); | ||
| 84 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 85 | +int32_t TransProxyCreatePagingChanInfo(ProxyChannelInfo *chan); | ||
| 84 | int32_t TransPagingResetChan(ProxyChannelInfo *chanInfo); | 86 | int32_t TransPagingResetChan(ProxyChannelInfo *chanInfo); |
| 85 | char *TransPagingPackHandshakeMsg(ProxyChannelInfo *info); | 87 | char *TransPagingPackHandshakeMsg(ProxyChannelInfo *info); |
| 86 | int32_t TransPagingHandshakeUnPackErrMsg(ProxyChannelInfo *chan, const ProxyMessage *msg, int32_t *errCode); | 88 | int32_t TransPagingHandshakeUnPackErrMsg(ProxyChannelInfo *chan, const ProxyMessage *msg, int32_t *errCode); |
| 87 | int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient); | 89 | int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient); |
| 88 | -void TransProxyProcessErrMsg(ProxyChannelInfo *info, int32_t errCode); | ||
| 89 | int32_t TransPagingUpdatePagingChannelInfo(ProxyChannelInfo *info); | 90 | int32_t TransPagingUpdatePagingChannelInfo(ProxyChannelInfo *info); |
| 90 | int32_t TransPagingUpdatePidAndData(int32_t channelId, int32_t pid, char *data, uint32_t len); | 91 | int32_t TransPagingUpdatePidAndData(int32_t channelId, int32_t pid, char *data, uint32_t len); |
| 91 | void TransPagingBadKeyRetry(int32_t channelId); | 92 | void TransPagingBadKeyRetry(int32_t channelId); |
| 92 | int32_t TransPagingUpdateDataConfig(AppInfo *info); | 93 | int32_t TransPagingUpdateDataConfig(AppInfo *info); |
| 94 | +#endif | ||
| 93 | int32_t TransProxyD2dGetSleMac(int32_t channelId, int32_t pid, char *sleMac, uint32_t macLen); | 95 | int32_t TransProxyD2dGetSleMac(int32_t channelId, int32_t pid, char *sleMac, uint32_t macLen); |
| 94 | void TransProxyUnRegQosInfo(uint32_t connId, int32_t channelId, bool isD2d); | 96 | void TransProxyUnRegQosInfo(uint32_t connId, int32_t channelId, bool isD2d); |
| 95 | int32_t TransDisableConnBrIdleCheck(int32_t channelId); | 97 | int32_t TransDisableConnBrIdleCheck(int32_t channelId); |
| @@ -39,15 +39,18 @@ char *TransProxyPackIdentity(const char *identity); | |||
| 39 | int32_t TransProxyUnpackIdentity(const char *msg, char *identity, uint32_t identitySize, int32_t len); | 39 | int32_t TransProxyUnpackIdentity(const char *msg, char *identity, uint32_t identitySize, int32_t len); |
| 40 | int32_t PackPlaintextMessage(ProxyMessageHead *msg, ProxyDataInfo *dataInfo); | 40 | int32_t PackPlaintextMessage(ProxyMessageHead *msg, ProxyDataInfo *dataInfo); |
| 41 | int32_t GetBrMacFromConnInfo(uint32_t connId, char *peerBrMac, uint32_t len); | 41 | int32_t GetBrMacFromConnInfo(uint32_t connId, char *peerBrMac, uint32_t len); |
| 42 | -int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash); | ||
| 43 | int32_t TransParseMessageHeadType(char *data, int32_t len, ProxyMessage *msg); | 42 | int32_t TransParseMessageHeadType(char *data, int32_t len, ProxyMessage *msg); |
| 43 | + | ||
| 44 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 45 | +int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash); | ||
| 44 | char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan); | 46 | char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan); |
| 45 | void TransPagingProcessHandshakeMsg( | 47 | void TransPagingProcessHandshakeMsg( |
| 46 | const ProxyMessage *msg, uint8_t *accountHash, uint8_t *udidHash, const char *authAccountHash); | 48 | const ProxyMessage *msg, uint8_t *accountHash, uint8_t *udidHash, const char *authAccountHash); |
| 47 | int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg); | 49 | int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg); |
| 48 | -void TransWaitListenResult(const PagingListenCheckInfo *checkInfo, int32_t reason); | ||
| 49 | char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId); | 50 | char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId); |
| 50 | char *TransProxyPagingPackChannelId(int16_t channelId); | 51 | char *TransProxyPagingPackChannelId(int16_t channelId); |
| 52 | +void TransWaitListenResult(const PagingListenCheckInfo *checkInfo, int32_t reason); | ||
| 53 | +#endif | ||
| 51 | 54 | ||
| 52 | int32_t TransProxyParseD2DData(const char *data, int32_t len); | 55 | int32_t TransProxyParseD2DData(const char *data, int32_t len); |
| 53 | 56 | ||
| @@ -32,6 +32,7 @@ typedef struct { | |||
| 32 | ConnectOption connInfo; | 32 | ConnectOption connInfo; |
| 33 | } ProxyConnInfo; | 33 | } ProxyConnInfo; |
| 34 | 34 | ||
| 35 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 35 | typedef struct { | 36 | typedef struct { |
| 36 | ListNode node; | 37 | ListNode node; |
| 37 | uint32_t businessFlag; | 38 | uint32_t businessFlag; |
| @@ -40,6 +41,7 @@ typedef struct { | |||
| 40 | bool isLoadFailed; | 41 | bool isLoadFailed; |
| 41 | int32_t retryTime; | 42 | int32_t retryTime; |
| 42 | } ProxyPagingWaitInfo; | 43 | } ProxyPagingWaitInfo; |
| 44 | +#endif | ||
| 43 | 45 | ||
| 44 | void TransProxyPostResetPeerMsgToLoop(const ProxyChannelInfo *chan); | 46 | void TransProxyPostResetPeerMsgToLoop(const ProxyChannelInfo *chan); |
| 45 | void TransProxyPostHandshakeMsgToLoop(int32_t channelId); | 47 | void TransProxyPostHandshakeMsgToLoop(int32_t channelId); |
| @@ -48,7 +50,9 @@ void TransProxyPostOpenClosedMsgToLoop(const ProxyChannelInfo *chan); | |||
| 48 | void TransProxyPostOpenFailMsgToLoop(const ProxyChannelInfo *chan, int32_t errCode); | 50 | void TransProxyPostOpenFailMsgToLoop(const ProxyChannelInfo *chan, int32_t errCode); |
| 49 | void TransProxyPostKeepAliveMsgToLoop(const ProxyChannelInfo *chan); | 51 | void TransProxyPostKeepAliveMsgToLoop(const ProxyChannelInfo *chan); |
| 50 | void TransProxyPostAuthNegoMsgToLooperDelay(uint32_t authRequestId, int32_t channelId, uint32_t delayTime); | 52 | void TransProxyPostAuthNegoMsgToLooperDelay(uint32_t authRequestId, int32_t channelId, uint32_t delayTime); |
| 53 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 51 | void TransProxyPagingHandshakeMsgToLoop(int32_t channelId, uint8_t *authKey, uint32_t keyLen); | 54 | void TransProxyPagingHandshakeMsgToLoop(int32_t channelId, uint8_t *authKey, uint32_t keyLen); |
| 55 | +#endif | ||
| 52 | int32_t TransProxyTransInit(void); | 56 | int32_t TransProxyTransInit(void); |
| 53 | int32_t TransProxyCloseConnChannel(uint32_t connectionId, bool isServer, bool isD2d); | 57 | int32_t TransProxyCloseConnChannel(uint32_t connectionId, bool isServer, bool isD2d); |
| 54 | int32_t TransProxyCloseConnChannelReset( | 58 | int32_t TransProxyCloseConnChannelReset( |
| @@ -64,8 +68,10 @@ int32_t CheckIsProxyAuthChannel(ConnectOption *connInfo); | |||
| 64 | void TransProxyNegoSessionKeySucc(int32_t channelId); | 68 | void TransProxyNegoSessionKeySucc(int32_t channelId); |
| 65 | void TransProxyNegoSessionKeyFail(int32_t channelId, int32_t errCode); | 69 | void TransProxyNegoSessionKeyFail(int32_t channelId, int32_t errCode); |
| 66 | int32_t TransProxyGetConnOptionByChanId(int32_t channelId, ConnectOption *connOpt); | 70 | int32_t TransProxyGetConnOptionByChanId(int32_t channelId, ConnectOption *connOpt); |
| 71 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 67 | int32_t TransCheckPagingListenState(const PagingListenCheckInfo *checkInfo); | 72 | int32_t TransCheckPagingListenState(const PagingListenCheckInfo *checkInfo); |
| 68 | int32_t TransPagingWaitListenStatus(const uint32_t businessFlag, PagingWaitListenStatus status); | 73 | int32_t TransPagingWaitListenStatus(const uint32_t businessFlag, PagingWaitListenStatus status); |
| 74 | +#endif | ||
| 69 | int32_t TransAddConnItem(ProxyConnInfo *conn); | 75 | int32_t TransAddConnItem(ProxyConnInfo *conn); |
| 70 | 76 | ||
| 71 | #ifdef __cplusplus | 77 | #ifdef __cplusplus |
| @@ -161,6 +161,7 @@ static int32_t SetCipherOfHandshakeMsg(ProxyChannelInfo *info, uint8_t *cipher) | |||
| 161 | return SOFTBUS_OK; | 161 | return SOFTBUS_OK; |
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 164 | static void TransUpdateSlePowerLevel(uint32_t connId, ConnectSlePowerLevel level) | 165 | static void TransUpdateSlePowerLevel(uint32_t connId, ConnectSlePowerLevel level) |
| 165 | { | 166 | { |
| 166 | UpdateOption option = { | 167 | UpdateOption option = { |
| @@ -192,7 +193,9 @@ static void TransPagingHandshakeEvent(int32_t channelId, ProxyChannelInfo *info) | |||
| 192 | }; | 193 | }; |
| 193 | TRANS_EVENT(EVENT_SCENE_PAGING_CONNECT, EVENT_STAGE_PAGING_SOURCE_HANDSHAKE_START, extra); | 194 | TRANS_EVENT(EVENT_SCENE_PAGING_CONNECT, EVENT_STAGE_PAGING_SOURCE_HANDSHAKE_START, extra); |
| 194 | } | 195 | } |
| 196 | +#endif | ||
| 195 | 197 | ||
| 198 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 196 | int32_t TransPagingHandshake(int32_t channelId, uint8_t *authKey, uint32_t keyLen) | 199 | int32_t TransPagingHandshake(int32_t channelId, uint8_t *authKey, uint32_t keyLen) |
| 197 | { | 200 | { |
| 198 | TRANS_CHECK_AND_RETURN_RET_LOGE(keyLen != 0 && keyLen <= SESSION_KEY_LENGTH && authKey != NULL, | 201 | TRANS_CHECK_AND_RETURN_RET_LOGE(keyLen != 0 && keyLen <= SESSION_KEY_LENGTH && authKey != NULL, |
| @@ -235,6 +238,7 @@ int32_t TransPagingHandshake(int32_t channelId, uint8_t *authKey, uint32_t keyLe | |||
| 235 | TransPagingHandshakeEvent(channelId, &info); | 238 | TransPagingHandshakeEvent(channelId, &info); |
| 236 | return SOFTBUS_OK; | 239 | return SOFTBUS_OK; |
| 237 | } | 240 | } |
| 241 | +#endif | ||
| 238 | 242 | ||
| 239 | int32_t TransProxyHandshake(ProxyChannelInfo *info) | 243 | int32_t TransProxyHandshake(ProxyChannelInfo *info) |
| 240 | { | 244 | { |
| @@ -283,6 +287,7 @@ int32_t TransProxyHandshake(ProxyChannelInfo *info) | |||
| 283 | return SOFTBUS_OK; | 287 | return SOFTBUS_OK; |
| 284 | } | 288 | } |
| 285 | 289 | ||
| 290 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 286 | static int32_t TransPagingGetAuthKey(ProxyChannelInfo *chan, PagingProxyMessage *msg) | 291 | static int32_t TransPagingGetAuthKey(ProxyChannelInfo *chan, PagingProxyMessage *msg) |
| 287 | { | 292 | { |
| 288 | RequestBusinessInfo businessInfo; | 293 | RequestBusinessInfo businessInfo; |
| @@ -324,7 +329,9 @@ static void ReportPagingAckHandshakeExtra(const ProxyChannelInfo *chan, int32_t | |||
| 324 | extra.result = (retCode == SOFTBUS_OK) ? EVENT_STAGE_RESULT_OK : EVENT_STAGE_RESULT_FAILED; | 329 | extra.result = (retCode == SOFTBUS_OK) ? EVENT_STAGE_RESULT_OK : EVENT_STAGE_RESULT_FAILED; |
| 325 | TRANS_EVENT(EVENT_SCENE_PAGING_CONNECT, EVENT_STAGE_PAGING_SINK_HANDSHAKE_END, extra); | 330 | TRANS_EVENT(EVENT_SCENE_PAGING_CONNECT, EVENT_STAGE_PAGING_SINK_HANDSHAKE_END, extra); |
| 326 | } | 331 | } |
| 332 | +#endif | ||
| 327 | 333 | ||
| 334 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 328 | int32_t TransPagingAckHandshake(ProxyChannelInfo *chan, int32_t retCode) | 335 | int32_t TransPagingAckHandshake(ProxyChannelInfo *chan, int32_t retCode) |
| 329 | { | 336 | { |
| 330 | TRANS_CHECK_AND_RETURN_RET_LOGE(chan != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, "invalid param."); | 337 | TRANS_CHECK_AND_RETURN_RET_LOGE(chan != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, "invalid param."); |
| @@ -375,6 +382,7 @@ int32_t TransPagingAckHandshake(ProxyChannelInfo *chan, int32_t retCode) | |||
| 375 | ReportPagingAckHandshakeExtra(chan, ret); | 382 | ReportPagingAckHandshakeExtra(chan, ret); |
| 376 | return SOFTBUS_OK; | 383 | return SOFTBUS_OK; |
| 377 | } | 384 | } |
| 385 | +#endif | ||
| 378 | 386 | ||
| 379 | int32_t TransProxyAckHandshake(uint32_t connId, ProxyChannelInfo *chan, int32_t retCode) | 387 | int32_t TransProxyAckHandshake(uint32_t connId, ProxyChannelInfo *chan, int32_t retCode) |
| 380 | { | 388 | { |
| @@ -417,6 +425,7 @@ int32_t TransProxyAckHandshake(uint32_t connId, ProxyChannelInfo *chan, int32_t | |||
| 417 | return SOFTBUS_OK; | 425 | return SOFTBUS_OK; |
| 418 | } | 426 | } |
| 419 | 427 | ||
| 428 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 420 | void TransProxyKeepalive(uint32_t connId, const ProxyChannelInfo *info) | 429 | void TransProxyKeepalive(uint32_t connId, const ProxyChannelInfo *info) |
| 421 | { | 430 | { |
| 422 | if (info == NULL) { | 431 | if (info == NULL) { |
| @@ -453,7 +462,9 @@ void TransProxyKeepalive(uint32_t connId, const ProxyChannelInfo *info) | |||
| 453 | return; | 462 | return; |
| 454 | } | 463 | } |
| 455 | } | 464 | } |
| 465 | +#endif | ||
| 456 | 466 | ||
| 467 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 457 | int32_t TransProxyAckKeepalive(ProxyChannelInfo *info) | 468 | int32_t TransProxyAckKeepalive(ProxyChannelInfo *info) |
| 458 | { | 469 | { |
| 459 | if (info == NULL) { | 470 | if (info == NULL) { |
| @@ -491,7 +502,9 @@ int32_t TransProxyAckKeepalive(ProxyChannelInfo *info) | |||
| 491 | } | 502 | } |
| 492 | return SOFTBUS_OK; | 503 | return SOFTBUS_OK; |
| 493 | } | 504 | } |
| 505 | +#endif | ||
| 494 | 506 | ||
| 507 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 495 | static void TransPagingResetBadkeyDisConnection(uint32_t connId) | 508 | static void TransPagingResetBadkeyDisConnection(uint32_t connId) |
| 496 | { | 509 | { |
| 497 | TRANS_LOGW(TRANS_CTRL, "paging reset bad key dis connect, connId=%{public}u", connId); | 510 | TRANS_LOGW(TRANS_CTRL, "paging reset bad key dis connect, connId=%{public}u", connId); |
| @@ -517,7 +530,9 @@ static void TransPagingResetBadkeyDisConnection(uint32_t connId) | |||
| 517 | TRANS_CHECK_AND_RETURN_LOGE( | 530 | TRANS_CHECK_AND_RETURN_LOGE( |
| 518 | ret == SOFTBUS_OK, TRANS_CTRL, "ConnDisconnectDeviceAllConn fail, ret=%{public}d", ret); | 531 | ret == SOFTBUS_OK, TRANS_CTRL, "ConnDisconnectDeviceAllConn fail, ret=%{public}d", ret); |
| 519 | } | 532 | } |
| 533 | +#endif | ||
| 520 | 534 | ||
| 535 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 521 | int32_t TransPagingReset(ProxyChannelInfo *info) | 536 | int32_t TransPagingReset(ProxyChannelInfo *info) |
| 522 | { | 537 | { |
| 523 | char *payLoad = NULL; | 538 | char *payLoad = NULL; |
| @@ -553,6 +568,7 @@ int32_t TransPagingReset(ProxyChannelInfo *info) | |||
| 553 | } | 568 | } |
| 554 | return SOFTBUS_OK; | 569 | return SOFTBUS_OK; |
| 555 | } | 570 | } |
| 571 | +#endif | ||
| 556 | 572 | ||
| 557 | int32_t TransProxyResetPeer(ProxyChannelInfo *info) | 573 | int32_t TransProxyResetPeer(ProxyChannelInfo *info) |
| 558 | { | 574 | { |
| @@ -561,9 +577,11 @@ int32_t TransProxyResetPeer(ProxyChannelInfo *info) | |||
| 561 | return SOFTBUS_INVALID_PARAM; | 577 | return SOFTBUS_INVALID_PARAM; |
| 562 | } | 578 | } |
| 563 | TRANS_LOGI(TRANS_CTRL, "send reset msg myChannelId=%{public}d, peerChannelId=%{public}d", info->myId, info->peerId); | 579 | TRANS_LOGI(TRANS_CTRL, "send reset msg myChannelId=%{public}d, peerChannelId=%{public}d", info->myId, info->peerId); |
| 580 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 564 | if (info->isD2D) { | 581 | if (info->isD2D) { |
| 565 | return TransPagingReset(info); | 582 | return TransPagingReset(info); |
| 566 | } | 583 | } |
| 584 | +#endif | ||
| 567 | char *payLoad = NULL; | 585 | char *payLoad = NULL; |
| 568 | ProxyDataInfo dataInfo = {0}; | 586 | ProxyDataInfo dataInfo = {0}; |
| 569 | ProxyMessageHead msgHead = {0}; | 587 | ProxyMessageHead msgHead = {0}; |
| @@ -108,7 +108,6 @@ static int32_t NotifyNormalChannelOpened(int32_t channelId, const AppInfo *appIn | |||
| 108 | { | 108 | { |
| 109 | ChannelInfo info = {0}; | 109 | ChannelInfo info = {0}; |
| 110 | int32_t ret; | 110 | int32_t ret; |
| 111 | - char buf[NETWORK_ID_BUF_LEN] = {0}; | ||
| 112 | 111 | ||
| 113 | GetProxyChannelInfo(channelId, appInfo, isServer, &info); | 112 | GetProxyChannelInfo(channelId, appInfo, isServer, &info); |
| 114 | if (appInfo->isD2D) { | 113 | if (appInfo->isD2D) { |
| @@ -116,6 +115,8 @@ static int32_t NotifyNormalChannelOpened(int32_t channelId, const AppInfo *appIn | |||
| 116 | return TransProxyOnChannelOpened(appInfo->myData.pkgName, appInfo->myData.pid, | 115 | return TransProxyOnChannelOpened(appInfo->myData.pkgName, appInfo->myData.pid, |
| 117 | appInfo->myData.sessionName, &info); | 116 | appInfo->myData.sessionName, &info); |
| 118 | } | 117 | } |
| 118 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 119 | + char buf[NETWORK_ID_BUF_LEN] = { 0 }; | ||
| 119 | if (appInfo->appType != APP_TYPE_AUTH) { | 120 | if (appInfo->appType != APP_TYPE_AUTH) { |
| 120 | ret = LnnGetNetworkIdByUuid(appInfo->peerData.deviceId, buf, NETWORK_ID_BUF_LEN); | 121 | ret = LnnGetNetworkIdByUuid(appInfo->peerData.deviceId, buf, NETWORK_ID_BUF_LEN); |
| 121 | if (ret != SOFTBUS_OK) { | 122 | if (ret != SOFTBUS_OK) { |
| @@ -135,6 +136,9 @@ static int32_t NotifyNormalChannelOpened(int32_t channelId, const AppInfo *appIn | |||
| 135 | } else { | 136 | } else { |
| 136 | info.peerDeviceId = (char *)appInfo->peerData.deviceId; | 137 | info.peerDeviceId = (char *)appInfo->peerData.deviceId; |
| 137 | } | 138 | } |
| 139 | +#else | ||
| 140 | + info.peerDeviceId = (char *)appInfo->peerData.deviceId; | ||
| 141 | +#endif | ||
| 138 | info.isSupportTlv = GetCapabilityBit(appInfo->channelCapability, TRANS_CAPABILITY_TLV_OFFSET); | 142 | info.isSupportTlv = GetCapabilityBit(appInfo->channelCapability, TRANS_CAPABILITY_TLV_OFFSET); |
| 139 | GetOsTypeByNetworkId(info.peerDeviceId, &info.osType); | 143 | GetOsTypeByNetworkId(info.peerDeviceId, &info.osType); |
| 140 | ret = TransProxyOnChannelOpened(appInfo->myData.pkgName, appInfo->myData.pid, appInfo->myData.sessionName, &info); | 144 | ret = TransProxyOnChannelOpened(appInfo->myData.pkgName, appInfo->myData.pid, appInfo->myData.sessionName, &info); |
| @@ -245,6 +249,7 @@ static int32_t TransProxyNotifyOpenFailedByType( | |||
| 245 | 249 | ||
| 246 | int32_t OnProxyChannelBind(int32_t channelId, const AppInfo *appInfo) | 250 | int32_t OnProxyChannelBind(int32_t channelId, const AppInfo *appInfo) |
| 247 | { | 251 | { |
| 252 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 248 | int32_t ret = SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE; | 253 | int32_t ret = SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE; |
| 249 | if (appInfo == NULL) { | 254 | if (appInfo == NULL) { |
| 250 | TRANS_LOGE(TRANS_CTRL, "proxy channel bind app info invalid channelId=%{public}d", channelId); | 255 | TRANS_LOGE(TRANS_CTRL, "proxy channel bind app info invalid channelId=%{public}d", channelId); |
| @@ -252,9 +257,9 @@ int32_t OnProxyChannelBind(int32_t channelId, const AppInfo *appInfo) | |||
| 252 | } | 257 | } |
| 253 | switch (appInfo->appType) { | 258 | switch (appInfo->appType) { |
| 254 | case APP_TYPE_NORMAL: | 259 | case APP_TYPE_NORMAL: |
| 255 | - case APP_TYPE_AUTH: | ||
| 256 | ret = TransProxyOnChannelBind(appInfo->myData.pkgName, appInfo->myData.pid, channelId); | 260 | ret = TransProxyOnChannelBind(appInfo->myData.pkgName, appInfo->myData.pid, channelId); |
| 257 | break; | 261 | break; |
| 262 | + case APP_TYPE_AUTH: | ||
| 258 | case APP_TYPE_INNER: | 263 | case APP_TYPE_INNER: |
| 259 | ret = SOFTBUS_OK; | 264 | ret = SOFTBUS_OK; |
| 260 | break; | 265 | break; |
| @@ -265,6 +270,11 @@ int32_t OnProxyChannelBind(int32_t channelId, const AppInfo *appInfo) | |||
| 265 | TRANS_LOGI( | 270 | TRANS_LOGI( |
| 266 | TRANS_CTRL, "channelId=%{public}d, ret=%{public}d, appType=%{public}d", channelId, ret, appInfo->appType); | 271 | TRANS_CTRL, "channelId=%{public}d, ret=%{public}d, appType=%{public}d", channelId, ret, appInfo->appType); |
| 267 | return ret; | 272 | return ret; |
| 273 | +#else | ||
| 274 | + (void)channelId; | ||
| 275 | + (void)appInfo; | ||
| 276 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 277 | +#endif | ||
| 268 | } | 278 | } |
| 269 | 279 | ||
| 270 | static void TransNotifyAlarm(const AppInfo *appInfo, int32_t errCode) | 280 | static void TransNotifyAlarm(const AppInfo *appInfo, int32_t errCode) |
| @@ -183,6 +183,7 @@ static int32_t TransGetLocalConfig(int32_t channelType, int32_t businessType, ui | |||
| 183 | return SOFTBUS_OK; | 183 | return SOFTBUS_OK; |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 186 | int32_t TransPagingUpdateDataConfig(AppInfo *info) | 187 | int32_t TransPagingUpdateDataConfig(AppInfo *info) |
| 187 | { | 188 | { |
| 188 | if (info == NULL) { | 189 | if (info == NULL) { |
| @@ -285,7 +286,9 @@ int32_t TransPagingUpdatePidAndData(int32_t channelId, int32_t pid, char *data, | |||
| 285 | (void)SoftBusMutexUnlock(&g_proxyChannelList->lock); | 286 | (void)SoftBusMutexUnlock(&g_proxyChannelList->lock); |
| 286 | return SOFTBUS_TRANS_NODE_NOT_FOUND; | 287 | return SOFTBUS_TRANS_NODE_NOT_FOUND; |
| 287 | } | 288 | } |
| 289 | +#endif | ||
| 288 | 290 | ||
| 291 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 289 | static int32_t TransUpdateAuthSeqByChannelId(int32_t channelId, int32_t reqId) | 292 | static int32_t TransUpdateAuthSeqByChannelId(int32_t channelId, int32_t reqId) |
| 290 | { | 293 | { |
| 291 | TRANS_CHECK_AND_RETURN_RET_LOGE(g_proxyChannelList != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, | 294 | TRANS_CHECK_AND_RETURN_RET_LOGE(g_proxyChannelList != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, |
| @@ -371,6 +374,7 @@ void TransPagingBadKeyRetry(int32_t channelId) | |||
| 371 | TRANS_LOGE(TRANS_CTRL, "AuthGenApplyKey fail, ret=%{public}d", ret); | 374 | TRANS_LOGE(TRANS_CTRL, "AuthGenApplyKey fail, ret=%{public}d", ret); |
| 372 | } | 375 | } |
| 373 | } | 376 | } |
| 377 | +#endif | ||
| 374 | 378 | ||
| 375 | static int32_t TransProxyUpdateAckInfo(ProxyChannelInfo *info) | 379 | static int32_t TransProxyUpdateAckInfo(ProxyChannelInfo *info) |
| 376 | { | 380 | { |
| @@ -717,6 +721,7 @@ static int32_t TransProxyDelByChannelId(int32_t channelId, ProxyChannelInfo *cha | |||
| 717 | return SOFTBUS_TRANS_NODE_NOT_FOUND; | 721 | return SOFTBUS_TRANS_NODE_NOT_FOUND; |
| 718 | } | 722 | } |
| 719 | 723 | ||
| 724 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 720 | int32_t TransPagingResetChan(ProxyChannelInfo *chanInfo) | 725 | int32_t TransPagingResetChan(ProxyChannelInfo *chanInfo) |
| 721 | { | 726 | { |
| 722 | TRANS_CHECK_AND_RETURN_RET_LOGE(chanInfo != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, "chanInfo is null"); | 727 | TRANS_CHECK_AND_RETURN_RET_LOGE(chanInfo != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, "chanInfo is null"); |
| @@ -746,6 +751,7 @@ int32_t TransPagingResetChan(ProxyChannelInfo *chanInfo) | |||
| 746 | 751 | ||
| 747 | return SOFTBUS_TRANS_NODE_NOT_FOUND; | 752 | return SOFTBUS_TRANS_NODE_NOT_FOUND; |
| 748 | } | 753 | } |
| 754 | +#endif | ||
| 749 | 755 | ||
| 750 | static int32_t TransProxyResetChan(ProxyChannelInfo *chanInfo) | 756 | static int32_t TransProxyResetChan(ProxyChannelInfo *chanInfo) |
| 751 | { | 757 | { |
| @@ -1041,6 +1047,7 @@ static void TransProxyReportAuditEvent(ProxyChannelInfo *info, SoftbusAuditType | |||
| 1041 | TRANS_AUDIT(AUDIT_SCENE_OPEN_SESSION, extra); | 1047 | TRANS_AUDIT(AUDIT_SCENE_OPEN_SESSION, extra); |
| 1042 | } | 1048 | } |
| 1043 | 1049 | ||
| 1050 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1044 | int32_t TransPagingHandshakeUnPackErrMsg(ProxyChannelInfo *chan, const ProxyMessage *msg, int32_t *errCode) | 1051 | int32_t TransPagingHandshakeUnPackErrMsg(ProxyChannelInfo *chan, const ProxyMessage *msg, int32_t *errCode) |
| 1045 | { | 1052 | { |
| 1046 | if (errCode == NULL || chan == NULL || msg == NULL) { | 1053 | if (errCode == NULL || chan == NULL || msg == NULL) { |
| @@ -1066,6 +1073,7 @@ int32_t TransPagingHandshakeUnPackErrMsg(ProxyChannelInfo *chan, const ProxyMess | |||
| 1066 | cJSON_Delete(root); | 1073 | cJSON_Delete(root); |
| 1067 | return SOFTBUS_OK; | 1074 | return SOFTBUS_OK; |
| 1068 | } | 1075 | } |
| 1076 | +#endif | ||
| 1069 | 1077 | ||
| 1070 | static int32_t TransProxyHandshakeUnpackErrMsg(ProxyChannelInfo *info, const ProxyMessage *msg, int32_t *errCode) | 1078 | static int32_t TransProxyHandshakeUnpackErrMsg(ProxyChannelInfo *info, const ProxyMessage *msg, int32_t *errCode) |
| 1071 | { | 1079 | { |
| @@ -1329,6 +1337,7 @@ static int32_t TransProxyFillChannelInfo(const ProxyMessage *msg, ProxyChannelIn | |||
| 1329 | return SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE; | 1337 | return SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE; |
| 1330 | } | 1338 | } |
| 1331 | 1339 | ||
| 1340 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1332 | if (chan->appInfo.appType == APP_TYPE_NORMAL && chan->appInfo.callingTokenId != TOKENID_NOT_SET) { | 1341 | if (chan->appInfo.appType == APP_TYPE_NORMAL && chan->appInfo.callingTokenId != TOKENID_NOT_SET) { |
| 1333 | (void)LnnGetNetworkIdByUuid(chan->appInfo.peerData.deviceId, chan->appInfo.peerNetWorkId, NETWORK_ID_BUF_LEN); | 1342 | (void)LnnGetNetworkIdByUuid(chan->appInfo.peerData.deviceId, chan->appInfo.peerNetWorkId, NETWORK_ID_BUF_LEN); |
| 1334 | int32_t osType = 0; | 1343 | int32_t osType = 0; |
| @@ -1342,6 +1351,12 @@ static int32_t TransProxyFillChannelInfo(const ProxyMessage *msg, ProxyChannelIn | |||
| 1342 | TRANS_LOGI(TRANS_CTRL, "not support acl check"); | 1351 | TRANS_LOGI(TRANS_CTRL, "not support acl check"); |
| 1343 | } | 1352 | } |
| 1344 | } | 1353 | } |
| 1354 | +#else | ||
| 1355 | + if (chan->appInfo.appType == APP_TYPE_NORMAL) { | ||
| 1356 | + TRANS_LOGE(TRANS_CTRL, "normal proxy channel not support, feature disabled"); | ||
| 1357 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1358 | + } | ||
| 1359 | +#endif | ||
| 1345 | 1360 | ||
| 1346 | if (TransCheckServerPermission(chan->appInfo.myData.sessionName, chan->appInfo.peerData.sessionName) != | 1361 | if (TransCheckServerPermission(chan->appInfo.myData.sessionName, chan->appInfo.peerData.sessionName) != |
| 1347 | SOFTBUS_OK) { | 1362 | SOFTBUS_OK) { |
| @@ -1494,6 +1509,7 @@ static int32_t TransProxySaveAndOnOpen(ProxyChannelInfo *chan, int32_t channelId | |||
| 1494 | TRANS_LOGE(TRANS_CTRL, "AddChanItem fail"); | 1509 | TRANS_LOGE(TRANS_CTRL, "AddChanItem fail"); |
| 1495 | goto EXIT_RELEASE; | 1510 | goto EXIT_RELEASE; |
| 1496 | } | 1511 | } |
| 1512 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1497 | if (tmpChan.appInfo.appType == APP_TYPE_NORMAL) { | 1513 | if (tmpChan.appInfo.appType == APP_TYPE_NORMAL) { |
| 1498 | ret = CheckCollabRelation(&(tmpChan.appInfo), tmpChan.channelId, CHANNEL_TYPE_PROXY); | 1514 | ret = CheckCollabRelation(&(tmpChan.appInfo), tmpChan.channelId, CHANNEL_TYPE_PROXY); |
| 1499 | if (ret == SOFTBUS_OK) { | 1515 | if (ret == SOFTBUS_OK) { |
| @@ -1505,6 +1521,13 @@ static int32_t TransProxySaveAndOnOpen(ProxyChannelInfo *chan, int32_t channelId | |||
| 1505 | return ret; | 1521 | return ret; |
| 1506 | } | 1522 | } |
| 1507 | } | 1523 | } |
| 1524 | +#else | ||
| 1525 | + if (tmpChan.appInfo.appType == APP_TYPE_NORMAL) { | ||
| 1526 | + ret = SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1527 | + TRANS_LOGE(TRANS_CTRL, "normal proxy channel not support, feature disabled"); | ||
| 1528 | + goto EXIT_RELEASE; | ||
| 1529 | + } | ||
| 1530 | +#endif | ||
| 1508 | ret = TransServerProxyChannelOpened(&tmpChan, extra, channelId); | 1531 | ret = TransServerProxyChannelOpened(&tmpChan, extra, channelId); |
| 1509 | return ret; | 1532 | return ret; |
| 1510 | EXIT_RELEASE: | 1533 | EXIT_RELEASE: |
| @@ -1693,7 +1716,9 @@ static int32_t TransHandleD2DProxyChannelOpened( | |||
| 1693 | { | 1716 | { |
| 1694 | if (LnnIsOsAccountConstraint()) { | 1717 | if (LnnIsOsAccountConstraint()) { |
| 1695 | TRANS_LOGE(TRANS_CTRL, "block mode: channelId=%{public}d", channelId); | 1718 | TRANS_LOGE(TRANS_CTRL, "block mode: channelId=%{public}d", channelId); |
| 1719 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1696 | (void)TransPagingAckHandshake(chan, SOFTBUS_TRANS_BLOCK_MODE_REJECTED); | 1720 | (void)TransPagingAckHandshake(chan, SOFTBUS_TRANS_BLOCK_MODE_REJECTED); |
| 1721 | +#endif | ||
| 1697 | (void)OnProxyChannelClosed(chan->channelId, &(chan->appInfo)); | 1722 | (void)OnProxyChannelClosed(chan->channelId, &(chan->appInfo)); |
| 1698 | TransProxyDelChanByChanId(chan->channelId); | 1723 | TransProxyDelChanByChanId(chan->channelId); |
| 1699 | return SOFTBUS_TRANS_BLOCK_MODE_REJECTED; | 1724 | return SOFTBUS_TRANS_BLOCK_MODE_REJECTED; |
| @@ -1705,6 +1730,7 @@ static int32_t TransHandleD2DProxyChannelOpened( | |||
| 1705 | TransProxyDelChanByChanId(chan->channelId); | 1730 | TransProxyDelChanByChanId(chan->channelId); |
| 1706 | return ret; | 1731 | return ret; |
| 1707 | } | 1732 | } |
| 1733 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1708 | ret = TransPagingAckHandshake(chan, openResult); | 1734 | ret = TransPagingAckHandshake(chan, openResult); |
| 1709 | if (ret != SOFTBUS_OK) { | 1735 | if (ret != SOFTBUS_OK) { |
| 1710 | TRANS_LOGE(TRANS_CTRL, | 1736 | TRANS_LOGE(TRANS_CTRL, |
| @@ -1713,6 +1739,9 @@ static int32_t TransHandleD2DProxyChannelOpened( | |||
| 1713 | TransProxyDelChanByChanId(chan->channelId); | 1739 | TransProxyDelChanByChanId(chan->channelId); |
| 1714 | return ret; | 1740 | return ret; |
| 1715 | } | 1741 | } |
| 1742 | +#else | ||
| 1743 | + (void)openResult; | ||
| 1744 | +#endif | ||
| 1716 | return OnProxyChannelBind(chan->channelId, &chan->appInfo); | 1745 | return OnProxyChannelBind(chan->channelId, &chan->appInfo); |
| 1717 | } | 1746 | } |
| 1718 | 1747 | ||
| @@ -1800,7 +1829,11 @@ void TransAsyncProxyChannelTask(int32_t channelId) | |||
| 1800 | if (curCount >= LOOPER_REPLY_CNT_MAX) { | 1829 | if (curCount >= LOOPER_REPLY_CNT_MAX) { |
| 1801 | TRANS_LOGE(TRANS_CTRL, "Open proxy channel timeout, channelId=%{public}d", channelId); | 1830 | TRANS_LOGE(TRANS_CTRL, "Open proxy channel timeout, channelId=%{public}d", channelId); |
| 1802 | if (chan.isD2D) { | 1831 | if (chan.isD2D) { |
| 1832 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1803 | (void)TransPagingAckHandshake(&chan, SOFTBUS_TRANS_OPEN_CHANNEL_NEGTIATE_TIMEOUT); | 1833 | (void)TransPagingAckHandshake(&chan, SOFTBUS_TRANS_OPEN_CHANNEL_NEGTIATE_TIMEOUT); |
| 1834 | +#else | ||
| 1835 | + TRANS_LOGE(TRANS_CTRL, "paging ack handshake not support, feature disabled"); | ||
| 1836 | +#endif | ||
| 1804 | } else { | 1837 | } else { |
| 1805 | (void)TransProxyAckHandshake(chan.connId, &chan, SOFTBUS_TRANS_OPEN_CHANNEL_NEGTIATE_TIMEOUT); | 1838 | (void)TransProxyAckHandshake(chan.connId, &chan, SOFTBUS_TRANS_OPEN_CHANNEL_NEGTIATE_TIMEOUT); |
| 1806 | } | 1839 | } |
| @@ -1970,7 +2003,9 @@ void TransProxyProcessKeepAlive(const ProxyMessage *msg) | |||
| 1970 | return; | 2003 | return; |
| 1971 | } | 2004 | } |
| 1972 | 2005 | ||
| 2006 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1973 | TransProxyAckKeepalive(info); | 2007 | TransProxyAckKeepalive(info); |
| 2008 | +#endif | ||
| 1974 | (void)memset_s(info->appInfo.sessionKey, sizeof(info->appInfo.sessionKey), 0, sizeof(info->appInfo.sessionKey)); | 2009 | (void)memset_s(info->appInfo.sessionKey, sizeof(info->appInfo.sessionKey), 0, sizeof(info->appInfo.sessionKey)); |
| 1975 | (void)memset_s(info->appInfo.sinkSessionKey, sizeof(info->appInfo.sinkSessionKey), 0, | 2010 | (void)memset_s(info->appInfo.sinkSessionKey, sizeof(info->appInfo.sinkSessionKey), 0, |
| 1976 | sizeof(info->appInfo.sinkSessionKey)); | 2011 | sizeof(info->appInfo.sinkSessionKey)); |
| @@ -2094,6 +2129,7 @@ int32_t TransProxyCreateChanInfo(ProxyChannelInfo *chan, int32_t channelId, cons | |||
| 2094 | return SOFTBUS_OK; | 2129 | return SOFTBUS_OK; |
| 2095 | } | 2130 | } |
| 2096 | 2131 | ||
| 2132 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 2097 | int32_t TransProxyCreatePagingChanInfo(ProxyChannelInfo *chan) | 2133 | int32_t TransProxyCreatePagingChanInfo(ProxyChannelInfo *chan) |
| 2098 | { | 2134 | { |
| 2099 | TRANS_CHECK_AND_RETURN_RET_LOGE(chan != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, "channel info is null"); | 2135 | TRANS_CHECK_AND_RETURN_RET_LOGE(chan != NULL, SOFTBUS_INVALID_PARAM, TRANS_CTRL, "channel info is null"); |
| @@ -2102,6 +2138,7 @@ int32_t TransProxyCreatePagingChanInfo(ProxyChannelInfo *chan) | |||
| 2102 | TRANS_CTRL, "trans proxy add channelId fail. channelId=%{public}d", chan->channelId); | 2138 | TRANS_CTRL, "trans proxy add channelId fail. channelId=%{public}d", chan->channelId); |
| 2103 | return SOFTBUS_OK; | 2139 | return SOFTBUS_OK; |
| 2104 | } | 2140 | } |
| 2141 | +#endif | ||
| 2105 | 2142 | ||
| 2106 | static void TransProxyUpdateBlePriority(int32_t channelId, uint32_t connId, BlePriority priority) | 2143 | static void TransProxyUpdateBlePriority(int32_t channelId, uint32_t connId, BlePriority priority) |
| 2107 | { | 2144 | { |
| @@ -2785,6 +2822,7 @@ int32_t TransProxySetAuthHandleByChanId(int32_t channelId, AuthHandle authHandle | |||
| 2785 | return SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND; | 2822 | return SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND; |
| 2786 | } | 2823 | } |
| 2787 | 2824 | ||
| 2825 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 2788 | int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient) | 2826 | int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient) |
| 2789 | { | 2827 | { |
| 2790 | TRANS_CHECK_AND_RETURN_RET_LOGE( | 2828 | TRANS_CHECK_AND_RETURN_RET_LOGE( |
| @@ -2809,6 +2847,7 @@ int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, | |||
| 2809 | (void)SoftBusMutexUnlock(&g_proxyChannelList->lock); | 2847 | (void)SoftBusMutexUnlock(&g_proxyChannelList->lock); |
| 2810 | return SOFTBUS_TRANS_NODE_NOT_FOUND; | 2848 | return SOFTBUS_TRANS_NODE_NOT_FOUND; |
| 2811 | } | 2849 | } |
| 2850 | +#endif | ||
| 2812 | 2851 | ||
| 2813 | int32_t TransProxyGetPrivilegeCloseList(ListNode *privilegeCloseList, uint64_t tokenId, int32_t pid) | 2852 | int32_t TransProxyGetPrivilegeCloseList(ListNode *privilegeCloseList, uint64_t tokenId, int32_t pid) |
| 2814 | { | 2853 | { |
| @@ -70,6 +70,7 @@ int32_t TransParseMessageHeadType(char *data, int32_t len, ProxyMessage *msg) | |||
| 70 | return SOFTBUS_OK; | 70 | return SOFTBUS_OK; |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 73 | static int32_t TransPagingParseHandshakeMessageHead(char *data, int32_t len, ProxyMessage *msg, | 74 | static int32_t TransPagingParseHandshakeMessageHead(char *data, int32_t len, ProxyMessage *msg, |
| 74 | uint8_t *accountHash, uint8_t *udidHash) | 75 | uint8_t *accountHash, uint8_t *udidHash) |
| 75 | { | 76 | { |
| @@ -99,6 +100,7 @@ static void TransPagingParseMessageHead(char *data, int32_t len, ProxyMessage *m | |||
| 99 | msg->data = data + PAGING_CHANNEL_HEAD_LEN; | 100 | msg->data = data + PAGING_CHANNEL_HEAD_LEN; |
| 100 | msg->dataLen = len - PAGING_CHANNEL_HEAD_LEN; | 101 | msg->dataLen = len - PAGING_CHANNEL_HEAD_LEN; |
| 101 | } | 102 | } |
| 103 | +#endif | ||
| 102 | 104 | ||
| 103 | static int32_t TransProxyParseMessageHead(char *data, int32_t len, ProxyMessage *msg) | 105 | static int32_t TransProxyParseMessageHead(char *data, int32_t len, ProxyMessage *msg) |
| 104 | { | 106 | { |
| @@ -355,6 +357,7 @@ static int32_t TransProxyParseMessageNoDecrypt(ProxyMessage *msg) | |||
| 355 | return SOFTBUS_OK; | 357 | return SOFTBUS_OK; |
| 356 | } | 358 | } |
| 357 | 359 | ||
| 360 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 358 | static bool TransUnPackPagingExtraData(cJSON *root, void *extraData) | 361 | static bool TransUnPackPagingExtraData(cJSON *root, void *extraData) |
| 359 | { | 362 | { |
| 360 | char extraDataStr[EXTRA_DATA_STR_MAX_LEN] = {0}; | 363 | char extraDataStr[EXTRA_DATA_STR_MAX_LEN] = {0}; |
| @@ -1004,6 +1007,7 @@ int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg) | |||
| 1004 | SoftBusFree(msg->data); | 1007 | SoftBusFree(msg->data); |
| 1005 | return SOFTBUS_OK; | 1008 | return SOFTBUS_OK; |
| 1006 | } | 1009 | } |
| 1010 | +#endif | ||
| 1007 | 1011 | ||
| 1008 | int32_t TransProxyParseMessage(char *data, int32_t len, ProxyMessage *msg, AuthHandle *auth) | 1012 | int32_t TransProxyParseMessage(char *data, int32_t len, ProxyMessage *msg, AuthHandle *auth) |
| 1009 | { | 1013 | { |
| @@ -1098,6 +1102,7 @@ static int32_t PackEncryptedMessage(ProxyMessageHead *msg, AuthHandle authHandle | |||
| 1098 | return SOFTBUS_OK; | 1102 | return SOFTBUS_OK; |
| 1099 | } | 1103 | } |
| 1100 | 1104 | ||
| 1105 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1101 | int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash) | 1106 | int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash) |
| 1102 | { | 1107 | { |
| 1103 | if (msg == NULL || dataInfo == NULL || chan == NULL) { | 1108 | if (msg == NULL || dataInfo == NULL || chan == NULL) { |
| @@ -1133,6 +1138,7 @@ int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, | |||
| 1133 | dataInfo->outLen = size; | 1138 | dataInfo->outLen = size; |
| 1134 | return SOFTBUS_OK; | 1139 | return SOFTBUS_OK; |
| 1135 | } | 1140 | } |
| 1141 | +#endif | ||
| 1136 | 1142 | ||
| 1137 | int32_t TransProxyPackMessage( | 1143 | int32_t TransProxyPackMessage( |
| 1138 | ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo) | 1144 | ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo) |
| @@ -1154,6 +1160,7 @@ int32_t TransProxyPackMessage( | |||
| 1154 | return SOFTBUS_OK; | 1160 | return SOFTBUS_OK; |
| 1155 | } | 1161 | } |
| 1156 | 1162 | ||
| 1163 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1157 | static int32_t PackHandshakeMsgForFastData(AppInfo *appInfo, cJSON *root) | 1164 | static int32_t PackHandshakeMsgForFastData(AppInfo *appInfo, cJSON *root) |
| 1158 | { | 1165 | { |
| 1159 | // fastTransData is NULL, just fill fastTransDataSize | 1166 | // fastTransData is NULL, just fill fastTransDataSize |
| @@ -1226,6 +1233,7 @@ char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId) | |||
| 1226 | cJSON_Delete(root); | 1233 | cJSON_Delete(root); |
| 1227 | return buf; | 1234 | return buf; |
| 1228 | } | 1235 | } |
| 1236 | +#endif | ||
| 1229 | 1237 | ||
| 1230 | char *TransProxyPackHandshakeErrMsg(int32_t errCode) | 1238 | char *TransProxyPackHandshakeErrMsg(int32_t errCode) |
| 1231 | { | 1239 | { |
| @@ -1266,6 +1274,7 @@ static bool TransProxyAddJsonObject(cJSON *root, ProxyChannelInfo *info) | |||
| 1266 | return true; | 1274 | return true; |
| 1267 | } | 1275 | } |
| 1268 | 1276 | ||
| 1277 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1269 | static bool TransPackPagingExtraData(cJSON *root, void *extraData) | 1278 | static bool TransPackPagingExtraData(cJSON *root, void *extraData) |
| 1270 | { | 1279 | { |
| 1271 | char extraDataStr[EXTRA_DATA_STR_MAX_LEN] = { 0 }; | 1280 | char extraDataStr[EXTRA_DATA_STR_MAX_LEN] = { 0 }; |
| @@ -1313,6 +1322,30 @@ char *TransPagingPackHandshakeMsg(ProxyChannelInfo *info) | |||
| 1313 | cJSON_Delete(root); | 1322 | cJSON_Delete(root); |
| 1314 | return buf; | 1323 | return buf; |
| 1315 | } | 1324 | } |
| 1325 | +#endif | ||
| 1326 | + | ||
| 1327 | +static bool PackAuthHandshakeFields(cJSON *root, AppInfo *appInfo) | ||
| 1328 | +{ | ||
| 1329 | + if (strlen(appInfo->reqId) == 0 && GenerateRandomStr(appInfo->reqId, REQ_ID_SIZE_MAX) != SOFTBUS_OK) { | ||
| 1330 | + return false; | ||
| 1331 | + } | ||
| 1332 | + if (!AddStringToJsonObject(root, JSON_KEY_REQUEST_ID, appInfo->reqId)) { | ||
| 1333 | + return false; | ||
| 1334 | + } | ||
| 1335 | + return AddStringToJsonObject(root, JSON_KEY_PKG_NAME, appInfo->myData.pkgName); | ||
| 1336 | +} | ||
| 1337 | + | ||
| 1338 | +static bool PackInnerHandshakeFields(cJSON *root, AppInfo *appInfo, SessionKeyBase64 *sessionBase64) | ||
| 1339 | +{ | ||
| 1340 | + int32_t ret = SoftBusBase64Encode((uint8_t *)sessionBase64->sessionKeyBase64, | ||
| 1341 | + sizeof(sessionBase64->sessionKeyBase64), &(sessionBase64->len), | ||
| 1342 | + (uint8_t *)appInfo->sessionKey, sizeof(appInfo->sessionKey)); | ||
| 1343 | + if (ret != SOFTBUS_OK) { | ||
| 1344 | + TRANS_LOGE(TRANS_CTRL, "mbedtls_base64_encode FAIL ret=%{public}d", ret); | ||
| 1345 | + return false; | ||
| 1346 | + } | ||
| 1347 | + return AddStringToJsonObject(root, JSON_KEY_SESSION_KEY, sessionBase64->sessionKeyBase64); | ||
| 1348 | +} | ||
| 1316 | 1349 | ||
| 1317 | char *TransProxyPackHandshakeMsg(ProxyChannelInfo *info) | 1350 | char *TransProxyPackHandshakeMsg(ProxyChannelInfo *info) |
| 1318 | { | 1351 | { |
| @@ -1320,7 +1353,6 @@ char *TransProxyPackHandshakeMsg(ProxyChannelInfo *info) | |||
| 1320 | TRANS_LOGE(TRANS_CTRL, "invalid param."); | 1353 | TRANS_LOGE(TRANS_CTRL, "invalid param."); |
| 1321 | return NULL; | 1354 | return NULL; |
| 1322 | } | 1355 | } |
| 1323 | - | ||
| 1324 | cJSON *root = cJSON_CreateObject(); | 1356 | cJSON *root = cJSON_CreateObject(); |
| 1325 | if (root == NULL) { | 1357 | if (root == NULL) { |
| 1326 | TRANS_LOGE(TRANS_CTRL, "create json object failed."); | 1358 | TRANS_LOGE(TRANS_CTRL, "create json object failed."); |
| @@ -1335,28 +1367,20 @@ char *TransProxyPackHandshakeMsg(ProxyChannelInfo *info) | |||
| 1335 | } | 1367 | } |
| 1336 | (void)cJSON_AddTrueToObject(root, JSON_KEY_HAS_PRIORITY); | 1368 | (void)cJSON_AddTrueToObject(root, JSON_KEY_HAS_PRIORITY); |
| 1337 | if (appInfo->appType == APP_TYPE_NORMAL) { | 1369 | if (appInfo->appType == APP_TYPE_NORMAL) { |
| 1370 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1338 | if (PackHandshakeMsgForNormal(&sessionBase64, appInfo, root) != SOFTBUS_OK) { | 1371 | if (PackHandshakeMsgForNormal(&sessionBase64, appInfo, root) != SOFTBUS_OK) { |
| 1339 | goto EXIT; | 1372 | goto EXIT; |
| 1340 | } | 1373 | } |
| 1374 | +#else | ||
| 1375 | + TRANS_LOGE(TRANS_CTRL, "normal proxy channel not support, feature disabled"); | ||
| 1376 | + goto EXIT; | ||
| 1377 | +#endif | ||
| 1341 | } else if (appInfo->appType == APP_TYPE_AUTH) { | 1378 | } else if (appInfo->appType == APP_TYPE_AUTH) { |
| 1342 | - if (strlen(appInfo->reqId) == 0 && GenerateRandomStr(appInfo->reqId, REQ_ID_SIZE_MAX) != SOFTBUS_OK) { | 1379 | + if (!PackAuthHandshakeFields(root, appInfo)) { |
| 1343 | - goto EXIT; | ||
| 1344 | - } | ||
| 1345 | - if (!AddStringToJsonObject(root, JSON_KEY_REQUEST_ID, appInfo->reqId)) { | ||
| 1346 | - goto EXIT; | ||
| 1347 | - } | ||
| 1348 | - if (!AddStringToJsonObject(root, JSON_KEY_PKG_NAME, appInfo->myData.pkgName)) { | ||
| 1349 | goto EXIT; | 1380 | goto EXIT; |
| 1350 | } | 1381 | } |
| 1351 | } else { | 1382 | } else { |
| 1352 | - int32_t ret = SoftBusBase64Encode((uint8_t *)sessionBase64.sessionKeyBase64, | 1383 | + if (!PackInnerHandshakeFields(root, appInfo, &sessionBase64)) { |
| 1353 | - sizeof(sessionBase64.sessionKeyBase64), &(sessionBase64.len), | ||
| 1354 | - (uint8_t *)appInfo->sessionKey, sizeof(appInfo->sessionKey)); | ||
| 1355 | - if (ret != SOFTBUS_OK) { | ||
| 1356 | - TRANS_LOGE(TRANS_CTRL, "mbedtls_base64_encode FAIL ret=%{public}d", ret); | ||
| 1357 | - goto EXIT; | ||
| 1358 | - } | ||
| 1359 | - if (!AddStringToJsonObject(root, JSON_KEY_SESSION_KEY, sessionBase64.sessionKeyBase64)) { | ||
| 1360 | goto EXIT; | 1384 | goto EXIT; |
| 1361 | } | 1385 | } |
| 1362 | } | 1386 | } |
| @@ -1366,6 +1390,7 @@ EXIT: | |||
| 1366 | return buf; | 1390 | return buf; |
| 1367 | } | 1391 | } |
| 1368 | 1392 | ||
| 1393 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1369 | static int32_t AddSinkSessionKeyToHandshakeAckMsg(cJSON *root, const AppInfo *appInfo) | 1394 | static int32_t AddSinkSessionKeyToHandshakeAckMsg(cJSON *root, const AppInfo *appInfo) |
| 1370 | { | 1395 | { |
| 1371 | (void)AddStringToJsonObject(root, JSON_KEY_SINK_ACL_ACCOUNT_ID, appInfo->myData.accountId); | 1396 | (void)AddStringToJsonObject(root, JSON_KEY_SINK_ACL_ACCOUNT_ID, appInfo->myData.accountId); |
| @@ -1427,6 +1452,24 @@ char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan) | |||
| 1427 | return buf; | 1452 | return buf; |
| 1428 | } | 1453 | } |
| 1429 | 1454 | ||
| 1455 | +static bool PackNormalAckFields(cJSON *root, const AppInfo *appInfo, ProxyChannelInfo *chan) | ||
| 1456 | +{ | ||
| 1457 | + if (!AddNumberToJsonObject(root, JSON_KEY_UID, appInfo->myData.uid) || | ||
| 1458 | + !AddNumberToJsonObject(root, JSON_KEY_PID, appInfo->myData.pid) || | ||
| 1459 | + !AddStringToJsonObject(root, JSON_KEY_PKG_NAME, appInfo->myData.pkgName) || | ||
| 1460 | + !AddNumberToJsonObject(root, JSON_KEY_ENCRYPT, appInfo->encrypt) || | ||
| 1461 | + !AddNumberToJsonObject(root, JSON_KEY_ALGORITHM, appInfo->algorithm) || | ||
| 1462 | + !AddNumberToJsonObject(root, JSON_KEY_CRC, appInfo->crc) || | ||
| 1463 | + !AddNumber16ToJsonObject(root, JSON_KEY_FIRST_DATA_SIZE, appInfo->fastTransDataSize) || | ||
| 1464 | + !AddStringToJsonObject(root, JSON_KEY_SRC_BUS_NAME, appInfo->myData.sessionName) || | ||
| 1465 | + !AddStringToJsonObject(root, JSON_KEY_DST_BUS_NAME, appInfo->peerData.sessionName)) { | ||
| 1466 | + return false; | ||
| 1467 | + } | ||
| 1468 | + (void)AddNumberToJsonObject(root, JSON_KEY_MY_HANDLE_ID, appInfo->myHandleId); | ||
| 1469 | + return AddSinkSessionKeyToHandshakeAckMsg(root, &chan->appInfo) == SOFTBUS_OK; | ||
| 1470 | +} | ||
| 1471 | +#endif | ||
| 1472 | + | ||
| 1430 | char *TransProxyPackHandshakeAckMsg(ProxyChannelInfo *chan) | 1473 | char *TransProxyPackHandshakeAckMsg(ProxyChannelInfo *chan) |
| 1431 | { | 1474 | { |
| 1432 | TRANS_CHECK_AND_RETURN_RET_LOGE(chan != NULL, NULL, TRANS_CTRL, "invalid param."); | 1475 | TRANS_CHECK_AND_RETURN_RET_LOGE(chan != NULL, NULL, TRANS_CTRL, "invalid param."); |
| @@ -1450,30 +1493,22 @@ char *TransProxyPackHandshakeAckMsg(ProxyChannelInfo *chan) | |||
| 1450 | } | 1493 | } |
| 1451 | (void)cJSON_AddTrueToObject(root, JSON_KEY_HAS_PRIORITY); | 1494 | (void)cJSON_AddTrueToObject(root, JSON_KEY_HAS_PRIORITY); |
| 1452 | if (appInfo->appType == APP_TYPE_NORMAL) { | 1495 | if (appInfo->appType == APP_TYPE_NORMAL) { |
| 1453 | - if (!AddNumberToJsonObject(root, JSON_KEY_UID, appInfo->myData.uid) || | 1496 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL |
| 1454 | - !AddNumberToJsonObject(root, JSON_KEY_PID, appInfo->myData.pid) || | 1497 | + if (!PackNormalAckFields(root, appInfo, chan)) { |
| 1455 | - !AddStringToJsonObject(root, JSON_KEY_PKG_NAME, appInfo->myData.pkgName) || | ||
| 1456 | - !AddNumberToJsonObject(root, JSON_KEY_ENCRYPT, appInfo->encrypt) || | ||
| 1457 | - !AddNumberToJsonObject(root, JSON_KEY_ALGORITHM, appInfo->algorithm) || | ||
| 1458 | - !AddNumberToJsonObject(root, JSON_KEY_CRC, appInfo->crc) || | ||
| 1459 | - !AddNumber16ToJsonObject(root, JSON_KEY_FIRST_DATA_SIZE, appInfo->fastTransDataSize) || | ||
| 1460 | - !AddStringToJsonObject(root, JSON_KEY_SRC_BUS_NAME, appInfo->myData.sessionName) || | ||
| 1461 | - !AddStringToJsonObject(root, JSON_KEY_DST_BUS_NAME, appInfo->peerData.sessionName)) { | ||
| 1462 | - cJSON_Delete(root); | ||
| 1463 | - return NULL; | ||
| 1464 | - } | ||
| 1465 | - (void)AddNumberToJsonObject(root, JSON_KEY_MY_HANDLE_ID, appInfo->myHandleId); | ||
| 1466 | - if (AddSinkSessionKeyToHandshakeAckMsg(root, &chan->appInfo) != SOFTBUS_OK) { | ||
| 1467 | cJSON_Delete(root); | 1498 | cJSON_Delete(root); |
| 1468 | return NULL; | 1499 | return NULL; |
| 1469 | } | 1500 | } |
| 1501 | +#else | ||
| 1502 | + TRANS_LOGE(TRANS_CTRL, "normal proxy channel not support, feature disabled"); | ||
| 1503 | + cJSON_Delete(root); | ||
| 1504 | + return NULL; | ||
| 1505 | +#endif | ||
| 1470 | } else if (appInfo->appType == APP_TYPE_AUTH) { | 1506 | } else if (appInfo->appType == APP_TYPE_AUTH) { |
| 1471 | if (!AddStringToJsonObject(root, JSON_KEY_PKG_NAME, appInfo->myData.pkgName)) { | 1507 | if (!AddStringToJsonObject(root, JSON_KEY_PKG_NAME, appInfo->myData.pkgName)) { |
| 1472 | cJSON_Delete(root); | 1508 | cJSON_Delete(root); |
| 1473 | return NULL; | 1509 | return NULL; |
| 1474 | } | 1510 | } |
| 1475 | } | 1511 | } |
| 1476 | - | ||
| 1477 | char *buf = cJSON_PrintUnformatted(root); | 1512 | char *buf = cJSON_PrintUnformatted(root); |
| 1478 | cJSON_Delete(root); | 1513 | cJSON_Delete(root); |
| 1479 | return buf; | 1514 | return buf; |
| @@ -1536,6 +1571,7 @@ static int32_t GetSinkSessionKeyFromHandshakeAckMsg(cJSON *root, AppInfo *appInf | |||
| 1536 | return DecryptAndAddSinkSessionKey(root, appInfo); | 1571 | return DecryptAndAddSinkSessionKey(root, appInfo); |
| 1537 | } | 1572 | } |
| 1538 | 1573 | ||
| 1574 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1539 | static void GetNoramlInfoFromHandshakeAckMsg(cJSON *root, ProxyChannelInfo *chanInfo) | 1575 | static void GetNoramlInfoFromHandshakeAckMsg(cJSON *root, ProxyChannelInfo *chanInfo) |
| 1540 | { | 1576 | { |
| 1541 | if (!GetJsonObjectNumberItem(root, JSON_KEY_UID, &chanInfo->appInfo.peerData.uid) || | 1577 | if (!GetJsonObjectNumberItem(root, JSON_KEY_UID, &chanInfo->appInfo.peerData.uid) || |
| @@ -1550,6 +1586,7 @@ static void GetNoramlInfoFromHandshakeAckMsg(cJSON *root, ProxyChannelInfo *chan | |||
| 1550 | TRANS_LOGW(TRANS_CTRL, "unpack handshake ack old version"); | 1586 | TRANS_LOGW(TRANS_CTRL, "unpack handshake ack old version"); |
| 1551 | } | 1587 | } |
| 1552 | } | 1588 | } |
| 1589 | +#endif | ||
| 1553 | 1590 | ||
| 1554 | int32_t TransProxyUnpackHandshakeAckMsg(const char *msg, ProxyChannelInfo *chanInfo, int32_t len) | 1591 | int32_t TransProxyUnpackHandshakeAckMsg(const char *msg, ProxyChannelInfo *chanInfo, int32_t len) |
| 1555 | { | 1592 | { |
| @@ -1581,12 +1618,20 @@ int32_t TransProxyUnpackHandshakeAckMsg(const char *msg, ProxyChannelInfo *chanI | |||
| 1581 | cJSON_Delete(root); | 1618 | cJSON_Delete(root); |
| 1582 | return SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE; | 1619 | return SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE; |
| 1583 | } | 1620 | } |
| 1621 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1584 | if (chanInfo->appInfo.appType == APP_TYPE_NORMAL) { | 1622 | if (chanInfo->appInfo.appType == APP_TYPE_NORMAL) { |
| 1585 | GetNoramlInfoFromHandshakeAckMsg(root, chanInfo); | 1623 | GetNoramlInfoFromHandshakeAckMsg(root, chanInfo); |
| 1586 | if (!GetJsonObjectInt32Item(root, JSON_KEY_MY_HANDLE_ID, &chanInfo->appInfo.peerHandleId)) { | 1624 | if (!GetJsonObjectInt32Item(root, JSON_KEY_MY_HANDLE_ID, &chanInfo->appInfo.peerHandleId)) { |
| 1587 | chanInfo->appInfo.peerHandleId = -1; | 1625 | chanInfo->appInfo.peerHandleId = -1; |
| 1588 | } | 1626 | } |
| 1589 | } | 1627 | } |
| 1628 | +#else | ||
| 1629 | + if (chanInfo->appInfo.appType == APP_TYPE_NORMAL) { | ||
| 1630 | + TRANS_LOGE(TRANS_CTRL, "normal proxy channel not support, feature disabled"); | ||
| 1631 | + cJSON_Delete(root); | ||
| 1632 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1633 | + } | ||
| 1634 | +#endif | ||
| 1590 | 1635 | ||
| 1591 | if (!GetJsonObjectStringItem(root, JSON_KEY_PKG_NAME, chanInfo->appInfo.peerData.pkgName, | 1636 | if (!GetJsonObjectStringItem(root, JSON_KEY_PKG_NAME, chanInfo->appInfo.peerData.pkgName, |
| 1592 | sizeof(chanInfo->appInfo.peerData.pkgName))) { | 1637 | sizeof(chanInfo->appInfo.peerData.pkgName))) { |
| @@ -1603,6 +1648,7 @@ int32_t TransProxyUnpackHandshakeAckMsg(const char *msg, ProxyChannelInfo *chanI | |||
| 1603 | return SOFTBUS_OK; | 1648 | return SOFTBUS_OK; |
| 1604 | } | 1649 | } |
| 1605 | 1650 | ||
| 1651 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1606 | static int32_t UnpackPackHandshakeMsgForFastData(AppInfo *appInfo, cJSON *root) | 1652 | static int32_t UnpackPackHandshakeMsgForFastData(AppInfo *appInfo, cJSON *root) |
| 1607 | { | 1653 | { |
| 1608 | (void)LnnGetNetworkIdByUuid(appInfo->peerData.deviceId, appInfo->peerNetWorkId, NETWORK_ID_BUF_LEN); | 1654 | (void)LnnGetNetworkIdByUuid(appInfo->peerData.deviceId, appInfo->peerNetWorkId, NETWORK_ID_BUF_LEN); |
| @@ -1705,6 +1751,7 @@ static int32_t TransProxyUnpackNormalHandshakeMsg(cJSON *root, AppInfo *appInfo, | |||
| 1705 | root, JSON_KEY_SOURCE_ACL_EXTRA_INFO, (appInfo->extraAccessInfo), EXTRA_ACCESS_INFO_LEN_MAX); | 1751 | root, JSON_KEY_SOURCE_ACL_EXTRA_INFO, (appInfo->extraAccessInfo), EXTRA_ACCESS_INFO_LEN_MAX); |
| 1706 | return SOFTBUS_OK; | 1752 | return SOFTBUS_OK; |
| 1707 | } | 1753 | } |
| 1754 | +#endif | ||
| 1708 | 1755 | ||
| 1709 | static int32_t TransProxyUnpackAuthHandshakeMsg(cJSON *root, AppInfo *appInfo) | 1756 | static int32_t TransProxyUnpackAuthHandshakeMsg(cJSON *root, AppInfo *appInfo) |
| 1710 | { | 1757 | { |
| @@ -1774,10 +1821,16 @@ int32_t TransProxyUnpackHandshakeMsg(const char *msg, ProxyChannelInfo *chan, in | |||
| 1774 | goto ERR_EXIT; | 1821 | goto ERR_EXIT; |
| 1775 | } | 1822 | } |
| 1776 | if (appInfo->appType == APP_TYPE_NORMAL) { | 1823 | if (appInfo->appType == APP_TYPE_NORMAL) { |
| 1824 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1777 | ret = TransProxyUnpackNormalHandshakeMsg(root, appInfo, sessionKey, BASE64KEY); | 1825 | ret = TransProxyUnpackNormalHandshakeMsg(root, appInfo, sessionKey, BASE64KEY); |
| 1778 | if (ret != SOFTBUS_OK) { | 1826 | if (ret != SOFTBUS_OK) { |
| 1779 | goto ERR_EXIT; | 1827 | goto ERR_EXIT; |
| 1780 | } | 1828 | } |
| 1829 | +#else | ||
| 1830 | + ret = SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1831 | + TRANS_LOGE(TRANS_CTRL, "normal proxy channel not support, feature disabled"); | ||
| 1832 | + goto ERR_EXIT; | ||
| 1833 | +#endif | ||
| 1781 | } else if (appInfo->appType == APP_TYPE_AUTH) { | 1834 | } else if (appInfo->appType == APP_TYPE_AUTH) { |
| 1782 | ret = TransProxyUnpackAuthHandshakeMsg(root, appInfo); | 1835 | ret = TransProxyUnpackAuthHandshakeMsg(root, appInfo); |
| 1783 | if (ret != SOFTBUS_OK) { | 1836 | if (ret != SOFTBUS_OK) { |
| @@ -1802,6 +1855,7 @@ ERR_EXIT: | |||
| 1802 | return ret; | 1855 | return ret; |
| 1803 | } | 1856 | } |
| 1804 | 1857 | ||
| 1858 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1805 | char *TransProxyPagingPackChannelId(int16_t channelId) | 1859 | char *TransProxyPagingPackChannelId(int16_t channelId) |
| 1806 | { | 1860 | { |
| 1807 | if (channelId <= 0) { | 1861 | if (channelId <= 0) { |
| @@ -1827,6 +1881,7 @@ char *TransProxyPagingPackChannelId(int16_t channelId) | |||
| 1827 | cJSON_Delete(root); | 1881 | cJSON_Delete(root); |
| 1828 | return buf; | 1882 | return buf; |
| 1829 | } | 1883 | } |
| 1884 | +#endif | ||
| 1830 | 1885 | ||
| 1831 | char *TransProxyPackIdentity(const char *identity) | 1886 | char *TransProxyPackIdentity(const char *identity) |
| 1832 | { | 1887 | { |
| @@ -49,7 +49,9 @@ | |||
| 49 | #define WAIT_LISTEN_CHECK_NUM (50) | 49 | #define WAIT_LISTEN_CHECK_NUM (50) |
| 50 | 50 | ||
| 51 | static SoftBusList *g_proxyConnectionList = NULL; | 51 | static SoftBusList *g_proxyConnectionList = NULL; |
| 52 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 52 | static SoftBusList *g_proxyPagingWaitList = NULL; | 53 | static SoftBusList *g_proxyPagingWaitList = NULL; |
| 54 | +#endif | ||
| 53 | const char *g_transProxyLoopName = "transProxyLoopName"; | 55 | const char *g_transProxyLoopName = "transProxyLoopName"; |
| 54 | SoftBusHandler g_transLoopHandler = { 0 }; | 56 | SoftBusHandler g_transLoopHandler = { 0 }; |
| 55 | 57 | ||
| @@ -208,6 +210,7 @@ static int32_t TransProxyResetAndCloseConn(ProxyChannelInfo *chan) | |||
| 208 | return SOFTBUS_OK; | 210 | return SOFTBUS_OK; |
| 209 | } | 211 | } |
| 210 | 212 | ||
| 213 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 211 | static void TransProxyLoopMsgHandlerEx(SoftBusMessage *msg) | 214 | static void TransProxyLoopMsgHandlerEx(SoftBusMessage *msg) |
| 212 | { | 215 | { |
| 213 | TRANS_CHECK_AND_RETURN_LOGE(msg != NULL, TRANS_MSG, "param invalid"); | 216 | TRANS_CHECK_AND_RETURN_LOGE(msg != NULL, TRANS_MSG, "param invalid"); |
| @@ -224,6 +227,7 @@ static void TransProxyLoopMsgHandlerEx(SoftBusMessage *msg) | |||
| 224 | break; | 227 | break; |
| 225 | } | 228 | } |
| 226 | } | 229 | } |
| 230 | +#endif | ||
| 227 | 231 | ||
| 228 | static void TransProxyLoopMsgHandler(SoftBusMessage *msg) | 232 | static void TransProxyLoopMsgHandler(SoftBusMessage *msg) |
| 229 | { | 233 | { |
| @@ -258,7 +262,9 @@ static void TransProxyLoopMsgHandler(SoftBusMessage *msg) | |||
| 258 | case LOOP_KEEPALIVE_MSG: | 262 | case LOOP_KEEPALIVE_MSG: |
| 259 | chan = (ProxyChannelInfo *)msg->obj; | 263 | chan = (ProxyChannelInfo *)msg->obj; |
| 260 | TRANS_CHECK_AND_RETURN_LOGE(chan != NULL, TRANS_MSG, "LOOP_KEEPALIVE_MSG, chan is null"); | 264 | TRANS_CHECK_AND_RETURN_LOGE(chan != NULL, TRANS_MSG, "LOOP_KEEPALIVE_MSG, chan is null"); |
| 265 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 261 | TransProxyKeepalive(chan->connId, chan); | 266 | TransProxyKeepalive(chan->connId, chan); |
| 267 | +#endif | ||
| 262 | break; | 268 | break; |
| 263 | case LOOP_RESETPEER_MSG: | 269 | case LOOP_RESETPEER_MSG: |
| 264 | chan = (ProxyChannelInfo *)msg->obj; | 270 | chan = (ProxyChannelInfo *)msg->obj; |
| @@ -272,7 +278,9 @@ static void TransProxyLoopMsgHandler(SoftBusMessage *msg) | |||
| 272 | break; | 278 | break; |
| 273 | } | 279 | } |
| 274 | default: | 280 | default: |
| 281 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 275 | TransProxyLoopMsgHandlerEx(msg); | 282 | TransProxyLoopMsgHandlerEx(msg); |
| 283 | +#endif | ||
| 276 | break; | 284 | break; |
| 277 | } | 285 | } |
| 278 | } | 286 | } |
| @@ -408,6 +416,7 @@ void TransProxyPostOpenClosedMsgToLoop(const ProxyChannelInfo *chan) | |||
| 408 | g_transLoopHandler.looper->PostMessage(g_transLoopHandler.looper, msg); | 416 | g_transLoopHandler.looper->PostMessage(g_transLoopHandler.looper, msg); |
| 409 | } | 417 | } |
| 410 | 418 | ||
| 419 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 411 | void TransProxyPagingHandshakeMsgToLoop(int32_t channelId, uint8_t *authKey, uint32_t keyLen) | 420 | void TransProxyPagingHandshakeMsgToLoop(int32_t channelId, uint8_t *authKey, uint32_t keyLen) |
| 412 | { | 421 | { |
| 413 | if (authKey == NULL) { | 422 | if (authKey == NULL) { |
| @@ -424,6 +433,7 @@ void TransProxyPagingHandshakeMsgToLoop(int32_t channelId, uint8_t *authKey, uin | |||
| 424 | } | 433 | } |
| 425 | g_transLoopHandler.looper->PostMessage(g_transLoopHandler.looper, msg); | 434 | g_transLoopHandler.looper->PostMessage(g_transLoopHandler.looper, msg); |
| 426 | } | 435 | } |
| 436 | +#endif | ||
| 427 | 437 | ||
| 428 | static int32_t TransProxyLoopInit(void) | 438 | static int32_t TransProxyLoopInit(void) |
| 429 | { | 439 | { |
| @@ -987,10 +997,12 @@ static void TransProxyOnDataReceived(uint32_t connectionId, ConnModule moduleId, | |||
| 987 | return; | 997 | return; |
| 988 | } | 998 | } |
| 989 | if (msg.msgHead.type >= PROXYCHANNEL_MSG_TYPE_PAGING_HANDSHAKE) { | 999 | if (msg.msgHead.type >= PROXYCHANNEL_MSG_TYPE_PAGING_HANDSHAKE) { |
| 1000 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 990 | ret = TransPagingParseMessage(data, len, &msg); | 1001 | ret = TransPagingParseMessage(data, len, &msg); |
| 991 | if (ret != SOFTBUS_OK) { | 1002 | if (ret != SOFTBUS_OK) { |
| 992 | TRANS_LOGE(TRANS_CTRL, "parse paging data failed."); | 1003 | TRANS_LOGE(TRANS_CTRL, "parse paging data failed."); |
| 993 | } | 1004 | } |
| 1005 | +#endif | ||
| 994 | return; | 1006 | return; |
| 995 | } | 1007 | } |
| 996 | AuthHandle authHandle = { .authId = AUTH_INVALID_ID }; | 1008 | AuthHandle authHandle = { .authId = AUTH_INVALID_ID }; |
| @@ -1033,11 +1045,13 @@ int32_t TransProxyTransInit(void) | |||
| 1033 | TRANS_LOGE(TRANS_INIT, "create observer list failed"); | 1045 | TRANS_LOGE(TRANS_INIT, "create observer list failed"); |
| 1034 | return SOFTBUS_MALLOC_ERR; | 1046 | return SOFTBUS_MALLOC_ERR; |
| 1035 | } | 1047 | } |
| 1048 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1036 | g_proxyPagingWaitList = CreateSoftBusList(); | 1049 | g_proxyPagingWaitList = CreateSoftBusList(); |
| 1037 | if (g_proxyPagingWaitList == NULL) { | 1050 | if (g_proxyPagingWaitList == NULL) { |
| 1038 | TRANS_LOGE(TRANS_INIT, "create paging handshake list failed"); | 1051 | TRANS_LOGE(TRANS_INIT, "create paging handshake list failed"); |
| 1039 | return SOFTBUS_MALLOC_ERR; | 1052 | return SOFTBUS_MALLOC_ERR; |
| 1040 | } | 1053 | } |
| 1054 | +#endif | ||
| 1041 | 1055 | ||
| 1042 | ret = TransProxyLoopInit(); | 1056 | ret = TransProxyLoopInit(); |
| 1043 | TRANS_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, TRANS_INIT, "create loopInit fail"); | 1057 | TRANS_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, TRANS_INIT, "create loopInit fail"); |
| @@ -1240,6 +1254,7 @@ void TransProxyNegoSessionKeySucc(int32_t channelId) | |||
| 1240 | SoftBusFree(channelInfo); | 1254 | SoftBusFree(channelInfo); |
| 1241 | } | 1255 | } |
| 1242 | 1256 | ||
| 1257 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1243 | int32_t TransPagingWaitListenStatus(const uint32_t businessFlag, PagingWaitListenStatus status) | 1258 | int32_t TransPagingWaitListenStatus(const uint32_t businessFlag, PagingWaitListenStatus status) |
| 1244 | { | 1259 | { |
| 1245 | if (status < PAGING_WAIT_LISTEN_DONE || status > PAGING_WAIT_LISTEN_LOAD_SA_FAIL) { | 1260 | if (status < PAGING_WAIT_LISTEN_DONE || status > PAGING_WAIT_LISTEN_LOAD_SA_FAIL) { |
| @@ -1419,3 +1434,4 @@ int32_t TransCheckPagingListenState(const PagingListenCheckInfo *checkInfo) | |||
| 1419 | } | 1434 | } |
| 1420 | return SOFTBUS_OK; | 1435 | return SOFTBUS_OK; |
| 1421 | } | 1436 | } |
| 1437 | +#endif | ||
| @@ -202,6 +202,22 @@ if (dsoftbus_feature_trans_mintp) { | |||
| 202 | defines += [ "DSOFTBUS_FEATURE_TRANS_MINTP" ] | 202 | defines += [ "DSOFTBUS_FEATURE_TRANS_MINTP" ] |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | +if (dsoftbus_feature_trans_file) { | ||
| 206 | + defines += [ "DSOFTBUS_FEATURE_TRANS_FILE" ] | ||
| 207 | +} | ||
| 208 | + | ||
| 209 | +if (dsoftbus_feature_trans_udp_file) { | ||
| 210 | + defines += [ "DSOFTBUS_FEATURE_TRANS_UDP_FILE" ] | ||
| 211 | +} | ||
| 212 | + | ||
| 213 | +if (dsoftbus_feature_trans_proxy_file) { | ||
| 214 | + defines += [ "DSOFTBUS_FEATURE_TRANS_PROXY_FILE" ] | ||
| 215 | +} | ||
| 216 | + | ||
| 217 | +if (dsoftbus_feature_trans_proxy_channel) { | ||
| 218 | + defines += [ "DSOFTBUS_FEATURE_PROXY_CHANNEL" ] | ||
| 219 | +} | ||
| 220 | + | ||
| 205 | if (dsoftbus_feature_multi_foreground_user) { | 221 | if (dsoftbus_feature_multi_foreground_user) { |
| 206 | defines += [ "DSOFTBUS_FEATURE_MULTI_FOREGROUND_USER" ] | 222 | defines += [ "DSOFTBUS_FEATURE_MULTI_FOREGROUND_USER" ] |
| 207 | } | 223 | } |
| @@ -332,6 +332,7 @@ int32_t SendStream(int32_t sessionId, const StreamData *data, const StreamData * | |||
| 332 | return ClientTransChannelSendStream(channelId, type, data, ext, param); | 332 | return ClientTransChannelSendStream(channelId, type, data, ext, param); |
| 333 | } | 333 | } |
| 334 | 334 | ||
| 335 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 335 | static int32_t ClientCheckFuncPointer(void *func) | 336 | static int32_t ClientCheckFuncPointer(void *func) |
| 336 | { | 337 | { |
| 337 | if (func == NULL) { | 338 | if (func == NULL) { |
| @@ -359,8 +360,58 @@ static int32_t SetSchemaCallbackPacked(FileSchema fileSchema, const char *sFileL | |||
| 359 | return pfnClientEnhanceFuncList->setSchemaCallback(fileSchema, sFileList, fileCnt); | 360 | return pfnClientEnhanceFuncList->setSchemaCallback(fileSchema, sFileList, fileCnt); |
| 360 | } | 361 | } |
| 361 | 362 | ||
| 363 | +static int32_t CheckFileSchemaAndSetCallback(int32_t sessionId, const char *sFileList[], uint32_t fileCnt) | ||
| 364 | +{ | ||
| 365 | + FileSchemaListener *fileSchemaListener = (FileSchemaListener *)SoftBusCalloc(sizeof(FileSchemaListener)); | ||
| 366 | + if (fileSchemaListener == NULL) { | ||
| 367 | + return SOFTBUS_MALLOC_ERR; | ||
| 368 | + } | ||
| 369 | + int32_t ret = SOFTBUS_OK; | ||
| 370 | + if (CheckFileSchemaPacked(sessionId, fileSchemaListener) == SOFTBUS_OK) { | ||
| 371 | + ret = SetSchemaCallbackPacked(fileSchemaListener->schema, sFileList, fileCnt); | ||
| 372 | + if (ret != SOFTBUS_OK) { | ||
| 373 | + TRANS_LOGE(TRANS_FILE, "set schema callback failed, sessionId=%{public}d, ret=%{public}d", sessionId, ret); | ||
| 374 | + } | ||
| 375 | + } | ||
| 376 | + SoftBusFree(fileSchemaListener); | ||
| 377 | + return ret; | ||
| 378 | +} | ||
| 379 | + | ||
| 380 | +static int32_t ValidateSendFileChannel(int32_t sessionId, int32_t *channelId, int32_t *type) | ||
| 381 | +{ | ||
| 382 | + SessionEnableStatus enableStatus = ENABLE_STATUS_INIT; | ||
| 383 | + if (ClientGetChannelBySessionId(sessionId, channelId, type, &enableStatus) != SOFTBUS_OK) { | ||
| 384 | + TRANS_LOGE(TRANS_FILE, "ClientGetChannelBySessionId failed, sessionId=%{public}d", sessionId); | ||
| 385 | + return SOFTBUS_TRANS_INVALID_SESSION_ID; | ||
| 386 | + } | ||
| 387 | + int32_t businessType = BUSINESS_TYPE_BUTT; | ||
| 388 | + if (ClientGetChannelBusinessTypeBySessionId(sessionId, &businessType) != SOFTBUS_OK) { | ||
| 389 | + TRANS_LOGE(TRANS_FILE, "ClientGetChannelBusinessTypeBySessionId failed, sessionId=%{public}d", sessionId); | ||
| 390 | + return SOFTBUS_TRANS_INVALID_SESSION_ID; | ||
| 391 | + } | ||
| 392 | + if ((businessType != BUSINESS_TYPE_FILE) && (businessType != BUSINESS_TYPE_NOT_CARE)) { | ||
| 393 | + TRANS_LOGE(TRANS_FILE, "BusinessType no match, sessionId=%{public}d, businessType=%{public}d", | ||
| 394 | + sessionId, businessType); | ||
| 395 | + return SOFTBUS_TRANS_BUSINESS_TYPE_NOT_MATCH; | ||
| 396 | + } | ||
| 397 | + if (enableStatus != ENABLE_STATUS_SUCCESS) { | ||
| 398 | + TRANS_LOGE(TRANS_FILE, "Enable status failed, sessionId=%{public}d", sessionId); | ||
| 399 | + return SOFTBUS_TRANS_SESSION_NO_ENABLE; | ||
| 400 | + } | ||
| 401 | + return SOFTBUS_OK; | ||
| 402 | +} | ||
| 403 | +#endif | ||
| 404 | + | ||
| 362 | int32_t SendFile(int sessionId, const char *sFileList[], const char *dFileList[], uint32_t fileCnt) | 405 | int32_t SendFile(int sessionId, const char *sFileList[], const char *dFileList[], uint32_t fileCnt) |
| 363 | { | 406 | { |
| 407 | +#ifndef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 408 | + (void)sessionId; | ||
| 409 | + (void)sFileList; | ||
| 410 | + (void)dFileList; | ||
| 411 | + (void)fileCnt; | ||
| 412 | + TRANS_LOGW(TRANS_FILE, "SendFile not support, trans_file feature disabled"); | ||
| 413 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 414 | +#else | ||
| 364 | if ((sFileList == NULL) || (fileCnt == 0)) { | 415 | if ((sFileList == NULL) || (fileCnt == 0)) { |
| 365 | TRANS_LOGE(TRANS_FILE, "Invalid param"); | 416 | TRANS_LOGE(TRANS_FILE, "Invalid param"); |
| 366 | return SOFTBUS_INVALID_PARAM; | 417 | return SOFTBUS_INVALID_PARAM; |
| @@ -368,48 +419,13 @@ int32_t SendFile(int sessionId, const char *sFileList[], const char *dFileList[] | |||
| 368 | int32_t ret = CheckPermissionState(sessionId); | 419 | int32_t ret = CheckPermissionState(sessionId); |
| 369 | TRANS_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, | 420 | TRANS_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, |
| 370 | TRANS_FILE, "SendFile no permission, sessionId=%{public}d, ret=%{public}d", sessionId, ret); | 421 | TRANS_FILE, "SendFile no permission, sessionId=%{public}d, ret=%{public}d", sessionId, ret); |
| 371 | - | 422 | + ret = CheckFileSchemaAndSetCallback(sessionId, sFileList, fileCnt); |
| 372 | - FileSchemaListener *fileSchemaListener = (FileSchemaListener *)SoftBusCalloc(sizeof(FileSchemaListener)); | 423 | + TRANS_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, TRANS_FILE, "check file schema failed"); |
| 373 | - if (fileSchemaListener == NULL) { | ||
| 374 | - return SOFTBUS_MALLOC_ERR; | ||
| 375 | - } | ||
| 376 | - if (CheckFileSchemaPacked(sessionId, fileSchemaListener) == SOFTBUS_OK) { | ||
| 377 | - ret = SetSchemaCallbackPacked(fileSchemaListener->schema, sFileList, fileCnt); | ||
| 378 | - if (ret != SOFTBUS_OK) { | ||
| 379 | - TRANS_LOGE(TRANS_FILE, "set schema callback failed, sessionId=%{public}d, ret=%{public}d", sessionId, ret); | ||
| 380 | - SoftBusFree(fileSchemaListener); | ||
| 381 | - return ret; | ||
| 382 | - } | ||
| 383 | - } | ||
| 384 | - | ||
| 385 | int32_t channelId = INVALID_CHANNEL_ID; | 424 | int32_t channelId = INVALID_CHANNEL_ID; |
| 386 | int32_t type = CHANNEL_TYPE_BUTT; | 425 | int32_t type = CHANNEL_TYPE_BUTT; |
| 387 | - SessionEnableStatus enableStatus = ENABLE_STATUS_INIT; | 426 | + ret = ValidateSendFileChannel(sessionId, &channelId, &type); |
| 388 | - if (ClientGetChannelBySessionId(sessionId, &channelId, &type, &enableStatus) != SOFTBUS_OK) { | 427 | + TRANS_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, TRANS_FILE, "validate channel failed"); |
| 389 | - TRANS_LOGE(TRANS_FILE, "ClientGetChannelBySessionId failed, sessionId=%{public}d", sessionId); | ||
| 390 | - SoftBusFree(fileSchemaListener); | ||
| 391 | - return SOFTBUS_TRANS_INVALID_SESSION_ID; | ||
| 392 | - } | ||
| 393 | - | ||
| 394 | - int32_t businessType = BUSINESS_TYPE_BUTT; | ||
| 395 | - if (ClientGetChannelBusinessTypeBySessionId(sessionId, &businessType) != SOFTBUS_OK) { | ||
| 396 | - TRANS_LOGE(TRANS_FILE, "ClientGetChannelBusinessTypeBySessionId failed, sessionId=%{public}d", sessionId); | ||
| 397 | - SoftBusFree(fileSchemaListener); | ||
| 398 | - return SOFTBUS_TRANS_INVALID_SESSION_ID; | ||
| 399 | - } | ||
| 400 | - if ((businessType != BUSINESS_TYPE_FILE) && (businessType != BUSINESS_TYPE_NOT_CARE)) { | ||
| 401 | - TRANS_LOGE(TRANS_FILE, | ||
| 402 | - "BusinessType no match, sessionId=%{public}d, businessType=%{public}d", sessionId, businessType); | ||
| 403 | - SoftBusFree(fileSchemaListener); | ||
| 404 | - return SOFTBUS_TRANS_BUSINESS_TYPE_NOT_MATCH; | ||
| 405 | - } | ||
| 406 | - | ||
| 407 | - if (enableStatus != ENABLE_STATUS_SUCCESS) { | ||
| 408 | - TRANS_LOGE(TRANS_FILE, "Enable status failed, sessionId=%{public}d", sessionId); | ||
| 409 | - SoftBusFree(fileSchemaListener); | ||
| 410 | - return SOFTBUS_TRANS_SESSION_NO_ENABLE; | ||
| 411 | - } | ||
| 412 | - SoftBusFree(fileSchemaListener); | ||
| 413 | (void)ClientResetIdleTimeoutById(sessionId); | 428 | (void)ClientResetIdleTimeoutById(sessionId); |
| 414 | return ClientTransChannelSendFile(channelId, type, sFileList, dFileList, fileCnt); | 429 | return ClientTransChannelSendFile(channelId, type, sFileList, dFileList, fileCnt); |
| 430 | +#endif | ||
| 415 | } | 431 | } |
| @@ -717,6 +717,7 @@ int32_t TransOnSessionClosed(int32_t channelId, int32_t channelType, ShutdownRea | |||
| 717 | return SOFTBUS_OK; | 717 | return SOFTBUS_OK; |
| 718 | } | 718 | } |
| 719 | 719 | ||
| 720 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 720 | static int32_t ProcessReceivedFileData( | 721 | static int32_t ProcessReceivedFileData( |
| 721 | int32_t sessionId, int32_t channelId, const char *data, uint32_t len, SessionPktType type) | 722 | int32_t sessionId, int32_t channelId, const char *data, uint32_t len, SessionPktType type) |
| 722 | { | 723 | { |
| @@ -734,6 +735,39 @@ static int32_t ProcessReceivedFileData( | |||
| 734 | } | 735 | } |
| 735 | return SOFTBUS_OK; | 736 | return SOFTBUS_OK; |
| 736 | } | 737 | } |
| 738 | +#endif | ||
| 739 | + | ||
| 740 | +static void HandleBytesReceived(int32_t sessionId, const void *data, uint32_t len, | ||
| 741 | + const SessionListenerAdapter *sessionCallback, const ISocketListener *listener) | ||
| 742 | +{ | ||
| 743 | + if ((data == NULL) || (sessionCallback == NULL) || (listener == NULL)) { | ||
| 744 | + TRANS_LOGE(TRANS_SDK, "Invalid param"); | ||
| 745 | + return; | ||
| 746 | + } | ||
| 747 | + if (sessionCallback->isSocketListener) { | ||
| 748 | + if (listener->OnBytes != NULL) { | ||
| 749 | + listener->OnBytes(sessionId, data, len); | ||
| 750 | + } | ||
| 751 | + } else if (sessionCallback->session.OnBytesReceived != NULL) { | ||
| 752 | + sessionCallback->session.OnBytesReceived(sessionId, data, len); | ||
| 753 | + } | ||
| 754 | +} | ||
| 755 | + | ||
| 756 | +static void HandleMessageReceived(int32_t sessionId, const void *data, uint32_t len, | ||
| 757 | + const SessionListenerAdapter *sessionCallback, const ISocketListener *listener) | ||
| 758 | +{ | ||
| 759 | + if ((data == NULL) || (sessionCallback == NULL) || (listener == NULL)) { | ||
| 760 | + TRANS_LOGE(TRANS_SDK, "Invalid param"); | ||
| 761 | + return; | ||
| 762 | + } | ||
| 763 | + if (sessionCallback->isSocketListener) { | ||
| 764 | + if (listener->OnMessage != NULL) { | ||
| 765 | + listener->OnMessage(sessionId, data, len); | ||
| 766 | + } | ||
| 767 | + } else if (sessionCallback->session.OnMessageReceived != NULL) { | ||
| 768 | + sessionCallback->session.OnMessageReceived(sessionId, data, len); | ||
| 769 | + } | ||
| 770 | +} | ||
| 737 | 771 | ||
| 738 | int32_t TransOnDataReceived(int32_t channelId, int32_t channelType, const void *data, uint32_t len, SessionPktType type) | 772 | int32_t TransOnDataReceived(int32_t channelId, int32_t channelType, const void *data, uint32_t len, SessionPktType type) |
| 739 | { | 773 | { |
| @@ -754,22 +788,10 @@ int32_t TransOnDataReceived(int32_t channelId, int32_t channelType, const void * | |||
| 754 | } | 788 | } |
| 755 | switch (type) { | 789 | switch (type) { |
| 756 | case TRANS_SESSION_BYTES: | 790 | case TRANS_SESSION_BYTES: |
| 757 | - if (sessionCallback.isSocketListener) { | 791 | + HandleBytesReceived(sessionId, data, len, &sessionCallback, listener); |
| 758 | - if (listener->OnBytes != NULL) { | ||
| 759 | - listener->OnBytes(sessionId, data, len); | ||
| 760 | - } | ||
| 761 | - } else if (sessionCallback.session.OnBytesReceived != NULL) { | ||
| 762 | - sessionCallback.session.OnBytesReceived(sessionId, data, len); | ||
| 763 | - } | ||
| 764 | break; | 792 | break; |
| 765 | case TRANS_SESSION_MESSAGE: | 793 | case TRANS_SESSION_MESSAGE: |
| 766 | - if (sessionCallback.isSocketListener) { | 794 | + HandleMessageReceived(sessionId, data, len, &sessionCallback, listener); |
| 767 | - if (listener->OnMessage != NULL) { | ||
| 768 | - listener->OnMessage(sessionId, data, len); | ||
| 769 | - } | ||
| 770 | - } else if (sessionCallback.session.OnMessageReceived != NULL) { | ||
| 771 | - sessionCallback.session.OnMessageReceived(sessionId, data, len); | ||
| 772 | - } | ||
| 773 | break; | 795 | break; |
| 774 | case TRANS_SESSION_FILE_FIRST_FRAME: | 796 | case TRANS_SESSION_FILE_FIRST_FRAME: |
| 775 | case TRANS_SESSION_FILE_ONGOINE_FRAME: | 797 | case TRANS_SESSION_FILE_ONGOINE_FRAME: |
| @@ -780,10 +802,15 @@ int32_t TransOnDataReceived(int32_t channelId, int32_t channelType, const void * | |||
| 780 | case TRANS_SESSION_FILE_RESULT_FRAME: | 802 | case TRANS_SESSION_FILE_RESULT_FRAME: |
| 781 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: | 803 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: |
| 782 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: | 804 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: |
| 805 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 783 | if (channelType == CHANNEL_TYPE_PROXY) { | 806 | if (channelType == CHANNEL_TYPE_PROXY) { |
| 784 | return ProcessReceivedFileData(sessionId, channelId, (char *)data, len, type); | 807 | return ProcessReceivedFileData(sessionId, channelId, (char *)data, len, type); |
| 785 | } | 808 | } |
| 786 | break; | 809 | break; |
| 810 | +#else | ||
| 811 | + TRANS_LOGW(TRANS_FILE, "file not support, type=%{public}d", type); | ||
| 812 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 813 | +#endif | ||
| 787 | default: | 814 | default: |
| 788 | TRANS_LOGE(TRANS_FILE, "revc unknown session type = %{public}d", type); | 815 | TRANS_LOGE(TRANS_FILE, "revc unknown session type = %{public}d", type); |
| 789 | return SOFTBUS_TRANS_INVALID_SESSION_TYPE; | 816 | return SOFTBUS_TRANS_INVALID_SESSION_TYPE; |
| @@ -22,7 +22,6 @@ | |||
| 22 | #include "client_bus_center_manager.h" | 22 | #include "client_bus_center_manager.h" |
| 23 | #include "client_trans_channel_manager.h" | 23 | #include "client_trans_channel_manager.h" |
| 24 | #include "client_trans_file_listener.h" | 24 | #include "client_trans_file_listener.h" |
| 25 | -#include "client_trans_proxy_file_manager.h" | ||
| 26 | #include "client_trans_socket_manager.h" | 25 | #include "client_trans_socket_manager.h" |
| 27 | #include "client_trans_tcp_direct_listener.h" | 26 | #include "client_trans_tcp_direct_listener.h" |
| 28 | #include "client_trans_tcp_direct_manager.h" | 27 | #include "client_trans_tcp_direct_manager.h" |
| @@ -197,7 +197,9 @@ void ClientDestroySession(const ListNode *destroyList, ShutdownReason reason) | |||
| 197 | SoftBusFree(destroyNode); | 197 | SoftBusFree(destroyNode); |
| 198 | continue; | 198 | continue; |
| 199 | } | 199 | } |
| 200 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 200 | (void)ClientDeleteRecvFileList(id); | 201 | (void)ClientDeleteRecvFileList(id); |
| 202 | +#endif | ||
| 201 | (void)ClientTransCloseChannel(destroyNode->channelId, destroyNode->channelType, id); | 203 | (void)ClientTransCloseChannel(destroyNode->channelId, destroyNode->channelType, id); |
| 202 | if (destroyNode->OnSessionClosed != NULL) { | 204 | if (destroyNode->OnSessionClosed != NULL) { |
| 203 | destroyNode->OnSessionClosed(id); | 205 | destroyNode->OnSessionClosed(id); |
| @@ -815,7 +817,9 @@ void ClientCleanUpIdleTimeoutSocket(const ListNode *destroyList) | |||
| 815 | DestroySessionInfo *destroyNodeNext = NULL; | 817 | DestroySessionInfo *destroyNodeNext = NULL; |
| 816 | LIST_FOR_EACH_ENTRY_SAFE(destroyNode, destroyNodeNext, destroyList, DestroySessionInfo, node) { | 818 | LIST_FOR_EACH_ENTRY_SAFE(destroyNode, destroyNodeNext, destroyList, DestroySessionInfo, node) { |
| 817 | int32_t id = destroyNode->sessionId; | 819 | int32_t id = destroyNode->sessionId; |
| 820 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 818 | (void)ClientDeleteRecvFileList(id); | 821 | (void)ClientDeleteRecvFileList(id); |
| 822 | +#endif | ||
| 819 | (void)ClientTransCloseChannel(destroyNode->channelId, destroyNode->channelType, id); | 823 | (void)ClientTransCloseChannel(destroyNode->channelId, destroyNode->channelType, id); |
| 820 | TRANS_LOGI(TRANS_SDK, "session is idle, sessionId=%{public}d", id); | 824 | TRANS_LOGI(TRANS_SDK, "session is idle, sessionId=%{public}d", id); |
| 821 | if (destroyNode->OnShutdown != NULL) { | 825 | if (destroyNode->OnShutdown != NULL) { |
| @@ -60,6 +60,12 @@ static int32_t CheckSocketInfoIsValid(const SocketInfo *info) | |||
| 60 | AnonymizeFree(anonyNetworkId); | 60 | AnonymizeFree(anonyNetworkId); |
| 61 | return SOFTBUS_INVALID_PARAM; | 61 | return SOFTBUS_INVALID_PARAM; |
| 62 | } | 62 | } |
| 63 | +#ifndef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 64 | + if (info->dataType == DATA_TYPE_FILE) { | ||
| 65 | + TRANS_LOGE(TRANS_SDK, "file not support, trans_file feature disabled"); | ||
| 66 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 67 | + } | ||
| 68 | +#endif | ||
| 63 | return SOFTBUS_OK; | 69 | return SOFTBUS_OK; |
| 64 | } | 70 | } |
| 65 | 71 | ||
| @@ -31,7 +31,6 @@ if (defined(ohos_lite)) { | |||
| 31 | "$dsoftbus_root_path/sdk/transmission/trans_channel/statistics/include", | 31 | "$dsoftbus_root_path/sdk/transmission/trans_channel/statistics/include", |
| 32 | "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include", | 32 | "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include", |
| 33 | "//third_party/cJSON", | 33 | "//third_party/cJSON", |
| 34 | - "$dsoftbus_root_path/components/nstackx/nstackx_core/dfile/interfaces", | ||
| 35 | ] | 34 | ] |
| 36 | trans_session_sdk_src += [ | 35 | trans_session_sdk_src += [ |
| 37 | "$dsoftbus_sdk_path/transmission/session/cpp/src/session_ipc_adapter_virtual.c", | 36 | "$dsoftbus_sdk_path/transmission/session/cpp/src/session_ipc_adapter_virtual.c", |
| @@ -38,8 +38,10 @@ int32_t ClientTransChannelSendMessage(int32_t channelId, int32_t type, const voi | |||
| 38 | int32_t ClientTransChannelSendStream(int32_t channelId, int32_t type, const StreamData *data, | 38 | int32_t ClientTransChannelSendStream(int32_t channelId, int32_t type, const StreamData *data, |
| 39 | const StreamData *ext, const StreamFrameInfo *param); | 39 | const StreamData *ext, const StreamFrameInfo *param); |
| 40 | 40 | ||
| 41 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 41 | int32_t ClientTransChannelSendFile(int32_t channelId, int32_t type, const char *sFileList[], | 42 | int32_t ClientTransChannelSendFile(int32_t channelId, int32_t type, const char *sFileList[], |
| 42 | const char *dFileList[], uint32_t fileCnt); | 43 | const char *dFileList[], uint32_t fileCnt); |
| 44 | +#endif | ||
| 43 | 45 | ||
| 44 | void DeleteFileListener(const char *sessionName); | 46 | void DeleteFileListener(const char *sessionName); |
| 45 | 47 | ||
| @@ -202,6 +202,7 @@ int32_t ClientTransChannelSendStream(int32_t channelId, int32_t channelType, con | |||
| 202 | return ret; | 202 | return ret; |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 205 | int32_t ClientTransChannelSendFile(int32_t channelId, int32_t channelType, const char *sFileList[], | 206 | int32_t ClientTransChannelSendFile(int32_t channelId, int32_t channelType, const char *sFileList[], |
| 206 | const char *dFileList[], uint32_t fileCnt) | 207 | const char *dFileList[], uint32_t fileCnt) |
| 207 | { | 208 | { |
| @@ -211,14 +212,20 @@ int32_t ClientTransChannelSendFile(int32_t channelId, int32_t channelType, const | |||
| 211 | ret = TransUdpChannelSendFile(channelId, sFileList, dFileList, fileCnt); | 212 | ret = TransUdpChannelSendFile(channelId, sFileList, dFileList, fileCnt); |
| 212 | break; | 213 | break; |
| 213 | case CHANNEL_TYPE_PROXY: | 214 | case CHANNEL_TYPE_PROXY: |
| 215 | +#ifdef DSOFTBUS_FEATURE_TRANS_PROXY_FILE | ||
| 214 | ret = TransProxyChannelSendFile(channelId, sFileList, dFileList, fileCnt); | 216 | ret = TransProxyChannelSendFile(channelId, sFileList, dFileList, fileCnt); |
| 215 | break; | 217 | break; |
| 218 | +#else | ||
| 219 | + TRANS_LOGW(TRANS_FILE, "Proxy SendFile not support, trans_proxy_file feature disabled"); | ||
| 220 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 221 | +#endif | ||
| 216 | default: | 222 | default: |
| 217 | TRANS_LOGE(TRANS_FILE, "unsupport channelType=%{public}d.", channelType); | 223 | TRANS_LOGE(TRANS_FILE, "unsupport channelType=%{public}d.", channelType); |
| 218 | return SOFTBUS_TRANS_CHANNEL_TYPE_INVALID; | 224 | return SOFTBUS_TRANS_CHANNEL_TYPE_INVALID; |
| 219 | } | 225 | } |
| 220 | return ret; | 226 | return ret; |
| 221 | } | 227 | } |
| 228 | +#endif | ||
| 222 | 229 | ||
| 223 | void DeleteFileListener(const char *sessionName) | 230 | void DeleteFileListener(const char *sessionName) |
| 224 | { | 231 | { |
| @@ -161,8 +161,6 @@ int32_t ClinetTransProxyFileManagerInit(void); | |||
| 161 | void ClinetTransProxyFileManagerDeinit(void); | 161 | void ClinetTransProxyFileManagerDeinit(void); |
| 162 | void ClientDeleteRecvFileList(int32_t sessionId); | 162 | void ClientDeleteRecvFileList(int32_t sessionId); |
| 163 | 163 | ||
| 164 | -int32_t ProxyChannelSendFile(int32_t channelId, const char *sFileList[], const char *dFileList[], uint32_t fileCnt); | ||
| 165 | -int32_t ProcessRecvFileFrameData(int32_t sessionId, int32_t channelId, const FileFrame *oneFrame); | ||
| 166 | #ifdef __cplusplus | 164 | #ifdef __cplusplus |
| 167 | } | 165 | } |
| 168 | #endif | 166 | #endif |
| @@ -993,7 +993,8 @@ static int32_t HandleFileSendingProcess( | |||
| 993 | return ret; | 993 | return ret; |
| 994 | } | 994 | } |
| 995 | 995 | ||
| 996 | -int32_t ProxyChannelSendFile(int32_t channelId, const char *sFileList[], const char *dFileList[], uint32_t fileCnt) | 996 | +static int32_t ProxyChannelSendFile( |
| 997 | + int32_t channelId, const char *sFileList[], const char *dFileList[], uint32_t fileCnt) | ||
| 997 | { | 998 | { |
| 998 | TRANS_LOGI(TRANS_FILE, "proxy send file trans start"); | 999 | TRANS_LOGI(TRANS_FILE, "proxy send file trans start"); |
| 999 | if (fileCnt == 0 || fileCnt > MAX_SEND_FILE_NUM) { | 1000 | if (fileCnt == 0 || fileCnt > MAX_SEND_FILE_NUM) { |
| @@ -1902,20 +1903,10 @@ static int32_t CheckFrameLength(int32_t channelId, uint32_t frameLength, int32_t | |||
| 1902 | return frameLength > *packetSize ? SOFTBUS_INVALID_PARAM : SOFTBUS_OK; | 1903 | return frameLength > *packetSize ? SOFTBUS_INVALID_PARAM : SOFTBUS_OK; |
| 1903 | } | 1904 | } |
| 1904 | 1905 | ||
| 1905 | -int32_t ProcessRecvFileFrameData(int32_t sessionId, int32_t channelId, const FileFrame *oneFrame) | 1906 | +static int32_t ProcessFileFrameByType( |
| 1907 | + int32_t sessionId, int32_t channelId, const FileFrame *oneFrame, int32_t osType, uint32_t packetSize) | ||
| 1906 | { | 1908 | { |
| 1907 | - if (oneFrame == NULL) { | 1909 | + int32_t ret = SOFTBUS_FILE_ERR; |
| 1908 | - TRANS_LOGE(TRANS_FILE, "invalid param."); | ||
| 1909 | - return SOFTBUS_INVALID_PARAM; | ||
| 1910 | - } | ||
| 1911 | - int32_t osType = OHOS_TYPE_UNKNOWN; | ||
| 1912 | - uint32_t packetSize; | ||
| 1913 | - int32_t ret = ClientTransProxyGetOsTypeByChannelId(channelId, &osType); | ||
| 1914 | - ret = CheckFrameLength(channelId, oneFrame->frameLength, osType, &packetSize); | ||
| 1915 | - if (ret != SOFTBUS_OK) { | ||
| 1916 | - TRANS_LOGE(TRANS_FILE, "frameLength is invalid sessionId=%{public}d, osType=%{public}d", sessionId, osType); | ||
| 1917 | - return ret; | ||
| 1918 | - } | ||
| 1919 | switch (oneFrame->frameType) { | 1910 | switch (oneFrame->frameType) { |
| 1920 | case TRANS_SESSION_FILE_FIRST_FRAME: | 1911 | case TRANS_SESSION_FILE_FIRST_FRAME: |
| 1921 | ret = CreateFileFromFrame(sessionId, channelId, oneFrame, osType, packetSize); | 1912 | ret = CreateFileFromFrame(sessionId, channelId, oneFrame, osType, packetSize); |
| @@ -1927,8 +1918,8 @@ int32_t ProcessRecvFileFrameData(int32_t sessionId, int32_t channelId, const Fil | |||
| 1927 | case TRANS_SESSION_FILE_LAST_FRAME: | 1918 | case TRANS_SESSION_FILE_LAST_FRAME: |
| 1928 | ret = WriteFrameToFile(sessionId, oneFrame); | 1919 | ret = WriteFrameToFile(sessionId, oneFrame); |
| 1929 | if (ret != SOFTBUS_OK) { | 1920 | if (ret != SOFTBUS_OK) { |
| 1930 | - TRANS_LOGE(TRANS_FILE, "write frame fail ret=%{public}d, sessionId=%{public}d, osType=%{public}d", | 1921 | + TRANS_LOGE(TRANS_FILE, "write frame fail ret=%{public}d, sessionId=%{public}d, osType=%{public}d", ret, |
| 1931 | - ret, sessionId, osType); | 1922 | + sessionId, osType); |
| 1932 | } | 1923 | } |
| 1933 | break; | 1924 | break; |
| 1934 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: | 1925 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: |
| @@ -1955,6 +1946,23 @@ int32_t ProcessRecvFileFrameData(int32_t sessionId, int32_t channelId, const Fil | |||
| 1955 | return ret; | 1946 | return ret; |
| 1956 | } | 1947 | } |
| 1957 | 1948 | ||
| 1949 | +static int32_t ProcessRecvFileFrameData(int32_t sessionId, int32_t channelId, const FileFrame *oneFrame) | ||
| 1950 | +{ | ||
| 1951 | + if (oneFrame == NULL) { | ||
| 1952 | + TRANS_LOGE(TRANS_FILE, "invalid param."); | ||
| 1953 | + return SOFTBUS_INVALID_PARAM; | ||
| 1954 | + } | ||
| 1955 | + int32_t osType = OHOS_TYPE_UNKNOWN; | ||
| 1956 | + uint32_t packetSize; | ||
| 1957 | + int32_t ret = ClientTransProxyGetOsTypeByChannelId(channelId, &osType); | ||
| 1958 | + ret = CheckFrameLength(channelId, oneFrame->frameLength, osType, &packetSize); | ||
| 1959 | + if (ret != SOFTBUS_OK) { | ||
| 1960 | + TRANS_LOGE(TRANS_FILE, "frameLength is invalid sessionId=%{public}d, osType=%{public}d", sessionId, osType); | ||
| 1961 | + return ret; | ||
| 1962 | + } | ||
| 1963 | + return ProcessFileFrameByType(sessionId, channelId, oneFrame, osType, packetSize); | ||
| 1964 | +} | ||
| 1965 | + | ||
| 1958 | int32_t ProcessFileFrameData(int32_t sessionId, int32_t channelId, const char *data, uint32_t len, int32_t type) | 1966 | int32_t ProcessFileFrameData(int32_t sessionId, int32_t channelId, const char *data, uint32_t len, int32_t type) |
| 1959 | { | 1967 | { |
| 1960 | FileFrame oneFrame; | 1968 | FileFrame oneFrame; |
| @@ -540,6 +540,8 @@ static int32_t ClientTransProxyBytesNotifySession(int32_t channelId, const DataH | |||
| 540 | case TRANS_SESSION_FILE_RESULT_FRAME: | 540 | case TRANS_SESSION_FILE_RESULT_FRAME: |
| 541 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: | 541 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: |
| 542 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: | 542 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: |
| 543 | + TRANS_LOGW(TRANS_SDK, "file frame not support, flags=%{public}d", flags); | ||
| 544 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 543 | case TRANS_SESSION_ASYNC_MESSAGE: | 545 | case TRANS_SESSION_ASYNC_MESSAGE: |
| 544 | return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); | 546 | return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); |
| 545 | default: | 547 | default: |
| @@ -558,6 +560,7 @@ static int32_t ClientTransProxyNotifySession( | |||
| 558 | case TRANS_SESSION_ACK: | 560 | case TRANS_SESSION_ACK: |
| 559 | return ClientTransProxyProcSendMsgAck(channelId, data, len, seq, 0); | 561 | return ClientTransProxyProcSendMsgAck(channelId, data, len, seq, 0); |
| 560 | case TRANS_SESSION_BYTES: | 562 | case TRANS_SESSION_BYTES: |
| 563 | + return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); | ||
| 561 | case TRANS_SESSION_FILE_FIRST_FRAME: | 564 | case TRANS_SESSION_FILE_FIRST_FRAME: |
| 562 | case TRANS_SESSION_FILE_ONGOINE_FRAME: | 565 | case TRANS_SESSION_FILE_ONGOINE_FRAME: |
| 563 | case TRANS_SESSION_FILE_LAST_FRAME: | 566 | case TRANS_SESSION_FILE_LAST_FRAME: |
| @@ -567,6 +570,12 @@ static int32_t ClientTransProxyNotifySession( | |||
| 567 | case TRANS_SESSION_FILE_RESULT_FRAME: | 570 | case TRANS_SESSION_FILE_RESULT_FRAME: |
| 568 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: | 571 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: |
| 569 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: | 572 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: |
| 573 | +#ifdef DSOFTBUS_FEATURE_TRANS_PROXY_FILE | ||
| 574 | + return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); | ||
| 575 | +#else | ||
| 576 | + TRANS_LOGW(TRANS_SDK, "file frame not support, flags=%{public}d", flags); | ||
| 577 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 578 | +#endif | ||
| 570 | case TRANS_SESSION_ASYNC_MESSAGE: | 579 | case TRANS_SESSION_ASYNC_MESSAGE: |
| 571 | return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); | 580 | return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); |
| 572 | default: | 581 | default: |
| @@ -1001,6 +1010,7 @@ static int32_t ClientTransProxyNotifyD2D( | |||
| 1001 | case TRANS_SESSION_ACK: | 1010 | case TRANS_SESSION_ACK: |
| 1002 | return ClientTransProxyProcD2DAck(channelId, data, len, dataSeq); | 1011 | return ClientTransProxyProcD2DAck(channelId, data, len, dataSeq); |
| 1003 | case TRANS_SESSION_BYTES: | 1012 | case TRANS_SESSION_BYTES: |
| 1013 | + return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); | ||
| 1004 | case TRANS_SESSION_FILE_FIRST_FRAME: | 1014 | case TRANS_SESSION_FILE_FIRST_FRAME: |
| 1005 | case TRANS_SESSION_FILE_ONGOINE_FRAME: | 1015 | case TRANS_SESSION_FILE_ONGOINE_FRAME: |
| 1006 | case TRANS_SESSION_FILE_LAST_FRAME: | 1016 | case TRANS_SESSION_FILE_LAST_FRAME: |
| @@ -1010,6 +1020,8 @@ static int32_t ClientTransProxyNotifyD2D( | |||
| 1010 | case TRANS_SESSION_FILE_RESULT_FRAME: | 1020 | case TRANS_SESSION_FILE_RESULT_FRAME: |
| 1011 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: | 1021 | case TRANS_SESSION_FILE_ACK_REQUEST_SENT: |
| 1012 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: | 1022 | case TRANS_SESSION_FILE_ACK_RESPONSE_SENT: |
| 1023 | + TRANS_LOGW(TRANS_SDK, "file frame not support, flags=%{public}d", flags); | ||
| 1024 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1013 | case TRANS_SESSION_ASYNC_MESSAGE: | 1025 | case TRANS_SESSION_ASYNC_MESSAGE: |
| 1014 | return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); | 1026 | return g_sessionCb.OnDataReceived(channelId, CHANNEL_TYPE_PROXY, data, len, flags); |
| 1015 | default: | 1027 | default: |
| @@ -0,0 +1,249 @@ | |||
| 1 | +/* | ||
| 2 | + * Copyright (c) 2026 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 "client_trans_proxy_file_manager.h" | ||
| 17 | +#include "client_trans_proxy_manager.h" | ||
| 18 | +#include "client_trans_pending.h" | ||
| 19 | + | ||
| 20 | +#include "softbus_error_code.h" | ||
| 21 | + | ||
| 22 | +int32_t ClientTransProxyInit(const IClientSessionCallBack *cb) | ||
| 23 | +{ | ||
| 24 | + (void)cb; | ||
| 25 | + return SOFTBUS_OK; | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +void ClientTransProxyDeinit(void) | ||
| 29 | +{ | ||
| 30 | + return; | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | +int32_t ClientTransProxyGetInfoByChannelId(int32_t channelId, ProxyChannelInfoDetail *info) | ||
| 34 | +{ | ||
| 35 | + (void)channelId; | ||
| 36 | + (void)info; | ||
| 37 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +int32_t ClientTransProxyGetOsTypeByChannelId(int32_t channelId, int32_t *osType) | ||
| 41 | +{ | ||
| 42 | + (void)channelId; | ||
| 43 | + if (osType != NULL) { | ||
| 44 | + *osType = 0; | ||
| 45 | + } | ||
| 46 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +int32_t ClientTransProxyGetLinkTypeByChannelId(int32_t channelId, int32_t *linkType) | ||
| 50 | +{ | ||
| 51 | + (void)channelId; | ||
| 52 | + if (linkType != NULL) { | ||
| 53 | + *linkType = 0; | ||
| 54 | + } | ||
| 55 | + return SOFTBUS_OK; | ||
| 56 | +} | ||
| 57 | + | ||
| 58 | +int32_t ClientTransProxyOnChannelOpened( | ||
| 59 | + const char *sessionName, const ChannelInfo *channel, SocketAccessInfo *accessInfo) | ||
| 60 | +{ | ||
| 61 | + (void)sessionName; | ||
| 62 | + (void)channel; | ||
| 63 | + (void)accessInfo; | ||
| 64 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 65 | +} | ||
| 66 | + | ||
| 67 | +int32_t ClientTransProxyOnChannelClosed(int32_t channelId, ShutdownReason reason) | ||
| 68 | +{ | ||
| 69 | + (void)channelId; | ||
| 70 | + (void)reason; | ||
| 71 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 72 | +} | ||
| 73 | + | ||
| 74 | +int32_t ClientTransProxyOnChannelOpenFailed(int32_t channelId, int32_t errCode) | ||
| 75 | +{ | ||
| 76 | + (void)channelId; | ||
| 77 | + (void)errCode; | ||
| 78 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 79 | +} | ||
| 80 | + | ||
| 81 | +int32_t ClientTransProxyOnDataReceived(int32_t channelId, const void *data, uint32_t len, SessionPktType type) | ||
| 82 | +{ | ||
| 83 | + (void)channelId; | ||
| 84 | + (void)data; | ||
| 85 | + (void)len; | ||
| 86 | + (void)type; | ||
| 87 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 88 | +} | ||
| 89 | + | ||
| 90 | +void ClientTransProxyCloseChannel(int32_t channelId) | ||
| 91 | +{ | ||
| 92 | + (void)channelId; | ||
| 93 | + return; | ||
| 94 | +} | ||
| 95 | + | ||
| 96 | +int32_t TransProxyChannelSendBytes(int32_t channelId, const void *data, uint32_t len, bool neeedAck) | ||
| 97 | +{ | ||
| 98 | + (void)channelId; | ||
| 99 | + (void)data; | ||
| 100 | + (void)len; | ||
| 101 | + (void)neeedAck; | ||
| 102 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 103 | +} | ||
| 104 | + | ||
| 105 | +int32_t TransProxyChannelAsyncSendBytes(int32_t channelId, const void *data, uint32_t len, uint32_t dataSeq) | ||
| 106 | +{ | ||
| 107 | + (void)channelId; | ||
| 108 | + (void)data; | ||
| 109 | + (void)len; | ||
| 110 | + (void)dataSeq; | ||
| 111 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 112 | +} | ||
| 113 | + | ||
| 114 | +int32_t TransProxyChannelSendMessage(int32_t channelId, const void *data, uint32_t len) | ||
| 115 | +{ | ||
| 116 | + (void)channelId; | ||
| 117 | + (void)data; | ||
| 118 | + (void)len; | ||
| 119 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 120 | +} | ||
| 121 | + | ||
| 122 | +int32_t TransProxyChannelAsyncSendMessage(int32_t channelId, const void *data, uint32_t len, uint16_t dataSeq) | ||
| 123 | +{ | ||
| 124 | + (void)channelId; | ||
| 125 | + (void)data; | ||
| 126 | + (void)len; | ||
| 127 | + (void)dataSeq; | ||
| 128 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | +int32_t ClientTransProxyOnChannelBind(int32_t channelId, int32_t channelType) | ||
| 132 | +{ | ||
| 133 | + (void)channelId; | ||
| 134 | + (void)channelType; | ||
| 135 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +int32_t InitPendingPacket(void) | ||
| 139 | +{ | ||
| 140 | + return SOFTBUS_OK; | ||
| 141 | +} | ||
| 142 | + | ||
| 143 | +void DestroyPendingPacket(void) | ||
| 144 | +{ | ||
| 145 | + return; | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | +int32_t CreatePendingPacket(uint32_t id, uint64_t seq) | ||
| 149 | +{ | ||
| 150 | + (void)id; | ||
| 151 | + (void)seq; | ||
| 152 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 153 | +} | ||
| 154 | + | ||
| 155 | +void DeletePendingPacket(uint32_t id, uint64_t seq) | ||
| 156 | +{ | ||
| 157 | + (void)id; | ||
| 158 | + (void)seq; | ||
| 159 | + return; | ||
| 160 | +} | ||
| 161 | + | ||
| 162 | +int32_t GetPendingPacketData(uint32_t id, uint64_t seq, uint32_t waitMillis, bool isDelete, TransPendData *data) | ||
| 163 | +{ | ||
| 164 | + (void)id; | ||
| 165 | + (void)seq; | ||
| 166 | + (void)waitMillis; | ||
| 167 | + (void)isDelete; | ||
| 168 | + (void)data; | ||
| 169 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 170 | +} | ||
| 171 | + | ||
| 172 | +int32_t SetPendingPacketData(uint32_t id, uint64_t seq, const TransPendData *data) | ||
| 173 | +{ | ||
| 174 | + (void)id; | ||
| 175 | + (void)seq; | ||
| 176 | + (void)data; | ||
| 177 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 178 | +} | ||
| 179 | + | ||
| 180 | +int32_t ClientTransProxyAddChannelInfo(ClientProxyChannelInfo *info) | ||
| 181 | +{ | ||
| 182 | + (void)info; | ||
| 183 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 184 | +} | ||
| 185 | + | ||
| 186 | +int32_t ClientTransProxyDelChannelInfo(int32_t channelId) | ||
| 187 | +{ | ||
| 188 | + (void)channelId; | ||
| 189 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 190 | +} | ||
| 191 | + | ||
| 192 | +int32_t ClientTransProxyPackAndSendData(int32_t channelId, const void *data, uint32_t len, | ||
| 193 | + ProxyChannelInfoDetail *info, SessionPktType pktType) | ||
| 194 | +{ | ||
| 195 | + (void)channelId; | ||
| 196 | + (void)data; | ||
| 197 | + (void)len; | ||
| 198 | + (void)info; | ||
| 199 | + (void)pktType; | ||
| 200 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 201 | +} | ||
| 202 | + | ||
| 203 | +int32_t TransProxyAsyncPackAndSendData(int32_t channelId, const void *data, uint32_t len, uint32_t dataSeq, | ||
| 204 | + SessionPktType pktType) | ||
| 205 | +{ | ||
| 206 | + (void)channelId; | ||
| 207 | + (void)data; | ||
| 208 | + (void)len; | ||
| 209 | + (void)dataSeq; | ||
| 210 | + (void)pktType; | ||
| 211 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 212 | +} | ||
| 213 | + | ||
| 214 | +int32_t TransProxyChannelSendFile(int32_t channelId, const char *sFileList[], const char *dFileList[], | ||
| 215 | + uint32_t fileCnt) | ||
| 216 | +{ | ||
| 217 | + (void)channelId; | ||
| 218 | + (void)sFileList; | ||
| 219 | + (void)dFileList; | ||
| 220 | + (void)fileCnt; | ||
| 221 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 222 | +} | ||
| 223 | + | ||
| 224 | +int32_t ProcessFileFrameData(int32_t sessionId, int32_t channelId, const char *data, uint32_t len, int32_t type) | ||
| 225 | +{ | ||
| 226 | + (void)sessionId; | ||
| 227 | + (void)channelId; | ||
| 228 | + (void)data; | ||
| 229 | + (void)len; | ||
| 230 | + (void)type; | ||
| 231 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 232 | +} | ||
| 233 | + | ||
| 234 | +int32_t TransProxyAsyncPackAndSendMessage( | ||
| 235 | + int32_t channelId, const void *data, uint32_t len, uint16_t dataSeq, SessionPktType pktType) | ||
| 236 | +{ | ||
| 237 | + (void)channelId; | ||
| 238 | + (void)data; | ||
| 239 | + (void)len; | ||
| 240 | + (void)dataSeq; | ||
| 241 | + (void)pktType; | ||
| 242 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 243 | +} | ||
| 244 | + | ||
| 245 | +void ClientDeleteRecvFileList(int32_t sessionId) | ||
| 246 | +{ | ||
| 247 | + (void)sessionId; | ||
| 248 | + return; | ||
| 249 | +} | ||
| @@ -13,19 +13,24 @@ | |||
| 13 | 13 | ||
| 14 | import("../../../../dsoftbus.gni") | 14 | import("../../../../dsoftbus.gni") |
| 15 | 15 | ||
| 16 | -trans_proxy_channel_sdk_src = [ | 16 | +if (dsoftbus_feature_trans_proxy_channel) { |
| 17 | - "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_manager.c", | 17 | + trans_proxy_channel_sdk_src = [ |
| 18 | - "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_pending.c", | 18 | + "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_manager.c", |
| 19 | -] | 19 | + "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_pending.c", |
| 20 | - | ||
| 21 | -if (dsoftbus_feature_trans_proxy_file == true) { | ||
| 22 | - trans_proxy_channel_sdk_src += [ | ||
| 23 | - "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_common.c", | ||
| 24 | - "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_manager.c", | ||
| 25 | - "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_helper.c", | ||
| 26 | ] | 20 | ] |
| 21 | + if (dsoftbus_feature_trans_file && dsoftbus_feature_trans_proxy_file) { | ||
| 22 | + trans_proxy_channel_sdk_src += [ | ||
| 23 | + "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_common.c", | ||
| 24 | + "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_manager.c", | ||
| 25 | + "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_helper.c", | ||
| 26 | + ] | ||
| 27 | + } else { | ||
| 28 | + trans_proxy_channel_sdk_src += [ "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_manager_virtual.c" ] | ||
| 29 | + } | ||
| 27 | } else { | 30 | } else { |
| 28 | - trans_proxy_channel_sdk_src += [ "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_file_manager_virtual.c" ] | 31 | + trans_proxy_channel_sdk_src = [ |
| 32 | + "$dsoftbus_sdk_path/transmission/trans_channel/proxy/src/client_trans_proxy_virtual.c", | ||
| 33 | + ] | ||
| 29 | } | 34 | } |
| 30 | 35 | ||
| 31 | trans_proxy_channel_sdk_inc = [ | 36 | trans_proxy_channel_sdk_inc = [ |
| @@ -21,7 +21,9 @@ | |||
| 21 | #include "client_trans_socket_manager.h" | 21 | #include "client_trans_socket_manager.h" |
| 22 | #include "client_trans_stream.h" | 22 | #include "client_trans_stream.h" |
| 23 | #include "g_enhance_sdk_func.h" | 23 | #include "g_enhance_sdk_func.h" |
| 24 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 24 | #include "nstackx_dfile.h" | 25 | #include "nstackx_dfile.h" |
| 26 | +#endif | ||
| 25 | #include "securec.h" | 27 | #include "securec.h" |
| 26 | #include "softbus_access_token_adapter.h" | 28 | #include "softbus_access_token_adapter.h" |
| 27 | #include "softbus_adapter_mem.h" | 29 | #include "softbus_adapter_mem.h" |
| @@ -204,7 +206,12 @@ static int32_t OnUdpChannelOpened(int32_t channelId, SocketAccessInfo *accessInf | |||
| 204 | type = TYPE_STREAM; | 206 | type = TYPE_STREAM; |
| 205 | break; | 207 | break; |
| 206 | case BUSINESS_TYPE_FILE: | 208 | case BUSINESS_TYPE_FILE: |
| 209 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 207 | type = TYPE_FILE; | 210 | type = TYPE_FILE; |
| 211 | +#else | ||
| 212 | + TRANS_LOGE(TRANS_SDK, "file channel not support, trans_udp_file feature disabled"); | ||
| 213 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 214 | +#endif | ||
| 208 | break; | 215 | break; |
| 209 | default: | 216 | default: |
| 210 | TRANS_LOGE(TRANS_SDK, "unsupport businessType=%{public}d.", channel.businessType); | 217 | TRANS_LOGE(TRANS_SDK, "unsupport businessType=%{public}d.", channel.businessType); |
| @@ -376,6 +383,7 @@ int32_t TransOnUdpChannelOpened( | |||
| 376 | } | 383 | } |
| 377 | break; | 384 | break; |
| 378 | case BUSINESS_TYPE_FILE: | 385 | case BUSINESS_TYPE_FILE: |
| 386 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 379 | ret = TransOnFileChannelOpened(sessionName, channel, udpPort, accessInfo); | 387 | ret = TransOnFileChannelOpened(sessionName, channel, udpPort, accessInfo); |
| 380 | if (ret < SOFTBUS_OK) { | 388 | if (ret < SOFTBUS_OK) { |
| 381 | (void)TransAddSecondPathFail(channel->channelId); | 389 | (void)TransAddSecondPathFail(channel->channelId); |
| @@ -389,6 +397,10 @@ int32_t TransOnUdpChannelOpened( | |||
| 389 | return ret; | 397 | return ret; |
| 390 | } | 398 | } |
| 391 | ret = SOFTBUS_OK; | 399 | ret = SOFTBUS_OK; |
| 400 | +#else | ||
| 401 | + TRANS_LOGE(TRANS_SDK, "file channel not support, trans_udp_file feature disabled"); | ||
| 402 | + ret = SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 403 | +#endif | ||
| 392 | break; | 404 | break; |
| 393 | default: | 405 | default: |
| 394 | (void)TransDeleteUdpChannel(channel->channelId); | 406 | (void)TransDeleteUdpChannel(channel->channelId); |
| @@ -408,7 +420,11 @@ static int32_t TransDeleteBusinnessChannel(UdpChannel *channel) | |||
| 408 | } | 420 | } |
| 409 | break; | 421 | break; |
| 410 | case BUSINESS_TYPE_FILE: | 422 | case BUSINESS_TYPE_FILE: |
| 423 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 411 | TransCloseFileChannel(channel->dfileId); | 424 | TransCloseFileChannel(channel->dfileId); |
| 425 | +#else | ||
| 426 | + TRANS_LOGW(TRANS_SDK, "file channel close skipped, trans_udp_file feature disabled"); | ||
| 427 | +#endif | ||
| 412 | break; | 428 | break; |
| 413 | default: | 429 | default: |
| 414 | TRANS_LOGE(TRANS_SDK, "unsupport businessType=%{public}d.", channel->businessType); | 430 | TRANS_LOGE(TRANS_SDK, "unsupport businessType=%{public}d.", channel->businessType); |
| @@ -537,12 +553,14 @@ static int32_t CloseUdpChannel(int32_t channelId, ShutdownReason reason) | |||
| 537 | return SOFTBUS_TRANS_UDP_GET_CHANNEL_FAILED; | 553 | return SOFTBUS_TRANS_UDP_GET_CHANNEL_FAILED; |
| 538 | } | 554 | } |
| 539 | if (channel.businessType == BUSINESS_TYPE_FILE) { | 555 | if (channel.businessType == BUSINESS_TYPE_FILE) { |
| 556 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 540 | TRANS_LOGD(TRANS_SDK, "close udp channel get file list start"); | 557 | TRANS_LOGD(TRANS_SDK, "close udp channel get file list start"); |
| 541 | int32_t ret = NSTACKX_DFileSessionGetFileList(channel.dfileId); | 558 | int32_t ret = NSTACKX_DFileSessionGetFileList(channel.dfileId); |
| 542 | if (ret != SOFTBUS_OK) { | 559 | if (ret != SOFTBUS_OK) { |
| 543 | TRANS_LOGE(TRANS_SDK, "close udp channel to get file list failed. channelId=%{public}d, ret=%{public}d", | 560 | TRANS_LOGE(TRANS_SDK, "close udp channel to get file list failed. channelId=%{public}d, ret=%{public}d", |
| 544 | channelId, ret); | 561 | channelId, ret); |
| 545 | } | 562 | } |
| 563 | +#endif | ||
| 546 | } | 564 | } |
| 547 | return CloseUdpChannelProc(&channel, channelId, reason); | 565 | return CloseUdpChannelProc(&channel, channelId, reason); |
| 548 | } | 566 | } |
| @@ -573,7 +591,9 @@ static int32_t CloseReserveUdpChannel(int32_t channelId, ShutdownReason reason, | |||
| 573 | } | 591 | } |
| 574 | if (delSecondPath) { | 592 | if (delSecondPath) { |
| 575 | TRANS_LOGI(TRANS_SDK, "dfileId=%{public}d remove second path", channel.dfileId); | 593 | TRANS_LOGI(TRANS_SDK, "dfileId=%{public}d remove second path", channel.dfileId); |
| 594 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 576 | TransCloseReserveFileChannel(channel.dfileId, &(channel.addr), channel.addrLen, routeType); | 595 | TransCloseReserveFileChannel(channel.dfileId, &(channel.addr), channel.addrLen, routeType); |
| 596 | +#endif | ||
| 577 | } | 597 | } |
| 578 | return SOFTBUS_OK; | 598 | return SOFTBUS_OK; |
| 579 | } | 599 | } |
| @@ -802,7 +822,9 @@ int32_t ClientTransUdpMgrInit(IClientSessionCallBack *callback) | |||
| 802 | TRANS_LOGE(TRANS_INIT, "trans udp pending init failed."); | 822 | TRANS_LOGE(TRANS_INIT, "trans udp pending init failed."); |
| 803 | return SOFTBUS_TRANS_SERVER_INIT_FAILED; | 823 | return SOFTBUS_TRANS_SERVER_INIT_FAILED; |
| 804 | } | 824 | } |
| 825 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 805 | NSTACKX_DFileRegisterLogCallback(NstackxLogInnerImpl); | 826 | NSTACKX_DFileRegisterLogCallback(NstackxLogInnerImpl); |
| 827 | +#endif | ||
| 806 | RegisterFileCb(&g_udpChannelCb); | 828 | RegisterFileCb(&g_udpChannelCb); |
| 807 | g_udpChannelMgr = CreateSoftBusList(); | 829 | g_udpChannelMgr = CreateSoftBusList(); |
| 808 | if (g_udpChannelMgr == NULL) { | 830 | if (g_udpChannelMgr == NULL) { |
| @@ -938,6 +960,7 @@ static int32_t TransSendLimitChangeDataToCore(int32_t channelId, uint8_t tos, in | |||
| 938 | 960 | ||
| 939 | int32_t TransLimitChange(int32_t channelId, uint8_t tos) | 961 | int32_t TransLimitChange(int32_t channelId, uint8_t tos) |
| 940 | { | 962 | { |
| 963 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 941 | if (tos != FILE_PRIORITY_BK && tos != FILE_PRIORITY_BE) { | 964 | if (tos != FILE_PRIORITY_BK && tos != FILE_PRIORITY_BE) { |
| 942 | TRANS_LOGE(TRANS_FILE, "invalid ip tos"); | 965 | TRANS_LOGE(TRANS_FILE, "invalid ip tos"); |
| 943 | return SOFTBUS_INVALID_PARAM; | 966 | return SOFTBUS_INVALID_PARAM; |
| @@ -975,6 +998,10 @@ int32_t TransLimitChange(int32_t channelId, uint8_t tos) | |||
| 975 | int32_t setTosResult = NSTACKX_DFileSetSessionOpt(channel.dfileId, &dfileOpt); | 998 | int32_t setTosResult = NSTACKX_DFileSetSessionOpt(channel.dfileId, &dfileOpt); |
| 976 | ret = TransSendLimitChangeDataToCore(channelId, tos, setTosResult); | 999 | ret = TransSendLimitChangeDataToCore(channelId, tos, setTosResult); |
| 977 | return ret; | 1000 | return ret; |
| 1001 | +#else | ||
| 1002 | + TRANS_LOGE(TRANS_SDK, "file channel not support, trans_udp_file feature disabled"); | ||
| 1003 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1004 | +#endif | ||
| 978 | } | 1005 | } |
| 979 | 1006 | ||
| 980 | int32_t TransUdpOnCloseAckReceived(int32_t channelId) | 1007 | int32_t TransUdpOnCloseAckReceived(int32_t channelId) |
| @@ -985,6 +1012,7 @@ int32_t TransUdpOnCloseAckReceived(int32_t channelId) | |||
| 985 | // trigger file event FILE_EVENT_TRANS_STATUS when link down | 1012 | // trigger file event FILE_EVENT_TRANS_STATUS when link down |
| 986 | int32_t ClientEmitFileEvent(int32_t channelId) | 1013 | int32_t ClientEmitFileEvent(int32_t channelId) |
| 987 | { | 1014 | { |
| 1015 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 988 | UdpChannel channel; | 1016 | UdpChannel channel; |
| 989 | (void)memset_s(&channel, sizeof(UdpChannel), 0, sizeof(UdpChannel)); | 1017 | (void)memset_s(&channel, sizeof(UdpChannel), 0, sizeof(UdpChannel)); |
| 990 | int32_t ret = TransGetUdpChannel(channelId, &channel); | 1018 | int32_t ret = TransGetUdpChannel(channelId, &channel); |
| @@ -1001,6 +1029,10 @@ int32_t ClientEmitFileEvent(int32_t channelId) | |||
| 1001 | } | 1029 | } |
| 1002 | } | 1030 | } |
| 1003 | return ret; | 1031 | return ret; |
| 1032 | +#else | ||
| 1033 | + TRANS_LOGE(TRANS_SDK, "file channel not support, trans_udp_file feature disabled"); | ||
| 1034 | + return SOFTBUS_FUNC_NOT_SUPPORT; | ||
| 1035 | +#endif | ||
| 1004 | } | 1036 | } |
| 1005 | 1037 | ||
| 1006 | int32_t TransSetUdpChannelSessionId(int32_t channelId, int32_t sessionId) | 1038 | int32_t TransSetUdpChannelSessionId(int32_t channelId, int32_t sessionId) |
| @@ -20,7 +20,7 @@ trans_file_sdk_inc = [ "$dsoftbus_file_sdk_path/include" ] | |||
| 20 | trans_file_sdk_src = [] | 20 | trans_file_sdk_src = [] |
| 21 | trans_file_sdk_deps = [] | 21 | trans_file_sdk_deps = [] |
| 22 | 22 | ||
| 23 | -if (dsoftbus_feature_trans_udp_file == true && dsoftbus_feature_dfile == true) { | 23 | +if (dsoftbus_feature_trans_file && dsoftbus_feature_trans_udp_file && dsoftbus_feature_dfile) { |
| 24 | trans_file_sdk_src += [ | 24 | trans_file_sdk_src += [ |
| 25 | "$dsoftbus_file_sdk_path/src/client_trans_file.c", | 25 | "$dsoftbus_file_sdk_path/src/client_trans_file.c", |
| 26 | "$dsoftbus_file_sdk_path/src/client_trans_file_listener.c", | 26 | "$dsoftbus_file_sdk_path/src/client_trans_file_listener.c", |
| @@ -44,4 +44,20 @@ if (dsoftbus_feature_trans_udp_file == true && dsoftbus_feature_dfile == true) { | |||
| 44 | } else { | 44 | } else { |
| 45 | trans_file_sdk_src += | 45 | trans_file_sdk_src += |
| 46 | [ "$dsoftbus_file_sdk_path/src/client_trans_file_virtual.c" ] | 46 | [ "$dsoftbus_file_sdk_path/src/client_trans_file_virtual.c" ] |
| 47 | + if (dsoftbus_feature_trans_udp_file && dsoftbus_feature_dfile) { | ||
| 48 | + if (!defined(global_parts_info) || | ||
| 49 | + defined(global_parts_info.communication_dsoftbus_service_ext)) { | ||
| 50 | + trans_file_sdk_inc += [ | ||
| 51 | + "$dsoftbus_root_path/components/nstackx_enhanced/nstackx_core/dfile/interface", | ||
| 52 | + "$dsoftbus_root_path/components/nstackx_enhanced/nstackx_util/interface", | ||
| 53 | + ] | ||
| 54 | + trans_file_sdk_deps += [ "$dsoftbus_root_path/components/nstackx_enhanced/nstackx_core/dfile:nstackx_dfile" ] | ||
| 55 | + } else { | ||
| 56 | + trans_file_sdk_inc += [ | ||
| 57 | + "$dsoftbus_root_path/components/nstackx/nstackx_core/dfile/interface", | ||
| 58 | + "$dsoftbus_root_path/components/nstackx/nstackx_util/interface", | ||
| 59 | + ] | ||
| 60 | + trans_file_sdk_deps += [ "$dsoftbus_root_path/components/nstackx/nstackx_core/dfile:nstackx_dfile.open" ] | ||
| 61 | + } | ||
| 62 | + } | ||
| 47 | } | 63 | } |
| @@ -87,5 +87,20 @@ int32_t TransSetSocketFileListener(const char *sessionName, SocketFileCallbackFu | |||
| 87 | (void)sessionName; | 87 | (void)sessionName; |
| 88 | (void)fileCallback; | 88 | (void)fileCallback; |
| 89 | (void)isReceiver; | 89 | (void)isReceiver; |
| 90 | + return SOFTBUS_OK; | ||
| 91 | +} | ||
| 92 | + | ||
| 93 | +void TransCloseReserveFileChannel(int32_t dfileId, struct sockaddr_storage *addr, socklen_t addrLen, int32_t type) | ||
| 94 | +{ | ||
| 95 | + (void)dfileId; | ||
| 96 | + (void)addr; | ||
| 97 | + (void)addrLen; | ||
| 98 | + (void)type; | ||
| 99 | +} | ||
| 100 | + | ||
| 101 | +int32_t NotifyTransLimitChanged(int32_t channelId, uint8_t tos) | ||
| 102 | +{ | ||
| 103 | + (void)channelId; | ||
| 104 | + (void)tos; | ||
| 90 | return SOFTBUS_FUNC_NOT_SUPPORT; | 105 | return SOFTBUS_FUNC_NOT_SUPPORT; |
| 91 | } | 106 | } |
| @@ -60,6 +60,11 @@ ohos_fuzztest("SoftBusProxyChannelManagerExtFuzzTest") { | |||
| 60 | "-fno-omit-frame-pointer", | 60 | "-fno-omit-frame-pointer", |
| 61 | ] | 61 | ] |
| 62 | 62 | ||
| 63 | + defines = [] | ||
| 64 | + if (dsoftbus_feature_trans_proxy_channel) { | ||
| 65 | + defines += [ "DSOFTBUS_FEATURE_PROXY_CHANNEL" ] | ||
| 66 | + } | ||
| 67 | + | ||
| 63 | sources = [ "softbusproxychannelmanagerext_fuzzer.cpp" ] | 68 | sources = [ "softbusproxychannelmanagerext_fuzzer.cpp" ] |
| 64 | 69 | ||
| 65 | deps = [ | 70 | deps = [ |
| @@ -146,6 +146,7 @@ void TransProxyGetAppInfoTypeTest(FuzzedDataProvider &provider) | |||
| 146 | (void)TransProxyGetAppInfoType(myId, identity, &appType); | 146 | (void)TransProxyGetAppInfoType(myId, identity, &appType); |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 149 | void TransPagingUpdatePagingChannelInfoTest(FuzzedDataProvider &provider) | 150 | void TransPagingUpdatePagingChannelInfoTest(FuzzedDataProvider &provider) |
| 150 | { | 151 | { |
| 151 | ProxyChannelInfo *info = reinterpret_cast<ProxyChannelInfo *>(SoftBusCalloc(sizeof(ProxyChannelInfo))); | 152 | ProxyChannelInfo *info = reinterpret_cast<ProxyChannelInfo *>(SoftBusCalloc(sizeof(ProxyChannelInfo))); |
| @@ -208,6 +209,7 @@ void TransPagingBadKeyRetryTest(FuzzedDataProvider &provider) | |||
| 208 | (void)memset_s(&tmpInfo, sizeof(ProxyChannelInfo), 0, sizeof(ProxyChannelInfo)); | 209 | (void)memset_s(&tmpInfo, sizeof(ProxyChannelInfo), 0, sizeof(ProxyChannelInfo)); |
| 209 | (void)TransProxyDelByChannelId(channelId, &tmpInfo); | 210 | (void)TransProxyDelByChannelId(channelId, &tmpInfo); |
| 210 | } | 211 | } |
| 212 | +#endif | ||
| 211 | 213 | ||
| 212 | void TransProxyDelChanByChanIdTest(FuzzedDataProvider &provider) | 214 | void TransProxyDelChanByChanIdTest(FuzzedDataProvider &provider) |
| 213 | { | 215 | { |
| @@ -293,6 +295,7 @@ void TransProxyProcessErrMsgTest(FuzzedDataProvider &provider) | |||
| 293 | (void)TransProxyDelChanByChanId(info->channelId); | 295 | (void)TransProxyDelChanByChanId(info->channelId); |
| 294 | } | 296 | } |
| 295 | 297 | ||
| 298 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 296 | void TransPagingHandshakeUnPackErrMsgTest(FuzzedDataProvider &provider) | 299 | void TransPagingHandshakeUnPackErrMsgTest(FuzzedDataProvider &provider) |
| 297 | { | 300 | { |
| 298 | ProxyChannelInfo *info = reinterpret_cast<ProxyChannelInfo *>(SoftBusCalloc(sizeof(ProxyChannelInfo))); | 301 | ProxyChannelInfo *info = reinterpret_cast<ProxyChannelInfo *>(SoftBusCalloc(sizeof(ProxyChannelInfo))); |
| @@ -315,6 +318,7 @@ void TransPagingHandshakeUnPackErrMsgTest(FuzzedDataProvider &provider) | |||
| 315 | } | 318 | } |
| 316 | (void)TransProxyDelChanByChanId(info->channelId); | 319 | (void)TransProxyDelChanByChanId(info->channelId); |
| 317 | } | 320 | } |
| 321 | +#endif | ||
| 318 | 322 | ||
| 319 | void SelectRouteTypeTest(FuzzedDataProvider &provider) | 323 | void SelectRouteTypeTest(FuzzedDataProvider &provider) |
| 320 | { | 324 | { |
| @@ -491,7 +495,9 @@ void TransProxyCloseChannelByRequestIdTest(FuzzedDataProvider &provider) | |||
| 491 | PagingListenCheckInfo checkInfo; | 495 | PagingListenCheckInfo checkInfo; |
| 492 | checkInfo.businessFlag = provider.ConsumeIntegral<uint32_t>(); | 496 | checkInfo.businessFlag = provider.ConsumeIntegral<uint32_t>(); |
| 493 | checkInfo.channelId = provider.ConsumeIntegral<int32_t>(); | 497 | checkInfo.channelId = provider.ConsumeIntegral<int32_t>(); |
| 498 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 494 | (void)TransProxyGetChannelByCheckInfo(&checkInfo, &info1, info->appInfo.isClient); | 499 | (void)TransProxyGetChannelByCheckInfo(&checkInfo, &info1, info->appInfo.isClient); |
| 500 | +#endif | ||
| 495 | (void)TransProxyGetPrivilegeCloseList(&privilegeCloseList, info->appInfo.callingTokenId, info->appInfo.myData.pid); | 501 | (void)TransProxyGetPrivilegeCloseList(&privilegeCloseList, info->appInfo.callingTokenId, info->appInfo.myData.pid); |
| 496 | (void)TransProxyResetReplyCnt(info->channelId); | 502 | (void)TransProxyResetReplyCnt(info->channelId); |
| 497 | channelId = provider.ConsumeIntegral<int32_t>(); | 503 | channelId = provider.ConsumeIntegral<int32_t>(); |
| @@ -580,13 +586,16 @@ void TransOnGenSuccessTest(FuzzedDataProvider &provider) | |||
| 580 | AppInfo appInfo; | 586 | AppInfo appInfo; |
| 581 | (void)memset_s(&appInfo, sizeof(AppInfo), 0, sizeof(AppInfo)); | 587 | (void)memset_s(&appInfo, sizeof(AppInfo), 0, sizeof(AppInfo)); |
| 582 | FillAppInfo(provider, &appInfo); | 588 | FillAppInfo(provider, &appInfo); |
| 583 | - uint8_t applyKey[MAX_LEN] = { 0 }; | ||
| 584 | (void)TransProxyCreateChanInfo(info, info->channelId, &appInfo); | 589 | (void)TransProxyCreateChanInfo(info, info->channelId, &appInfo); |
| 590 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 591 | + uint8_t applyKey[MAX_LEN] = { 0 }; | ||
| 585 | (void)TransOnGenSuccess(info->authReqId, applyKey, MAX_LEN); | 592 | (void)TransOnGenSuccess(info->authReqId, applyKey, MAX_LEN); |
| 586 | (void)TransOnGenFailed(info->authReqId, 0); | 593 | (void)TransOnGenFailed(info->authReqId, 0); |
| 594 | +#endif | ||
| 587 | (void)TransProxyDelChanByChanId(channelId); | 595 | (void)TransProxyDelChanByChanId(channelId); |
| 588 | } | 596 | } |
| 589 | 597 | ||
| 598 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 590 | void TransPagingResetChanTest(FuzzedDataProvider &provider) | 599 | void TransPagingResetChanTest(FuzzedDataProvider &provider) |
| 591 | { | 600 | { |
| 592 | ProxyChannelInfo *info = reinterpret_cast<ProxyChannelInfo *>(SoftBusCalloc(sizeof(ProxyChannelInfo))); | 601 | ProxyChannelInfo *info = reinterpret_cast<ProxyChannelInfo *>(SoftBusCalloc(sizeof(ProxyChannelInfo))); |
| @@ -608,6 +617,7 @@ void TransPagingResetChanTest(FuzzedDataProvider &provider) | |||
| 608 | (void)TransPagingResetChan(&chanInfo); | 617 | (void)TransPagingResetChan(&chanInfo); |
| 609 | (void)TransProxyDelChanByChanId(channelId); | 618 | (void)TransProxyDelChanByChanId(channelId); |
| 610 | } | 619 | } |
| 620 | +#endif | ||
| 611 | 621 | ||
| 612 | void TransProxyResetChanTest(FuzzedDataProvider &provider) | 622 | void TransProxyResetChanTest(FuzzedDataProvider &provider) |
| 613 | { | 623 | { |
| @@ -819,13 +829,17 @@ extern "C" int32_t LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) | |||
| 819 | FuzzedDataProvider provider(data, size); | 829 | FuzzedDataProvider provider(data, size); |
| 820 | OHOS::ChanIsEqualTest(provider); | 830 | OHOS::ChanIsEqualTest(provider); |
| 821 | OHOS::TransProxyGetAppInfoTypeTest(provider); | 831 | OHOS::TransProxyGetAppInfoTypeTest(provider); |
| 832 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 822 | OHOS::TransPagingUpdatePagingChannelInfoTest(provider); | 833 | OHOS::TransPagingUpdatePagingChannelInfoTest(provider); |
| 823 | OHOS::TransPagingUpdatePidAndDataTest(provider); | 834 | OHOS::TransPagingUpdatePidAndDataTest(provider); |
| 824 | OHOS::TransPagingBadKeyRetryTest(provider); | 835 | OHOS::TransPagingBadKeyRetryTest(provider); |
| 836 | +#endif | ||
| 825 | OHOS::TransProxyDelChanByChanIdTest(provider); | 837 | OHOS::TransProxyDelChanByChanIdTest(provider); |
| 826 | OHOS::TransProxyGetSendMsgChanInfoTest(provider); | 838 | OHOS::TransProxyGetSendMsgChanInfoTest(provider); |
| 827 | OHOS::TransProxyProcessErrMsgTest(provider); | 839 | OHOS::TransProxyProcessErrMsgTest(provider); |
| 840 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 828 | OHOS::TransPagingHandshakeUnPackErrMsgTest(provider); | 841 | OHOS::TransPagingHandshakeUnPackErrMsgTest(provider); |
| 842 | +#endif | ||
| 829 | OHOS::SelectRouteTypeTest(provider); | 843 | OHOS::SelectRouteTypeTest(provider); |
| 830 | OHOS::CheckAndGenerateSinkSessionKeyTest(provider); | 844 | OHOS::CheckAndGenerateSinkSessionKeyTest(provider); |
| 831 | OHOS::TransHandleProxyChannelOpenedTest(provider); | 845 | OHOS::TransHandleProxyChannelOpenedTest(provider); |
| @@ -836,7 +850,9 @@ extern "C" int32_t LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) | |||
| 836 | OHOS::TransDealProxyCheckCollabResultTest(provider); | 850 | OHOS::TransDealProxyCheckCollabResultTest(provider); |
| 837 | OHOS::TransProxyTimerItemProcTest(provider); | 851 | OHOS::TransProxyTimerItemProcTest(provider); |
| 838 | OHOS::TransOnGenSuccessTest(provider); | 852 | OHOS::TransOnGenSuccessTest(provider); |
| 853 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 839 | OHOS::TransPagingResetChanTest(provider); | 854 | OHOS::TransPagingResetChanTest(provider); |
| 855 | +#endif | ||
| 840 | OHOS::TransProxyResetChanTest(provider); | 856 | OHOS::TransProxyResetChanTest(provider); |
| 841 | OHOS::TransProxyGetRecvMsgChanInfoTest(provider); | 857 | OHOS::TransProxyGetRecvMsgChanInfoTest(provider); |
| 842 | OHOS::FindConfigTypeTest(provider); | 858 | OHOS::FindConfigTypeTest(provider); |
| @@ -26,6 +26,7 @@ ohos_fuzztest("SoftBusProxyChannelManagerMockFuzzTest") { | |||
| 26 | fuzz_config_file = "$dsoftbus_root_path/tests/core/transmission/fuzztest/softbusproxychannelmanagermock_fuzzer" | 26 | fuzz_config_file = "$dsoftbus_root_path/tests/core/transmission/fuzztest/softbusproxychannelmanagermock_fuzzer" |
| 27 | 27 | ||
| 28 | include_dirs = softbus_proxy_channel_manager_ut_include_dirs | 28 | include_dirs = softbus_proxy_channel_manager_ut_include_dirs |
| 29 | + defines += softbus_proxy_channel_manager_ut_defines | ||
| 29 | 30 | ||
| 30 | cflags = [ | 31 | cflags = [ |
| 31 | "-g", | 32 | "-g", |
| @@ -188,6 +188,7 @@ ohos_unittest("SoftbusTransProxyMessageTest") { | |||
| 188 | ohos_unittest("SoftbusProxyChannelManagerTest") { | 188 | ohos_unittest("SoftbusProxyChannelManagerTest") { |
| 189 | module_out_path = module_output_path | 189 | module_out_path = module_output_path |
| 190 | sources = softbus_proxy_channel_manager_ut_sources | 190 | sources = softbus_proxy_channel_manager_ut_sources |
| 191 | + defines += softbus_proxy_channel_manager_ut_defines | ||
| 191 | 192 | ||
| 192 | include_dirs = softbus_proxy_channel_manager_ut_include_dirs | 193 | include_dirs = softbus_proxy_channel_manager_ut_include_dirs |
| 193 | 194 | ||
| @@ -697,6 +698,7 @@ ohos_unittest("SoftbusProxyChannelControlPagingTest") { | |||
| 697 | "mock/softbus_proxychannel_control_paging_test_mock.cpp", | 698 | "mock/softbus_proxychannel_control_paging_test_mock.cpp", |
| 698 | "softbus_proxychannel_control_paging_test.cpp", | 699 | "softbus_proxychannel_control_paging_test.cpp", |
| 699 | ] | 700 | ] |
| 701 | + defines += softbus_proxy_channel_manager_ut_defines | ||
| 700 | include_dirs = [ | 702 | include_dirs = [ |
| 701 | "$softbus_adapter_common/include", | 703 | "$softbus_adapter_common/include", |
| 702 | "$dsoftbus_core_path/adapter/transmission/include", | 704 | "$dsoftbus_core_path/adapter/transmission/include", |
| @@ -736,6 +738,7 @@ ohos_unittest("SoftbusProxyChannelManagerPagingTest") { | |||
| 736 | "mock/softbus_proxychannel_manager_paging_test_mock.cpp", | 738 | "mock/softbus_proxychannel_manager_paging_test_mock.cpp", |
| 737 | "softbus_proxychannel_manager_paging_test.cpp", | 739 | "softbus_proxychannel_manager_paging_test.cpp", |
| 738 | ] | 740 | ] |
| 741 | + defines += softbus_proxy_channel_manager_ut_defines | ||
| 739 | include_dirs = [ | 742 | include_dirs = [ |
| 740 | "$softbus_adapter_common/include", | 743 | "$softbus_adapter_common/include", |
| 741 | "$dsoftbus_core_path/adapter/transmission/include", | 744 | "$dsoftbus_core_path/adapter/transmission/include", |
| @@ -788,6 +791,7 @@ ohos_unittest("SoftbusProxyChannelMessagePagingTest") { | |||
| 788 | "mock/softbus_proxychannel_message_paging_test_mock.cpp", | 791 | "mock/softbus_proxychannel_message_paging_test_mock.cpp", |
| 789 | "softbus_proxychannel_message_paging_test.cpp", | 792 | "softbus_proxychannel_message_paging_test.cpp", |
| 790 | ] | 793 | ] |
| 794 | + defines += softbus_proxy_channel_manager_ut_defines | ||
| 791 | include_dirs = [ | 795 | include_dirs = [ |
| 792 | "$softbus_adapter_common/include", | 796 | "$softbus_adapter_common/include", |
| 793 | "$dsoftbus_core_path/adapter/transmission/include", | 797 | "$dsoftbus_core_path/adapter/transmission/include", |
| @@ -840,6 +844,7 @@ ohos_unittest("SoftbusProxyChannelTransceiverPagingTest") { | |||
| 840 | "mock/softbus_proxychannel_transceiver_paging_test_mock.cpp", | 844 | "mock/softbus_proxychannel_transceiver_paging_test_mock.cpp", |
| 841 | "softbus_proxychannel_transceiver_paging_test.cpp", | 845 | "softbus_proxychannel_transceiver_paging_test.cpp", |
| 842 | ] | 846 | ] |
| 847 | + defines += softbus_proxy_channel_manager_ut_defines | ||
| 843 | include_dirs = [ | 848 | include_dirs = [ |
| 844 | "$softbus_adapter_common/include", | 849 | "$softbus_adapter_common/include", |
| 845 | "$dsoftbus_core_path/adapter/transmission/include", | 850 | "$dsoftbus_core_path/adapter/transmission/include", |
| @@ -922,23 +927,27 @@ ohos_unittest("TransProxySessionTest") { | |||
| 922 | group("unittest") { | 927 | group("unittest") { |
| 923 | testonly = true | 928 | testonly = true |
| 924 | deps = [ | 929 | deps = [ |
| 925 | - ":SoftbusProxyChannelControlPagingTest", | ||
| 926 | ":SoftbusProxyChannelListenerTest", | 930 | ":SoftbusProxyChannelListenerTest", |
| 927 | - ":SoftbusProxyChannelManagerPagingTest", | ||
| 928 | ":SoftbusProxyChannelManagerTest", | 931 | ":SoftbusProxyChannelManagerTest", |
| 929 | - ":SoftbusProxyChannelMessagePagingTest", | ||
| 930 | - ":SoftbusProxyChannelMessageTest", | ||
| 931 | ":SoftbusProxyChannelPipelineTest", | 932 | ":SoftbusProxyChannelPipelineTest", |
| 932 | - ":SoftbusProxyChannelTransceiverPagingTest", | ||
| 933 | ":SoftbusProxyNetworkTest", | 933 | ":SoftbusProxyNetworkTest", |
| 934 | ":SoftbusProxySessionTest", | 934 | ":SoftbusProxySessionTest", |
| 935 | ":SoftbusProxyTransceiverTest", | 935 | ":SoftbusProxyTransceiverTest", |
| 936 | ":SoftbusTransProxyChannelManagerTest", | 936 | ":SoftbusTransProxyChannelManagerTest", |
| 937 | ":SoftbusTransProxyManagerTest", | 937 | ":SoftbusTransProxyManagerTest", |
| 938 | - ":SoftbusTransProxyMessageTest", | ||
| 939 | ":TransProxyChannelTest", | 938 | ":TransProxyChannelTest", |
| 940 | ":TransProxyNetworkTest", | 939 | ":TransProxyNetworkTest", |
| 941 | ":TransProxySessionStaticTest", | 940 | ":TransProxySessionStaticTest", |
| 942 | ":TransProxySessionTest", | 941 | ":TransProxySessionTest", |
| 943 | ] | 942 | ] |
| 943 | + if (dsoftbus_feature_trans_proxy_channel) { | ||
| 944 | + deps += [ | ||
| 945 | + ":SoftbusProxyChannelControlPagingTest", | ||
| 946 | + ":SoftbusProxyChannelManagerPagingTest", | ||
| 947 | + ":SoftbusProxyChannelMessagePagingTest", | ||
| 948 | + ":SoftbusProxyChannelMessageTest", | ||
| 949 | + ":SoftbusProxyChannelTransceiverPagingTest", | ||
| 950 | + ":SoftbusTransProxyMessageTest", | ||
| 951 | + ] | ||
| 952 | + } | ||
| 944 | } | 953 | } |
| @@ -41,10 +41,12 @@ int32_t TransProxyGetSendMsgChanInfo(int32_t channelId, ProxyChannelInfo *chanIn | |||
| 41 | return GetSoftbusProxychannelControlPagingInterface()->TransProxyGetSendMsgChanInfo(channelId, chanInfo); | 41 | return GetSoftbusProxychannelControlPagingInterface()->TransProxyGetSendMsgChanInfo(channelId, chanInfo); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 44 | char *TransPagingPackHandShakeMsg(ProxyChannelInfo *info) | 45 | char *TransPagingPackHandShakeMsg(ProxyChannelInfo *info) |
| 45 | { | 46 | { |
| 46 | return GetSoftbusProxychannelControlPagingInterface()->TransPagingPackHandShakeMsg(info); | 47 | return GetSoftbusProxychannelControlPagingInterface()->TransPagingPackHandShakeMsg(info); |
| 47 | } | 48 | } |
| 49 | +#endif | ||
| 48 | 50 | ||
| 49 | int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash) | 51 | int32_t TransPagingPackMessage(PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash) |
| 50 | { | 52 | { |
| @@ -70,10 +72,12 @@ int32_t AuthFindApplyKey( | |||
| 70 | info, applyKey, accountHash, accountHashLen); | 72 | info, applyKey, accountHash, accountHashLen); |
| 71 | } | 73 | } |
| 72 | 74 | ||
| 75 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 73 | char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan) | 76 | char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan) |
| 74 | { | 77 | { |
| 75 | return GetSoftbusProxychannelControlPagingInterface()->TransPagingPackHandshakeAckMsg(chan); | 78 | return GetSoftbusProxychannelControlPagingInterface()->TransPagingPackHandshakeAckMsg(chan); |
| 76 | } | 79 | } |
| 80 | +#endif | ||
| 77 | 81 | ||
| 78 | int32_t TransProxyPackMessage(ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo) | 82 | int32_t TransProxyPackMessage(ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo) |
| 79 | { | 83 | { |
| @@ -100,15 +104,19 @@ char *TransProxyPackIdentity(const char *identity) | |||
| 100 | return GetSoftbusProxychannelControlPagingInterface()->TransProxyPackIdentity(identity); | 104 | return GetSoftbusProxychannelControlPagingInterface()->TransProxyPackIdentity(identity); |
| 101 | } | 105 | } |
| 102 | 106 | ||
| 107 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 103 | char *TransProxyPagingPackChannelId(int16_t channelId) | 108 | char *TransProxyPagingPackChannelId(int16_t channelId) |
| 104 | { | 109 | { |
| 105 | return GetSoftbusProxychannelControlPagingInterface()->TransProxyPagingPackChannelId(channelId); | 110 | return GetSoftbusProxychannelControlPagingInterface()->TransProxyPagingPackChannelId(channelId); |
| 106 | } | 111 | } |
| 112 | +#endif | ||
| 107 | 113 | ||
| 114 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 108 | char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId) | 115 | char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId) |
| 109 | { | 116 | { |
| 110 | return GetSoftbusProxychannelControlPagingInterface()->TransPagingPackHandshakeErrMsg(errCode, channelId); | 117 | return GetSoftbusProxychannelControlPagingInterface()->TransPagingPackHandshakeErrMsg(errCode, channelId); |
| 111 | } | 118 | } |
| 119 | +#endif | ||
| 112 | 120 | ||
| 113 | void AuthGetLatestIdByUuid(const char *uuid, AuthLinkType type, bool isMeta, AuthHandle *authHandle) | 121 | void AuthGetLatestIdByUuid(const char *uuid, AuthLinkType type, bool isMeta, AuthHandle *authHandle) |
| 114 | { | 122 | { |
| @@ -33,7 +33,9 @@ public: | |||
| 33 | SoftbusProxychannelControlPagingInterface() {}; | 33 | SoftbusProxychannelControlPagingInterface() {}; |
| 34 | virtual ~SoftbusProxychannelControlPagingInterface() {}; | 34 | virtual ~SoftbusProxychannelControlPagingInterface() {}; |
| 35 | virtual int32_t TransProxyGetSendMsgChanInfo(int32_t channelId, ProxyChannelInfo *chanInfo) = 0; | 35 | virtual int32_t TransProxyGetSendMsgChanInfo(int32_t channelId, ProxyChannelInfo *chanInfo) = 0; |
| 36 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 36 | virtual char *TransPagingPackHandShakeMsg(ProxyChannelInfo *info) = 0; | 37 | virtual char *TransPagingPackHandShakeMsg(ProxyChannelInfo *info) = 0; |
| 38 | +#endif | ||
| 37 | virtual int32_t TransPagingPackMessage( | 39 | virtual int32_t TransPagingPackMessage( |
| 38 | PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash) = 0; | 40 | PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash) = 0; |
| 39 | virtual int32_t TransProxyTransSendMsg( | 41 | virtual int32_t TransProxyTransSendMsg( |
| @@ -42,15 +44,19 @@ public: | |||
| 42 | char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen) = 0; | 44 | char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen) = 0; |
| 43 | virtual int32_t AuthFindApplyKey( | 45 | virtual int32_t AuthFindApplyKey( |
| 44 | const RequestBusinessInfo *info, uint8_t *applyKey, char *accountHash, uint32_t accountHashLen) = 0; | 46 | const RequestBusinessInfo *info, uint8_t *applyKey, char *accountHash, uint32_t accountHashLen) = 0; |
| 47 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 45 | virtual char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan) = 0; | 48 | virtual char *TransPagingPackHandshakeAckMsg(ProxyChannelInfo *chan) = 0; |
| 49 | +#endif | ||
| 46 | virtual int32_t TransProxyPackMessage( | 50 | virtual int32_t TransProxyPackMessage( |
| 47 | ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo) = 0; | 51 | ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo) = 0; |
| 48 | virtual char *TransProxyPackHandshakeMsg(ProxyChannelInfo *info) = 0; | 52 | virtual char *TransProxyPackHandshakeMsg(ProxyChannelInfo *info) = 0; |
| 49 | virtual char *TransProxyPackHandshakeErrMsg(int32_t errCode) = 0; | 53 | virtual char *TransProxyPackHandshakeErrMsg(int32_t errCode) = 0; |
| 50 | virtual char *TransProxyPackHandshakeAckMsg(ProxyChannelInfo *chan) = 0; | 54 | virtual char *TransProxyPackHandshakeAckMsg(ProxyChannelInfo *chan) = 0; |
| 51 | virtual char *TransProxyPackIdentity(const char *identity) = 0; | 55 | virtual char *TransProxyPackIdentity(const char *identity) = 0; |
| 56 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 52 | virtual char *TransProxyPagingPackChannelId(int16_t channelId) = 0; | 57 | virtual char *TransProxyPagingPackChannelId(int16_t channelId) = 0; |
| 53 | virtual char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId) = 0; | 58 | virtual char *TransPagingPackHandshakeErrMsg(int32_t errCode, int32_t channelId) = 0; |
| 59 | +#endif | ||
| 54 | virtual void AuthGetLatestIdByUuid( | 60 | virtual void AuthGetLatestIdByUuid( |
| 55 | const char *uuid, AuthLinkType type, bool isMeta, AuthHandle *authHandle) = 0; | 61 | const char *uuid, AuthLinkType type, bool isMeta, AuthHandle *authHandle) = 0; |
| 56 | virtual int32_t TransProxySetAuthHandleByChanId(int32_t channelId, AuthHandle authHandle) = 0; | 62 | virtual int32_t TransProxySetAuthHandleByChanId(int32_t channelId, AuthHandle authHandle) = 0; |
| @@ -67,7 +73,9 @@ public: | |||
| 67 | SoftbusProxychannelControlPagingInterfaceMock(); | 73 | SoftbusProxychannelControlPagingInterfaceMock(); |
| 68 | ~SoftbusProxychannelControlPagingInterfaceMock() override; | 74 | ~SoftbusProxychannelControlPagingInterfaceMock() override; |
| 69 | MOCK_METHOD2(TransProxyGetSendMsgChanInfo, int32_t(int32_t channelId, ProxyChannelInfo *chanInfo)); | 75 | MOCK_METHOD2(TransProxyGetSendMsgChanInfo, int32_t(int32_t channelId, ProxyChannelInfo *chanInfo)); |
| 76 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 70 | MOCK_METHOD1(TransPagingPackHandShakeMsg, char *(ProxyChannelInfo *info)); | 77 | MOCK_METHOD1(TransPagingPackHandShakeMsg, char *(ProxyChannelInfo *info)); |
| 78 | +#endif | ||
| 71 | MOCK_METHOD4(TransPagingPackMessage, int32_t ( | 79 | MOCK_METHOD4(TransPagingPackMessage, int32_t ( |
| 72 | PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash)); | 80 | PagingProxyMessage *msg, ProxyDataInfo *dataInfo, ProxyChannelInfo *chan, bool needHash)); |
| 73 | MOCK_METHOD5(TransProxyTransSendMsg, int32_t ( | 81 | MOCK_METHOD5(TransProxyTransSendMsg, int32_t ( |
| @@ -76,15 +84,19 @@ public: | |||
| 76 | char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen)); | 84 | char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen)); |
| 77 | MOCK_METHOD4(AuthFindApplyKey, | 85 | MOCK_METHOD4(AuthFindApplyKey, |
| 78 | int32_t(const RequestBusinessInfo *info, uint8_t *applyKey, char *accountHash, uint32_t accountHashLen)); | 86 | int32_t(const RequestBusinessInfo *info, uint8_t *applyKey, char *accountHash, uint32_t accountHashLen)); |
| 87 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 79 | MOCK_METHOD1(TransPagingPackHandshakeAckMsg, char *(ProxyChannelInfo *chan)); | 88 | MOCK_METHOD1(TransPagingPackHandshakeAckMsg, char *(ProxyChannelInfo *chan)); |
| 89 | +#endif | ||
| 80 | MOCK_METHOD3(TransProxyPackMessage, | 90 | MOCK_METHOD3(TransProxyPackMessage, |
| 81 | int32_t (ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo)); | 91 | int32_t (ProxyMessageHead *msg, AuthHandle authHandle, ProxyDataInfo *dataInfo)); |
| 82 | MOCK_METHOD1(TransProxyPackHandshakeMsg, char *(ProxyChannelInfo *info)); | 92 | MOCK_METHOD1(TransProxyPackHandshakeMsg, char *(ProxyChannelInfo *info)); |
| 83 | MOCK_METHOD1(TransProxyPackHandshakeErrMsg, char *(int32_t errCode)); | 93 | MOCK_METHOD1(TransProxyPackHandshakeErrMsg, char *(int32_t errCode)); |
| 84 | MOCK_METHOD1(TransProxyPackHandshakeAckMsg, char *(ProxyChannelInfo *chan)); | 94 | MOCK_METHOD1(TransProxyPackHandshakeAckMsg, char *(ProxyChannelInfo *chan)); |
| 85 | MOCK_METHOD1(TransProxyPackIdentity, char *(const char *identity)); | 95 | MOCK_METHOD1(TransProxyPackIdentity, char *(const char *identity)); |
| 96 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 86 | MOCK_METHOD1(TransProxyPagingPackChannelId, char *(int16_t channelId)); | 97 | MOCK_METHOD1(TransProxyPagingPackChannelId, char *(int16_t channelId)); |
| 87 | MOCK_METHOD2(TransPagingPackHandshakeErrMsg, char *(int32_t errCode, int32_t channelId)); | 98 | MOCK_METHOD2(TransPagingPackHandshakeErrMsg, char *(int32_t errCode, int32_t channelId)); |
| 99 | +#endif | ||
| 88 | MOCK_METHOD4(AuthGetLatestIdByUuid, | 100 | MOCK_METHOD4(AuthGetLatestIdByUuid, |
| 89 | void (const char *uuid, AuthLinkType type, bool isMeta, AuthHandle *authHandle)); | 101 | void (const char *uuid, AuthLinkType type, bool isMeta, AuthHandle *authHandle)); |
| 90 | MOCK_METHOD2(TransProxySetAuthHandleByChanId, int32_t (int32_t channelId, AuthHandle authHandle)); | 102 | MOCK_METHOD2(TransProxySetAuthHandleByChanId, int32_t (int32_t channelId, AuthHandle authHandle)); |
| @@ -42,10 +42,12 @@ int32_t TransParseMessageHeadType(char *data, int32_t len, ProxyMessage *msg) | |||
| 42 | return GetSoftbusProxychannelTransceiverPagingInterface()->TransParseMessageHeadType(data, len, msg); | 42 | return GetSoftbusProxychannelTransceiverPagingInterface()->TransParseMessageHeadType(data, len, msg); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 45 | int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg) | 46 | int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg) |
| 46 | { | 47 | { |
| 47 | return GetSoftbusProxychannelTransceiverPagingInterface()->TransPagingParseMessage(data, len, msg); | 48 | return GetSoftbusProxychannelTransceiverPagingInterface()->TransPagingParseMessage(data, len, msg); |
| 48 | } | 49 | } |
| 50 | +#endif | ||
| 49 | 51 | ||
| 50 | int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient) | 52 | int32_t TransProxyGetChannelByCheckInfo(const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient) |
| 51 | { | 53 | { |
| @@ -33,7 +33,9 @@ public: | |||
| 33 | SoftbusProxychannelTransceiverPagingInterface() {}; | 33 | SoftbusProxychannelTransceiverPagingInterface() {}; |
| 34 | virtual ~SoftbusProxychannelTransceiverPagingInterface() {}; | 34 | virtual ~SoftbusProxychannelTransceiverPagingInterface() {}; |
| 35 | virtual int32_t TransParseMessageHeadType(char *data, int32_t len, ProxyMessage *msg) = 0; | 35 | virtual int32_t TransParseMessageHeadType(char *data, int32_t len, ProxyMessage *msg) = 0; |
| 36 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 36 | virtual int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg) = 0; | 37 | virtual int32_t TransPagingParseMessage(char *data, int32_t len, ProxyMessage *msg) = 0; |
| 38 | +#endif | ||
| 37 | virtual int32_t TransProxyGetChannelByCheckInfo( | 39 | virtual int32_t TransProxyGetChannelByCheckInfo( |
| 38 | const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient) = 0; | 40 | const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient) = 0; |
| 39 | virtual bool TransPagingHasListenAndGetInfoPacked(ProxyChannelInfo *info) = 0; | 41 | virtual bool TransPagingHasListenAndGetInfoPacked(ProxyChannelInfo *info) = 0; |
| @@ -48,7 +50,9 @@ public: | |||
| 48 | SoftbusProxychannelTransceiverPagingInterfaceMock(); | 50 | SoftbusProxychannelTransceiverPagingInterfaceMock(); |
| 49 | ~SoftbusProxychannelTransceiverPagingInterfaceMock() override; | 51 | ~SoftbusProxychannelTransceiverPagingInterfaceMock() override; |
| 50 | MOCK_METHOD3(TransParseMessageHeadType, int32_t (char *data, int32_t len, ProxyMessage *msg)); | 52 | MOCK_METHOD3(TransParseMessageHeadType, int32_t (char *data, int32_t len, ProxyMessage *msg)); |
| 53 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 51 | MOCK_METHOD3(TransPagingParseMessage, int32_t (char *data, int32_t len, ProxyMessage *msg)); | 54 | MOCK_METHOD3(TransPagingParseMessage, int32_t (char *data, int32_t len, ProxyMessage *msg)); |
| 55 | +#endif | ||
| 52 | MOCK_METHOD3(TransProxyGetChannelByCheckInfo, int32_t ( | 56 | MOCK_METHOD3(TransProxyGetChannelByCheckInfo, int32_t ( |
| 53 | const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient)); | 57 | const PagingListenCheckInfo *checkInfo, ProxyChannelInfo *chan, bool isClient)); |
| 54 | MOCK_METHOD1(TransPagingHasListenAndGetInfoPacked, bool (ProxyChannelInfo *info)); | 58 | MOCK_METHOD1(TransPagingHasListenAndGetInfoPacked, bool (ProxyChannelInfo *info)); |
| @@ -16,6 +16,17 @@ import("../../common/mock/mock.gni") | |||
| 16 | 16 | ||
| 17 | softbus_proxy_channel_manager_ut_sources = [ "$dsoftbus_test_path/core/transmission/trans_channel/proxy_channel/softbus_proxychannel_manager_test.cpp" ] | 17 | softbus_proxy_channel_manager_ut_sources = [ "$dsoftbus_test_path/core/transmission/trans_channel/proxy_channel/softbus_proxychannel_manager_test.cpp" ] |
| 18 | 18 | ||
| 19 | +# Feature macro isolation: the test directly includes softbus_proxychannel_manager.c | ||
| 20 | +# which contains #ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL guards. These defines must be | ||
| 21 | +# propagated to the test compilation so the guarded branches match the product config. | ||
| 22 | +softbus_proxy_channel_manager_ut_defines = [] | ||
| 23 | +if (dsoftbus_feature_trans_proxy_channel) { | ||
| 24 | + softbus_proxy_channel_manager_ut_defines += [ "DSOFTBUS_FEATURE_PROXY_CHANNEL" ] | ||
| 25 | +} | ||
| 26 | +if (dsoftbus_feature_trans_file) { | ||
| 27 | + softbus_proxy_channel_manager_ut_defines += [ "DSOFTBUS_FEATURE_TRANS_FILE" ] | ||
| 28 | +} | ||
| 29 | + | ||
| 19 | softbus_proxy_channel_manager_ut_include_dirs = [ | 30 | softbus_proxy_channel_manager_ut_include_dirs = [ |
| 20 | "$dsoftbus_core_path/adapter/bus_center/include", | 31 | "$dsoftbus_core_path/adapter/bus_center/include", |
| 21 | "$dsoftbus_core_path/adapter/transmission/include", | 32 | "$dsoftbus_core_path/adapter/transmission/include", |
| @@ -203,10 +203,12 @@ HWTEST_F(SoftbusProxyNetworkTest, TransNotifyNetworkingChannelOpenedTest001, Tes | |||
| 203 | EXPECT_NE(SOFTBUS_OK, ret); | 203 | EXPECT_NE(SOFTBUS_OK, ret); |
| 204 | /* test app type is normal and get network id fail */ | 204 | /* test app type is normal and get network id fail */ |
| 205 | appInfo.appType = APP_TYPE_NORMAL; | 205 | appInfo.appType = APP_TYPE_NORMAL; |
| 206 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 206 | ret = OnProxyChannelOpened(channelId, &appInfo, isServer); | 207 | ret = OnProxyChannelOpened(channelId, &appInfo, isServer); |
| 207 | EXPECT_NE(SOFTBUS_OK, ret); | 208 | EXPECT_NE(SOFTBUS_OK, ret); |
| 208 | ret = OnProxyChannelOpened(channelId, &appInfo, isServer); | 209 | ret = OnProxyChannelOpened(channelId, &appInfo, isServer); |
| 209 | EXPECT_NE(SOFTBUS_OK, ret); | 210 | EXPECT_NE(SOFTBUS_OK, ret); |
| 211 | +#endif | ||
| 210 | /* test app type is inner */ | 212 | /* test app type is inner */ |
| 211 | appInfo.appType = APP_TYPE_INNER; | 213 | appInfo.appType = APP_TYPE_INNER; |
| 212 | ret = OnProxyChannelOpened(channelId, &appInfo, isServer); | 214 | ret = OnProxyChannelOpened(channelId, &appInfo, isServer); |
Mtests/core/transmission/trans_channel/proxy_channel/softbus_proxychannel_control_paging_test.cpp+10-0
| @@ -303,6 +303,7 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, SetCipherOfHandshakeMsgTest007, T | |||
| 303 | EXPECT_EQ(cipher & USE_BLE_CIPHER, 0); | 303 | EXPECT_EQ(cipher & USE_BLE_CIPHER, 0); |
| 304 | } | 304 | } |
| 305 | 305 | ||
| 306 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 306 | /* | 307 | /* |
| 307 | * @tc.name: TransPagingHandshakeEventTest001 | 308 | * @tc.name: TransPagingHandshakeEventTest001 |
| 308 | * @tc.desc: test TransPagingHandshakeEvent info null | 309 | * @tc.desc: test TransPagingHandshakeEvent info null |
| @@ -325,6 +326,7 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransPagingHandshakeEventTest002, | |||
| 325 | ProxyChannelInfo info = {0}; | 326 | ProxyChannelInfo info = {0}; |
| 326 | TransPagingHandshakeEvent(TEST_CHANNEL_ID, &info); | 327 | TransPagingHandshakeEvent(TEST_CHANNEL_ID, &info); |
| 327 | } | 328 | } |
| 329 | +#endif | ||
| 328 | 330 | ||
| 329 | /* | 331 | /* |
| 330 | * @tc.name: TransProxySendEncryptInnerMessageTest001 | 332 | * @tc.name: TransProxySendEncryptInnerMessageTest001 |
| @@ -974,6 +976,7 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransProxyAckHandshakeTest008, Te | |||
| 974 | EXPECT_EQ(SOFTBUS_OK, ret); | 976 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 975 | } | 977 | } |
| 976 | 978 | ||
| 979 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 977 | /* | 980 | /* |
| 978 | * @tc.name: TransProxyKeepaliveTest001 | 981 | * @tc.name: TransProxyKeepaliveTest001 |
| 979 | * @tc.desc: test TransProxyKeepalive info null | 982 | * @tc.desc: test TransProxyKeepalive info null |
| @@ -1233,7 +1236,9 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransProxyAckKeepaliveTest006, Te | |||
| 1233 | int32_t ret = TransProxyAckKeepalive(&info); | 1236 | int32_t ret = TransProxyAckKeepalive(&info); |
| 1234 | EXPECT_EQ(SOFTBUS_OK, ret); | 1237 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 1235 | } | 1238 | } |
| 1239 | +#endif | ||
| 1236 | 1240 | ||
| 1241 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1237 | /* | 1242 | /* |
| 1238 | * @tc.name: TransPagingHandshakeTest001 | 1243 | * @tc.name: TransPagingHandshakeTest001 |
| 1239 | * @tc.desc: test TransPagingHandshake param check and branches | 1244 | * @tc.desc: test TransPagingHandshake param check and branches |
| @@ -1306,7 +1311,9 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransPagingGetAuthKeyTest001, Tes | |||
| 1306 | ret = TransPagingGetAuthKey(&chan, &msg); | 1311 | ret = TransPagingGetAuthKey(&chan, &msg); |
| 1307 | EXPECT_EQ(SOFTBUS_OK, ret); | 1312 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 1308 | } | 1313 | } |
| 1314 | +#endif | ||
| 1309 | 1315 | ||
| 1316 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1310 | /* | 1317 | /* |
| 1311 | * @tc.name: TransPagingAckHandshakeTest001 | 1318 | * @tc.name: TransPagingAckHandshakeTest001 |
| 1312 | * @tc.desc: test TransPagingAckHandshake NULL check and errMsg path | 1319 | * @tc.desc: test TransPagingAckHandshake NULL check and errMsg path |
| @@ -1484,6 +1491,7 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransPagingAckHandshakeTest007, T | |||
| 1484 | int32_t ret = TransPagingAckHandshake(&chan, retCode); | 1491 | int32_t ret = TransPagingAckHandshake(&chan, retCode); |
| 1485 | EXPECT_EQ(SOFTBUS_OK, ret); | 1492 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 1486 | } | 1493 | } |
| 1494 | +#endif | ||
| 1487 | 1495 | ||
| 1488 | /* | 1496 | /* |
| 1489 | * @tc.name: TransProxyResetPeerTest001 | 1497 | * @tc.name: TransProxyResetPeerTest001 |
| @@ -1497,6 +1505,7 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransProxyResetPeerTest001, TestS | |||
| 1497 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); | 1505 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); |
| 1498 | } | 1506 | } |
| 1499 | 1507 | ||
| 1508 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 1500 | /* | 1509 | /* |
| 1501 | * @tc.name: TransPagingResetTest001 | 1510 | * @tc.name: TransPagingResetTest001 |
| 1502 | * @tc.desc: test TransPagingReset | 1511 | * @tc.desc: test TransPagingReset |
| @@ -1568,6 +1577,7 @@ HWTEST_F(SoftbusProxyChannelControlPagingTest, TransProxyResetPeerTest003, TestS | |||
| 1568 | int32_t ret = TransProxyResetPeer(&chan); | 1577 | int32_t ret = TransProxyResetPeer(&chan); |
| 1569 | EXPECT_EQ(SOFTBUS_OK, ret); | 1578 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 1570 | } | 1579 | } |
| 1580 | +#endif | ||
| 1571 | 1581 | ||
| 1572 | /* | 1582 | /* |
| 1573 | * @tc.name: TransProxyResetPeerTest004 | 1583 | * @tc.name: TransProxyResetPeerTest004 |
| @@ -205,6 +205,7 @@ HWTEST_F(SoftbusProxyChannelListenerTest, NotifyNormalChannelOpenedTest001, Test | |||
| 205 | EXPECT_NE(SOFTBUS_OK, ret); | 205 | EXPECT_NE(SOFTBUS_OK, ret); |
| 206 | } | 206 | } |
| 207 | 207 | ||
| 208 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 208 | /** | 209 | /** |
| 209 | * @tc.name: NotifyNormalChannelOpenedTest002 | 210 | * @tc.name: NotifyNormalChannelOpenedTest002 |
| 210 | * @tc.desc: test notify normal channel opened. | 211 | * @tc.desc: test notify normal channel opened. |
| @@ -242,6 +243,7 @@ HWTEST_F(SoftbusProxyChannelListenerTest, NotifyNormalChannelOpenedTest002, Test | |||
| 242 | EXPECT_EQ(SOFTBUS_OK, ret); | 243 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 243 | SoftBusFree(appInfo); | 244 | SoftBusFree(appInfo); |
| 244 | } | 245 | } |
| 246 | +#endif | ||
| 245 | 247 | ||
| 246 | /** | 248 | /** |
| 247 | * @tc.name: OnProxyChannelOpenedTest001 | 249 | * @tc.name: OnProxyChannelOpenedTest001 |
| @@ -433,6 +435,7 @@ HWTEST_F(SoftbusProxyChannelListenerTest, TransSendNetworkingMessageTest003, Tes | |||
| 433 | SoftBusFree(appInfo); | 435 | SoftBusFree(appInfo); |
| 434 | } | 436 | } |
| 435 | 437 | ||
| 438 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 436 | /** | 439 | /** |
| 437 | * @tc.name: OnProxyChannelBindTest001 | 440 | * @tc.name: OnProxyChannelBindTest001 |
| 438 | * @tc.desc: test OnProxyChannelBind. | 441 | * @tc.desc: test OnProxyChannelBind. |
| @@ -458,6 +461,7 @@ HWTEST_F(SoftbusProxyChannelListenerTest, OnProxyChannelBindTest001, TestSize.Le | |||
| 458 | ret = OnProxyChannelBind(TEST_NUMBER_25, &appInfo); | 461 | ret = OnProxyChannelBind(TEST_NUMBER_25, &appInfo); |
| 459 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE, ret); | 462 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE, ret); |
| 460 | } | 463 | } |
| 464 | +#endif | ||
| 461 | 465 | ||
| 462 | /** | 466 | /** |
| 463 | * @tc.name: FillExtraByProxyChannelErrorEndTest001 | 467 | * @tc.name: FillExtraByProxyChannelErrorEndTest001 |
| @@ -2002,6 +2002,7 @@ HWTEST_F(SoftbusProxyChannelManagerTest, TransProxyFillDataConfigTest002, TestSi | |||
| 2002 | EXPECT_EQ(SOFTBUS_OK, ret); | 2002 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 2003 | } | 2003 | } |
| 2004 | 2004 | ||
| 2005 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 2005 | /* | 2006 | /* |
| 2006 | * @tc.name: TransProxyFillChannelInfoTest001 | 2007 | * @tc.name: TransProxyFillChannelInfoTest001 |
| 2007 | * @tc.desc: Should return SOFTBUS_INVALID_PARAM when given null appInfo. | 2008 | * @tc.desc: Should return SOFTBUS_INVALID_PARAM when given null appInfo. |
| @@ -2030,6 +2031,7 @@ HWTEST_F(SoftbusProxyChannelManagerTest, TransProxyFillChannelInfoTest001, TestS | |||
| 2030 | ReleaseChannelInfo(chan); | 2031 | ReleaseChannelInfo(chan); |
| 2031 | SoftBusFree(msg); | 2032 | SoftBusFree(msg); |
| 2032 | } | 2033 | } |
| 2034 | +#endif | ||
| 2033 | 2035 | ||
| 2034 | /* | 2036 | /* |
| 2035 | * @tc.name: TransProxySetAuthHandleByChanId001 | 2037 | * @tc.name: TransProxySetAuthHandleByChanId001 |
Mtests/core/transmission/trans_channel/proxy_channel/softbus_proxychannel_message_paging_test.cpp+5-1
| @@ -29,10 +29,12 @@ | |||
| 29 | using namespace testing; | 29 | using namespace testing; |
| 30 | using namespace testing::ext; | 30 | using namespace testing::ext; |
| 31 | 31 | ||
| 32 | -static const char *TEST_DATA = "TEST_"; | ||
| 33 | #define TEST_LEN 10 | 32 | #define TEST_LEN 10 |
| 34 | #define DATA_LEN 5 | 33 | #define DATA_LEN 5 |
| 35 | #define TEST_CHANNEL_ID 1058 | 34 | #define TEST_CHANNEL_ID 1058 |
| 35 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 36 | +static const char *TEST_DATA = "TEST_"; | ||
| 37 | +#endif | ||
| 36 | 38 | ||
| 37 | namespace OHOS { | 39 | namespace OHOS { |
| 38 | 40 | ||
| @@ -89,6 +91,7 @@ HWTEST_F(SoftbusProxyChannelMessagePagingTest, TransParseMessageHeadTypeTest001, | |||
| 89 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); | 91 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); |
| 90 | } | 92 | } |
| 91 | 93 | ||
| 94 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 92 | /**@ | 95 | /**@ |
| 93 | * @tc.name: TransUnPackPagingExtraDataTest001 | 96 | * @tc.name: TransUnPackPagingExtraDataTest001 |
| 94 | * @tc.desc: test proxy open proxy channel, use wrong param. | 97 | * @tc.desc: test proxy open proxy channel, use wrong param. |
| @@ -1532,4 +1535,5 @@ HWTEST_F(SoftbusProxyChannelMessagePagingTest, TransPagingParseMessageTest009, T | |||
| 1532 | int32_t ret = TransPagingParseMessage(data, len, &msg); | 1535 | int32_t ret = TransPagingParseMessage(data, len, &msg); |
| 1533 | EXPECT_EQ(SOFTBUS_DECRYPT_ERR, ret); | 1536 | EXPECT_EQ(SOFTBUS_DECRYPT_ERR, ret); |
| 1534 | } | 1537 | } |
| 1538 | +#endif | ||
| 1535 | } // namespace OHOS | 1539 | } // namespace OHOS |
| @@ -595,6 +595,7 @@ HWTEST_F(SoftbusProxyChannelMessageTest, TransProxyAckHandshakeTest001, TestSize | |||
| 595 | EXPECT_NE(SOFTBUS_OK, ret); | 595 | EXPECT_NE(SOFTBUS_OK, ret); |
| 596 | } | 596 | } |
| 597 | 597 | ||
| 598 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 598 | /* | 599 | /* |
| 599 | * @tc.name: TransProxyKeepAliveTest001 | 600 | * @tc.name: TransProxyKeepAliveTest001 |
| 600 | * @tc.desc: test proxy keepalive and keepalive ack message. | 601 | * @tc.desc: test proxy keepalive and keepalive ack message. |
| @@ -628,6 +629,7 @@ HWTEST_F(SoftbusProxyChannelMessageTest, TransProxyKeepAliveTest001, TestSize.Le | |||
| 628 | ret = TransProxyAckKeepalive(&chanInfo); | 629 | ret = TransProxyAckKeepalive(&chanInfo); |
| 629 | EXPECT_NE(SOFTBUS_OK, ret); | 630 | EXPECT_NE(SOFTBUS_OK, ret); |
| 630 | } | 631 | } |
| 632 | +#endif | ||
| 631 | 633 | ||
| 632 | /* | 634 | /* |
| 633 | * @tc.name: TransProxyResetPeerTest001 | 635 | * @tc.name: TransProxyResetPeerTest001 |
Mtests/core/transmission/trans_channel/proxy_channel/softbus_trans_proxy_channel_manager_test.cpp+2-0
| @@ -996,6 +996,7 @@ HWTEST_F(SoftbusTransProxyChannelManagerTest, TransDealProxyCheckCollabResultTes | |||
| 996 | EXPECT_EQ(ret, SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE); | 996 | EXPECT_EQ(ret, SOFTBUS_TRANS_PROXY_ERROR_APP_TYPE); |
| 997 | } | 997 | } |
| 998 | 998 | ||
| 999 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 999 | /* | 1000 | /* |
| 1000 | * @tc.name: TransPagingUpdateDataConfigTest001 | 1001 | * @tc.name: TransPagingUpdateDataConfigTest001 |
| 1001 | * @tc.desc: TransProxyResetReplyCnt | 1002 | * @tc.desc: TransProxyResetReplyCnt |
| @@ -1020,6 +1021,7 @@ HWTEST_F(SoftbusTransProxyChannelManagerTest, TransPagingUpdateDataConfigTest001 | |||
| 1020 | ret = TransPagingUpdateDataConfig(&appInfo); | 1021 | ret = TransPagingUpdateDataConfig(&appInfo); |
| 1021 | EXPECT_EQ(ret, SOFTBUS_OK); | 1022 | EXPECT_EQ(ret, SOFTBUS_OK); |
| 1022 | } | 1023 | } |
| 1024 | +#endif | ||
| 1023 | 1025 | ||
| 1024 | /* | 1026 | /* |
| 1025 | * @tc.name: TransDisableConnBrIdleCheckTest001 | 1027 | * @tc.name: TransDisableConnBrIdleCheckTest001 |
| @@ -254,6 +254,7 @@ HWTEST_F(TransProxyChannelTest, TransProxyAckHandshakeTest001, TestSize.Level1) | |||
| 254 | TestDelTestProxyChannel(); | 254 | TestDelTestProxyChannel(); |
| 255 | } | 255 | } |
| 256 | 256 | ||
| 257 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 257 | /** | 258 | /** |
| 258 | * @tc.name: TransProxyKeepaliveTest001 | 259 | * @tc.name: TransProxyKeepaliveTest001 |
| 259 | * @tc.desc: improve branch coverage, use the wrong or normal parameter.. | 260 | * @tc.desc: improve branch coverage, use the wrong or normal parameter.. |
| @@ -358,6 +359,7 @@ HWTEST_F(TransProxyChannelTest, TransProxyAckKeepaliveTest002, TestSize.Level1) | |||
| 358 | 359 | ||
| 359 | TestDelTestProxyChannel(); | 360 | TestDelTestProxyChannel(); |
| 360 | } | 361 | } |
| 362 | +#endif | ||
| 361 | 363 | ||
| 362 | /** | 364 | /** |
| 363 | * @tc.name: TransProxyResetPeerTest001 | 365 | * @tc.name: TransProxyResetPeerTest001 |
| @@ -687,6 +687,7 @@ HWTEST_F(TransProxyMessageTest, TransProxyAckHandshakeTest001, TestSize.Level1) | |||
| 687 | EXPECT_EQ(SOFTBUS_OK, ret); | 687 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 688 | } | 688 | } |
| 689 | 689 | ||
| 690 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 690 | /** | 691 | /** |
| 691 | * @tc.name: TransProxyKeepAliveTest001 | 692 | * @tc.name: TransProxyKeepAliveTest001 |
| 692 | * @tc.desc: test proxy keepalive and keepalive ack message. | 693 | * @tc.desc: test proxy keepalive and keepalive ack message. |
| @@ -729,6 +730,7 @@ HWTEST_F(TransProxyMessageTest, TransProxyKeepAliveTest001, TestSize.Level1) | |||
| 729 | ret = TransProxyAckKeepalive(&chanInfo); | 730 | ret = TransProxyAckKeepalive(&chanInfo); |
| 730 | EXPECT_EQ(SOFTBUS_OK, ret); | 731 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 731 | } | 732 | } |
| 733 | +#endif | ||
| 732 | 734 | ||
| 733 | /** | 735 | /** |
| 734 | * @tc.name: TransProxyResetPeerTest001 | 736 | * @tc.name: TransProxyResetPeerTest001 |
| @@ -520,7 +520,9 @@ HWTEST_F(TransProxySessionTest, TransProxyHandshakeTest003, TestSize.Level1) | |||
| 520 | char *payLoad = static_cast<char *>(SoftBusCalloc(32)); | 520 | char *payLoad = static_cast<char *>(SoftBusCalloc(32)); |
| 521 | ASSERT_TRUE(payLoad != nullptr); | 521 | ASSERT_TRUE(payLoad != nullptr); |
| 522 | (void)strcpy_s(payLoad, 32, "testpayload"); | 522 | (void)strcpy_s(payLoad, 32, "testpayload"); |
| 523 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 523 | TransPagingHandshakeEvent(TEST_NUMBER_256, nullptr); | 524 | TransPagingHandshakeEvent(TEST_NUMBER_256, nullptr); |
| 525 | +#endif | ||
| 524 | 526 | ||
| 525 | SoftbusTransProxyNetworkMock networkObj; | 527 | SoftbusTransProxyNetworkMock networkObj; |
| 526 | EXPECT_CALL(networkObj, TransProxyPackHandshakeMsg).WillOnce(Return(payLoad)); | 528 | EXPECT_CALL(networkObj, TransProxyPackHandshakeMsg).WillOnce(Return(payLoad)); |
| @@ -558,6 +560,7 @@ HWTEST_F(TransProxySessionTest, TransProxyHandshakeTest004, TestSize.Level1) | |||
| 558 | EXPECT_EQ(ret, SOFTBUS_OK); | 560 | EXPECT_EQ(ret, SOFTBUS_OK); |
| 559 | } | 561 | } |
| 560 | 562 | ||
| 563 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 561 | /** | 564 | /** |
| 562 | * @tc.name: TransProxyKeepaliveTest001 | 565 | * @tc.name: TransProxyKeepaliveTest001 |
| 563 | * @tc.desc: TransProxyKeepalive | 566 | * @tc.desc: TransProxyKeepalive |
| @@ -647,6 +650,7 @@ HWTEST_F(TransProxySessionTest, TransProxyResetPeerTest001, TestSize.Level1) | |||
| 647 | int32_t ret = TransProxyAckKeepalive(&proxyChannelInfo); | 650 | int32_t ret = TransProxyAckKeepalive(&proxyChannelInfo); |
| 648 | EXPECT_EQ(ret, SOFTBUS_TRANS_PACK_LEEPALIVE_ACK_FAILED); | 651 | EXPECT_EQ(ret, SOFTBUS_TRANS_PACK_LEEPALIVE_ACK_FAILED); |
| 649 | } | 652 | } |
| 653 | +#endif | ||
| 650 | 654 | ||
| 651 | /** | 655 | /** |
| 652 | * @tc.name: TransProxyPackHandshakeErrMsgTest001 | 656 | * @tc.name: TransProxyPackHandshakeErrMsgTest001 |
| @@ -38,7 +38,10 @@ ohos_fuzztest("ClientTransProxyFileCommonFuzzTest") { | |||
| 38 | "-fno-omit-frame-pointer", | 38 | "-fno-omit-frame-pointer", |
| 39 | ] | 39 | ] |
| 40 | 40 | ||
| 41 | - sources = [ "clienttransproxyfilecommon_fuzzer.cpp" ] | 41 | + sources = [ |
| 42 | + "clienttransproxyfilecommon_fuzzer.cpp", | ||
| 43 | + "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/src/client_trans_proxy_file_common.c", | ||
| 44 | + ] | ||
| 42 | 45 | ||
| 43 | deps = [ "$dsoftbus_root_path/tests/sdk:softbus_client_static" ] | 46 | deps = [ "$dsoftbus_root_path/tests/sdk:softbus_client_static" ] |
| 44 | 47 | ||
| @@ -18,6 +18,7 @@ import("//build/test.gni") | |||
| 18 | import("../../../../../dsoftbus.gni") | 18 | import("../../../../../dsoftbus.gni") |
| 19 | 19 | ||
| 20 | ##############################fuzztest########################################## | 20 | ##############################fuzztest########################################## |
| 21 | +if (dsoftbus_feature_trans_file) { | ||
| 21 | ohos_fuzztest("ClientTransProxyFileManagerFuzzTest") { | 22 | ohos_fuzztest("ClientTransProxyFileManagerFuzzTest") { |
| 22 | module_out_path = dsoftbus_fuzz_out_path | 23 | module_out_path = dsoftbus_fuzz_out_path |
| 23 | 24 | ||
| @@ -55,12 +56,15 @@ ohos_fuzztest("ClientTransProxyFileManagerFuzzTest") { | |||
| 55 | "hilog:libhilog", | 56 | "hilog:libhilog", |
| 56 | ] | 57 | ] |
| 57 | } | 58 | } |
| 59 | +} | ||
| 58 | 60 | ||
| 59 | group("fuzztest") { | 61 | group("fuzztest") { |
| 60 | testonly = true | 62 | testonly = true |
| 61 | deps = [] | 63 | deps = [] |
| 62 | - deps += [ | 64 | + if (dsoftbus_feature_trans_file) { |
| 63 | - # deps file | 65 | + deps += [ |
| 64 | - ":ClientTransProxyFileManagerFuzzTest", | 66 | + # deps file |
| 65 | - ] | 67 | + ":ClientTransProxyFileManagerFuzzTest", |
| 68 | + ] | ||
| 69 | + } | ||
| 66 | } | 70 | } |
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <unistd.h> | 23 | #include <unistd.h> |
| 24 | 24 | ||
| 25 | #include "client_trans_proxy_file_manager.h" | 25 | #include "client_trans_proxy_file_manager.h" |
| 26 | +#include "client_trans_proxy_manager.h" | ||
| 26 | #include "client_trans_pending.h" | 27 | #include "client_trans_pending.h" |
| 27 | #include "client_trans_proxy_file_common.h" | 28 | #include "client_trans_proxy_file_common.h" |
| 28 | #include "client_trans_session_manager.h" | 29 | #include "client_trans_session_manager.h" |
| @@ -58,11 +59,10 @@ void ClientTransProxyFileManagerTest(const uint8_t *data, size_t size) | |||
| 58 | GenerateInt32(channelId); | 59 | GenerateInt32(channelId); |
| 59 | GenerateInt32(sessionId); | 60 | GenerateInt32(sessionId); |
| 60 | GenerateUint32(fileCnt); | 61 | GenerateUint32(fileCnt); |
| 61 | - const FileFrame oneFrame = {0}; | ||
| 62 | 62 | ||
| 63 | - ProxyChannelSendFile(channelId, sFileList, dFileList, fileCnt); | 63 | + TransProxyChannelSendFile(channelId, sFileList, dFileList, fileCnt); |
| 64 | 64 | ||
| 65 | - ProcessRecvFileFrameData(sessionId, channelId, &oneFrame); | 65 | + ProcessFileFrameData(sessionId, channelId, nullptr, 0, 0); |
| 66 | DataGenerator::Clear(); | 66 | DataGenerator::Clear(); |
| 67 | } | 67 | } |
| 68 | } // namespace OHOS | 68 | } // namespace OHOS |
| @@ -175,6 +175,10 @@ ohos_unittest("TransClientSessionCallbackTest") { | |||
| 175 | debug = false | 175 | debug = false |
| 176 | } | 176 | } |
| 177 | module_out_path = module_output_path | 177 | module_out_path = module_output_path |
| 178 | + defines = [] | ||
| 179 | + if (dsoftbus_feature_trans_file) { | ||
| 180 | + defines += [ "DSOFTBUS_FEATURE_TRANS_FILE" ] | ||
| 181 | + } | ||
| 178 | sources = [ "client_trans_session_callback_test.cpp" ] | 182 | sources = [ "client_trans_session_callback_test.cpp" ] |
| 179 | 183 | ||
| 180 | include_dirs = [ | 184 | include_dirs = [ |
| @@ -292,6 +296,10 @@ ohos_unittest("TransClientSessionCallbackExTest") { | |||
| 292 | 296 | ||
| 293 | ohos_unittest("TransClientMsgServiceTest") { | 297 | ohos_unittest("TransClientMsgServiceTest") { |
| 294 | module_out_path = module_output_path | 298 | module_out_path = module_output_path |
| 299 | + defines = [] | ||
| 300 | + if (dsoftbus_feature_trans_file) { | ||
| 301 | + defines += [ "DSOFTBUS_FEATURE_TRANS_FILE" ] | ||
| 302 | + } | ||
| 295 | sources = [ "client_trans_message_service_test.cpp" ] | 303 | sources = [ "client_trans_message_service_test.cpp" ] |
| 296 | 304 | ||
| 297 | include_dirs = [ | 305 | include_dirs = [ |
| @@ -402,6 +410,10 @@ ohos_unittest("TransClientSessionTest") { | |||
| 402 | blocklist = "$dsoftbus_root_path/tests/cfi_blocklist.txt" | 410 | blocklist = "$dsoftbus_root_path/tests/cfi_blocklist.txt" |
| 403 | } | 411 | } |
| 404 | module_out_path = module_output_path | 412 | module_out_path = module_output_path |
| 413 | + defines = [] | ||
| 414 | + if (dsoftbus_feature_trans_file) { | ||
| 415 | + defines += [ "DSOFTBUS_FEATURE_TRANS_FILE" ] | ||
| 416 | + } | ||
| 405 | sources = [ "client_trans_session_test.cpp" ] | 417 | sources = [ "client_trans_session_test.cpp" ] |
| 406 | 418 | ||
| 407 | include_dirs = [ | 419 | include_dirs = [ |
| @@ -381,6 +381,7 @@ HWTEST_F(TransClientMsgServiceTest, TransClientMsgServiceTest04, TestSize.Level1 | |||
| 381 | DeleteSessionServerAndSession(g_sessionName, sessionId); | 381 | DeleteSessionServerAndSession(g_sessionName, sessionId); |
| 382 | } | 382 | } |
| 383 | 383 | ||
| 384 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 384 | /** | 385 | /** |
| 385 | * @tc.name: TransClientMsgServiceTest05 | 386 | * @tc.name: TransClientMsgServiceTest05 |
| 386 | * @tc.desc: Transmission sdk message service send file with different parameters. | 387 | * @tc.desc: Transmission sdk message service send file with different parameters. |
| @@ -416,6 +417,7 @@ HWTEST_F(TransClientMsgServiceTest, TransClientMsgServiceTest05, TestSize.Level1 | |||
| 416 | EXPECT_EQ(ret, SOFTBUS_TRANS_CHANNEL_TYPE_INVALID); | 417 | EXPECT_EQ(ret, SOFTBUS_TRANS_CHANNEL_TYPE_INVALID); |
| 417 | DeleteSessionServerAndSession(g_sessionName, sessionId); | 418 | DeleteSessionServerAndSession(g_sessionName, sessionId); |
| 418 | } | 419 | } |
| 420 | +#endif | ||
| 419 | 421 | ||
| 420 | /** | 422 | /** |
| 421 | * @tc.name: CheckSendLenForBoosterTest01 | 423 | * @tc.name: CheckSendLenForBoosterTest01 |
| @@ -542,11 +544,19 @@ HWTEST_F(TransClientMsgServiceTest, SendMessageAsyncTest01, TestSize.Level1) | |||
| 542 | g_sessionName, CHANNEL_TYPE_PROXY, BUSINESS_TYPE_D2D_MESSAGE, false, ENABLE_STATUS_SUCCESS); | 544 | g_sessionName, CHANNEL_TYPE_PROXY, BUSINESS_TYPE_D2D_MESSAGE, false, ENABLE_STATUS_SUCCESS); |
| 543 | ASSERT_GT(sessionId, 0); | 545 | ASSERT_GT(sessionId, 0); |
| 544 | ret = SendMessageAsync(sessionId, dataSeq, data, len); | 546 | ret = SendMessageAsync(sessionId, dataSeq, data, len); |
| 547 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 545 | EXPECT_EQ(ret, SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND); | 548 | EXPECT_EQ(ret, SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND); |
| 549 | +#else | ||
| 550 | + EXPECT_EQ(ret, SOFTBUS_FUNC_NOT_SUPPORT); | ||
| 551 | +#endif | ||
| 546 | 552 | ||
| 547 | len = TRANS_TEST_BEYOND_MAX_MSG_LEN; | 553 | len = TRANS_TEST_BEYOND_MAX_MSG_LEN; |
| 548 | ret = SendMessageAsync(sessionId, dataSeq, data, len); | 554 | ret = SendMessageAsync(sessionId, dataSeq, data, len); |
| 549 | - EXPECT_EQ(ret, SOFTBUS_TRANS_SEND_LEN_BEYOND_LIMIT); | 555 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL |
| 556 | + EXPECT_EQ(ret, SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND); | ||
| 557 | +#else | ||
| 558 | + EXPECT_EQ(ret, SOFTBUS_FUNC_NOT_SUPPORT); | ||
| 559 | +#endif | ||
| 550 | 560 | ||
| 551 | len = TRANS_TEST_DEFAULT_MAX_MSG_LEN; | 561 | len = TRANS_TEST_DEFAULT_MAX_MSG_LEN; |
| 552 | ret = SendMessageAsync(sessionId, dataSeq, data, len); | 562 | ret = SendMessageAsync(sessionId, dataSeq, data, len); |
| @@ -446,6 +446,7 @@ HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest05, TestS | |||
| 446 | SoftBusFree(sessionParam); | 446 | SoftBusFree(sessionParam); |
| 447 | } | 447 | } |
| 448 | 448 | ||
| 449 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 449 | /* | 450 | /* |
| 450 | * @tc.name: TransClientSessionCallbackTest06 | 451 | * @tc.name: TransClientSessionCallbackTest06 |
| 451 | * @tc.desc: Transmission sdk session callback process receive file data | 452 | * @tc.desc: Transmission sdk session callback process receive file data |
| @@ -475,6 +476,7 @@ HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest06, TestS | |||
| 475 | EXPECT_EQ(ret, SOFTBUS_OK); | 476 | EXPECT_EQ(ret, SOFTBUS_OK); |
| 476 | SoftBusFree(sessionParam); | 477 | SoftBusFree(sessionParam); |
| 477 | } | 478 | } |
| 479 | +#endif | ||
| 478 | 480 | ||
| 479 | /* | 481 | /* |
| 480 | * @tc.name: TransClientSessionCallbackTest07 | 482 | * @tc.name: TransClientSessionCallbackTest07 |
| @@ -499,6 +501,7 @@ HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest07, TestS | |||
| 499 | session->channelType = CHANNEL_TYPE_PROXY; | 501 | session->channelType = CHANNEL_TYPE_PROXY; |
| 500 | ret = ClientAddNewSession(g_sessionName, session); | 502 | ret = ClientAddNewSession(g_sessionName, session); |
| 501 | ASSERT_EQ(ret, SOFTBUS_OK); | 503 | ASSERT_EQ(ret, SOFTBUS_OK); |
| 504 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 502 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA, | 505 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA, |
| 503 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME); | 506 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME); |
| 504 | EXPECT_EQ(ret, SOFTBUS_NO_INIT); | 507 | EXPECT_EQ(ret, SOFTBUS_NO_INIT); |
| @@ -514,6 +517,7 @@ HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest07, TestS | |||
| 514 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA, | 517 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA, |
| 515 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ONLYONE_FRAME); | 518 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ONLYONE_FRAME); |
| 516 | EXPECT_EQ(ret, SOFTBUS_NOT_FIND); | 519 | EXPECT_EQ(ret, SOFTBUS_NOT_FIND); |
| 520 | +#endif | ||
| 517 | 521 | ||
| 518 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA, | 522 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA, |
| 519 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_BYTES); | 523 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_BYTES); |
| @@ -720,6 +724,7 @@ HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest13, TestS | |||
| 720 | ret = ClientAddNewSession(g_sessionName, session); | 724 | ret = ClientAddNewSession(g_sessionName, session); |
| 721 | ASSERT_EQ(ret, SOFTBUS_OK); | 725 | ASSERT_EQ(ret, SOFTBUS_OK); |
| 722 | 726 | ||
| 727 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 723 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA, | 728 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA, |
| 724 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ALLFILE_SENT); | 729 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ALLFILE_SENT); |
| 725 | EXPECT_EQ(ret, SOFTBUS_OK); | 730 | EXPECT_EQ(ret, SOFTBUS_OK); |
| @@ -739,6 +744,7 @@ HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest13, TestS | |||
| 739 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA, | 744 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA, |
| 740 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ACK_RESPONSE_SENT); | 745 | strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ACK_RESPONSE_SENT); |
| 741 | EXPECT_EQ(ret, SOFTBUS_OK); | 746 | EXPECT_EQ(ret, SOFTBUS_OK); |
| 747 | +#endif | ||
| 742 | 748 | ||
| 743 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA, | 749 | ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA, |
| 744 | strlen(TRANS_TEST_AUTH_DATA), (SessionPktType)(TRANS_SESSION_FILE_ACK_RESPONSE_SENT + 1)); | 750 | strlen(TRANS_TEST_AUTH_DATA), (SessionPktType)(TRANS_SESSION_FILE_ACK_RESPONSE_SENT + 1)); |
| @@ -143,6 +143,7 @@ static int32_t OnSessionOpenedErr(int32_t sessionId, int32_t result) | |||
| 143 | return SOFTBUS_NOT_FIND; | 143 | return SOFTBUS_NOT_FIND; |
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 146 | static int32_t OnReceiveFileStarted(int32_t sessionId, const char *files, int32_t fileCnt) | 147 | static int32_t OnReceiveFileStarted(int32_t sessionId, const char *files, int32_t fileCnt) |
| 147 | { | 148 | { |
| 148 | TRANS_LOGI(TRANS_TEST, "receive file start, sessionId=%{public}d", sessionId); | 149 | TRANS_LOGI(TRANS_TEST, "receive file start, sessionId=%{public}d", sessionId); |
| @@ -176,6 +177,7 @@ int32_t OnSendFileFinished(int32_t sessionId, const char *firstFile) | |||
| 176 | TRANS_LOGI(TRANS_TEST, "send file finished, sessionId=%{public}d", sessionId); | 177 | TRANS_LOGI(TRANS_TEST, "send file finished, sessionId=%{public}d", sessionId); |
| 177 | return SOFTBUS_OK; | 178 | return SOFTBUS_OK; |
| 178 | } | 179 | } |
| 180 | +#endif | ||
| 179 | 181 | ||
| 180 | static ISessionListener g_sessionlistener = { | 182 | static ISessionListener g_sessionlistener = { |
| 181 | .OnSessionOpened = OnSessionOpened, | 183 | .OnSessionOpened = OnSessionOpened, |
| @@ -186,6 +188,7 @@ static ISessionListener g_sessionlistener = { | |||
| 186 | .OnQosEvent = OnQosEvent, | 188 | .OnQosEvent = OnQosEvent, |
| 187 | }; | 189 | }; |
| 188 | 190 | ||
| 191 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 189 | static IFileReceiveListener g_fileRecvListener = { | 192 | static IFileReceiveListener g_fileRecvListener = { |
| 190 | .OnReceiveFileStarted = OnReceiveFileStarted, | 193 | .OnReceiveFileStarted = OnReceiveFileStarted, |
| 191 | .OnReceiveFileProcess = OnReceiveFileProcess, | 194 | .OnReceiveFileProcess = OnReceiveFileProcess, |
| @@ -198,6 +201,7 @@ static IFileSendListener g_fileSendListener = { | |||
| 198 | .OnSendFileFinished = OnSendFileFinished, | 201 | .OnSendFileFinished = OnSendFileFinished, |
| 199 | .OnFileTransError = OnFileTransError | 202 | .OnFileTransError = OnFileTransError |
| 200 | }; | 203 | }; |
| 204 | +#endif | ||
| 201 | 205 | ||
| 202 | static void TestGenerateCommParam(SessionParam *sessionParam) | 206 | static void TestGenerateCommParam(SessionParam *sessionParam) |
| 203 | { | 207 | { |
| @@ -747,6 +751,7 @@ HWTEST_F(TransClientSessionTest, TransClientSessionTest15, TestSize.Level1) | |||
| 747 | DeleteSessionServerAndSession(g_sessionName, sessionId); | 751 | DeleteSessionServerAndSession(g_sessionName, sessionId); |
| 748 | } | 752 | } |
| 749 | 753 | ||
| 754 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 750 | /* | 755 | /* |
| 751 | * @tc.name: TransClientSessionTest16 | 756 | * @tc.name: TransClientSessionTest16 |
| 752 | * @tc.desc: test TransClientSession | 757 | * @tc.desc: test TransClientSession |
| @@ -798,6 +803,7 @@ HWTEST_F(TransClientSessionTest, TransClientSessionTest17, TestSize.Level1) | |||
| 798 | ret = SetFileSendListener(g_pkgName, g_sessionName, &g_fileSendListener); | 803 | ret = SetFileSendListener(g_pkgName, g_sessionName, &g_fileSendListener); |
| 799 | EXPECT_EQ(ret, SOFTBUS_OK); | 804 | EXPECT_EQ(ret, SOFTBUS_OK); |
| 800 | } | 805 | } |
| 806 | +#endif | ||
| 801 | 807 | ||
| 802 | /* | 808 | /* |
| 803 | * @tc.name: TransClientSessionTest18 | 809 | * @tc.name: TransClientSessionTest18 |
| @@ -270,12 +270,37 @@ HWTEST_F(TransClientSocketServiceTest, DataType001, TestSize.Level1) | |||
| 270 | info.pkgName = const_cast<char *>(g_pkgName.c_str()); | 270 | info.pkgName = const_cast<char *>(g_pkgName.c_str()); |
| 271 | 271 | ||
| 272 | for (int32_t type = DATA_TYPE_MESSAGE; type < DATA_TYPE_BUTT; type++) { | 272 | for (int32_t type = DATA_TYPE_MESSAGE; type < DATA_TYPE_BUTT; type++) { |
| 273 | + if (type == DATA_TYPE_FILE) { | ||
| 274 | + continue; | ||
| 275 | + } | ||
| 273 | info.dataType = static_cast<TransDataType>(type); | 276 | info.dataType = static_cast<TransDataType>(type); |
| 274 | int32_t socketId = Socket(info); | 277 | int32_t socketId = Socket(info); |
| 275 | EXPECT_EQ(socketId, SOFTBUS_TRANS_SESSION_ADDPKG_FAILED); | 278 | EXPECT_EQ(socketId, SOFTBUS_TRANS_SESSION_ADDPKG_FAILED); |
| 276 | } | 279 | } |
| 277 | } | 280 | } |
| 278 | 281 | ||
| 282 | +#ifndef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 283 | +/* | ||
| 284 | + * @tc.name: SocketFileDataType001 | ||
| 285 | + * @tc.desc: test Socket with DATA_TYPE_FILE returns SOFTBUS_FUNC_NOT_SUPPORT | ||
| 286 | + * when trans_file feature is disabled | ||
| 287 | + * @tc.type: FUNC | ||
| 288 | + * @tc.require: | ||
| 289 | + */ | ||
| 290 | +HWTEST_F(TransClientSocketServiceTest, SocketFileDataType001, TestSize.Level1) | ||
| 291 | +{ | ||
| 292 | + SocketInfo info; | ||
| 293 | + info.name = const_cast<char *>(g_socketName.c_str()); | ||
| 294 | + info.peerName = const_cast<char *>(g_socketPeerName.c_str()); | ||
| 295 | + info.peerNetworkId = const_cast<char *>(g_networkId.c_str()); | ||
| 296 | + info.pkgName = const_cast<char *>(g_pkgName.c_str()); | ||
| 297 | + info.dataType = DATA_TYPE_FILE; | ||
| 298 | + | ||
| 299 | + int32_t socketId = Socket(info); | ||
| 300 | + EXPECT_EQ(socketId, SOFTBUS_FUNC_NOT_SUPPORT); | ||
| 301 | +} | ||
| 302 | +#endif | ||
| 303 | + | ||
| 279 | static void OnShutdown(int32_t socket, ShutdownReason reason) | 304 | static void OnShutdown(int32_t socket, ShutdownReason reason) |
| 280 | { | 305 | { |
| 281 | return; | 306 | return; |
| @@ -75,7 +75,7 @@ if (defined(ohos_lite)) { | |||
| 75 | trans_sdk_proxy_test_deps = | 75 | trans_sdk_proxy_test_deps = |
| 76 | [ | 76 | [ |
| 77 | "$dsoftbus_root_path/dfx:softbus_dfx", | 77 | "$dsoftbus_root_path/dfx:softbus_dfx", |
| 78 | - "$dsoftbus_root_path/tests/sdk:softbus_client_static" | 78 | + "$dsoftbus_root_path/tests/sdk:softbus_client_static", |
| 79 | ] | 79 | ] |
| 80 | 80 | ||
| 81 | module_output_path = "dsoftbus/soft_bus/transmission" | 81 | module_output_path = "dsoftbus/soft_bus/transmission" |
| @@ -110,7 +110,10 @@ if (defined(ohos_lite)) { | |||
| 110 | module_output_path = "dsoftbus/soft_bus/transmission" | 110 | module_output_path = "dsoftbus/soft_bus/transmission" |
| 111 | ohos_unittest("ClientTransProxyFileCommonTest") { | 111 | ohos_unittest("ClientTransProxyFileCommonTest") { |
| 112 | module_out_path = module_output_path | 112 | module_out_path = module_output_path |
| 113 | - sources = [ "proxy/client_trans_proxy_file_common_test.cpp" ] | 113 | + sources = [ |
| 114 | + "proxy/client_trans_proxy_file_common_test.cpp", | ||
| 115 | + "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/src/client_trans_proxy_file_common.c", | ||
| 116 | + ] | ||
| 114 | include_dirs = trans_sdk_test_common_inc | 117 | include_dirs = trans_sdk_test_common_inc |
| 115 | include_dirs += trans_sdk_proxy_test_inc | 118 | include_dirs += trans_sdk_proxy_test_inc |
| 116 | deps = trans_sdk_test_common_deps | 119 | deps = trans_sdk_test_common_deps |
| @@ -145,6 +148,10 @@ if (defined(ohos_lite)) { | |||
| 145 | debug = false | 148 | debug = false |
| 146 | } | 149 | } |
| 147 | module_out_path = module_output_path | 150 | module_out_path = module_output_path |
| 151 | + defines = [] | ||
| 152 | + if (dsoftbus_feature_trans_proxy_file) { | ||
| 153 | + defines += [ "DSOFTBUS_FEATURE_TRANS_PROXY_FILE" ] | ||
| 154 | + } | ||
| 148 | sources = [ "proxy/client_trans_proxy_manager_test.cpp" ] | 155 | sources = [ "proxy/client_trans_proxy_manager_test.cpp" ] |
| 149 | include_dirs = trans_sdk_test_common_inc | 156 | include_dirs = trans_sdk_test_common_inc |
| 150 | include_dirs += trans_sdk_proxy_test_inc | 157 | include_dirs += trans_sdk_proxy_test_inc |
| @@ -319,7 +326,10 @@ if (defined(ohos_lite)) { | |||
| 319 | debug = false | 326 | debug = false |
| 320 | } | 327 | } |
| 321 | module_out_path = module_output_path | 328 | module_out_path = module_output_path |
| 322 | - sources = [ "proxy/client_trans_proxy_file_manager_test.cpp" ] | 329 | + sources = [ |
| 330 | + "proxy/client_trans_proxy_file_manager_test.cpp", | ||
| 331 | + "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/src/client_trans_proxy_file_common.c", | ||
| 332 | + ] | ||
| 323 | include_dirs = trans_sdk_test_common_inc | 333 | include_dirs = trans_sdk_test_common_inc |
| 324 | include_dirs += [ | 334 | include_dirs += [ |
| 325 | "$dsoftbus_root_path/components/nstackx/fillp/include", | 335 | "$dsoftbus_root_path/components/nstackx/fillp/include", |
| @@ -436,6 +446,10 @@ if (defined(ohos_lite)) { | |||
| 436 | debug = false | 446 | debug = false |
| 437 | } | 447 | } |
| 438 | module_out_path = module_output_path | 448 | module_out_path = module_output_path |
| 449 | + defines = [] | ||
| 450 | + if (dsoftbus_feature_trans_file) { | ||
| 451 | + defines += [ "DSOFTBUS_FEATURE_TRANS_FILE" ] | ||
| 452 | + } | ||
| 439 | sources = [ "manager/client_trans_channel_manager_test.cpp" ] | 453 | sources = [ "manager/client_trans_channel_manager_test.cpp" ] |
| 440 | include_dirs = trans_sdk_test_common_inc | 454 | include_dirs = trans_sdk_test_common_inc |
| 441 | include_dirs += [ | 455 | include_dirs += [ |
| @@ -597,11 +611,8 @@ if (defined(ohos_lite)) { | |||
| 597 | deps = [ | 611 | deps = [ |
| 598 | ":ClientTransChannelCallbackTest", | 612 | ":ClientTransChannelCallbackTest", |
| 599 | ":ClientTransChannelManagerTest", | 613 | ":ClientTransChannelManagerTest", |
| 600 | - ":ClientTransPendingTest", | ||
| 601 | - ":ClientTransProxyD2DTest", | ||
| 602 | ":ClientTransProxyFileCommonTest", | 614 | ":ClientTransProxyFileCommonTest", |
| 603 | ":ClientTransProxyFileManagerMockTest", | 615 | ":ClientTransProxyFileManagerMockTest", |
| 604 | - ":ClientTransProxyFileManagerTest", | ||
| 605 | ":ClientTransProxyManagerMockTest", | 616 | ":ClientTransProxyManagerMockTest", |
| 606 | ":ClientTransUdpManagerTest", | 617 | ":ClientTransUdpManagerTest", |
| 607 | ":TransClientProxyFileManagerMockTest", | 618 | ":TransClientProxyFileManagerMockTest", |
| @@ -616,6 +627,15 @@ if (defined(ohos_lite)) { | |||
| 616 | "udp/distributed_stream:distributed_stream_test", | 627 | "udp/distributed_stream:distributed_stream_test", |
| 617 | "udp/file:unittest", | 628 | "udp/file:unittest", |
| 618 | ] | 629 | ] |
| 630 | + if (dsoftbus_feature_trans_proxy_channel && dsoftbus_feature_trans_file) { | ||
| 631 | + deps += [ ":ClientTransProxyFileManagerTest" ] | ||
| 632 | + } | ||
| 633 | + if (dsoftbus_feature_trans_proxy_channel) { | ||
| 634 | + deps += [ | ||
| 635 | + ":ClientTransPendingTest", | ||
| 636 | + ":ClientTransProxyD2DTest", | ||
| 637 | + ] | ||
| 638 | + } | ||
| 619 | if (dsoftbus_feature_trans_udp == true) { | 639 | if (dsoftbus_feature_trans_udp == true) { |
| 620 | if (dsoftbus_feature_trans_udp_stream == true) { | 640 | if (dsoftbus_feature_trans_udp_stream == true) { |
| 621 | if (!defined(ohos_lite)) { | 641 | if (!defined(ohos_lite)) { |
| @@ -623,7 +643,6 @@ if (defined(ohos_lite)) { | |||
| 623 | ":ClientTransStreamTest", | 643 | ":ClientTransStreamTest", |
| 624 | ":ClientTransUdpStreamInterfaceTest", | 644 | ":ClientTransUdpStreamInterfaceTest", |
| 625 | ":StreamAdaptorTest", | 645 | ":StreamAdaptorTest", |
| 626 | - ":ClientTransProxyManagerTest", | ||
| 627 | ":ClientTransUdpManagerStaticTest", | 646 | ":ClientTransUdpManagerStaticTest", |
| 628 | "tcp_direct:unittest", | 647 | "tcp_direct:unittest", |
| 629 | "udp/stream/libsoftbus_stream:unittest", | 648 | "udp/stream/libsoftbus_stream:unittest", |
| @@ -631,5 +650,9 @@ if (defined(ohos_lite)) { | |||
| 631 | } | 650 | } |
| 632 | } | 651 | } |
| 633 | } | 652 | } |
| 653 | + if (dsoftbus_feature_trans_proxy_channel && dsoftbus_feature_trans_udp == true && | ||
| 654 | + dsoftbus_feature_trans_udp_stream == true && !defined(ohos_lite)) { | ||
| 655 | + deps += [ ":ClientTransProxyManagerTest" ] | ||
| 656 | + } | ||
| 634 | } | 657 | } |
| 635 | } | 658 | } |
| @@ -132,7 +132,11 @@ HWTEST_F(ClientTransChannelCallbackTest, TransOnChannelOpenTest001, TestSize.Lev | |||
| 132 | 132 | ||
| 133 | info.channelType = CHANNEL_TYPE_PROXY; | 133 | info.channelType = CHANNEL_TYPE_PROXY; |
| 134 | ret = TransOnChannelOpened(g_sessionName, &info); | 134 | ret = TransOnChannelOpened(g_sessionName, &info); |
| 135 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 135 | EXPECT_EQ(SOFTBUS_MEM_ERR, ret); | 136 | EXPECT_EQ(SOFTBUS_MEM_ERR, ret); |
| 137 | +#else | ||
| 138 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 139 | +#endif | ||
| 136 | 140 | ||
| 137 | info.channelType = CHANNEL_TYPE_TCP_DIRECT; | 141 | info.channelType = CHANNEL_TYPE_TCP_DIRECT; |
| 138 | ret = TransOnChannelOpened(g_sessionName, &info); | 142 | ret = TransOnChannelOpened(g_sessionName, &info); |
| @@ -166,7 +170,11 @@ HWTEST_F(ClientTransChannelCallbackTest, TransOnChannelOpenFailedTest001, TestSi | |||
| 166 | EXPECT_EQ(SOFTBUS_OK, ret); | 170 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 167 | 171 | ||
| 168 | ret = TransOnChannelOpenFailed(channelId, CHANNEL_TYPE_PROXY, SOFTBUS_MEM_ERR); | 172 | ret = TransOnChannelOpenFailed(channelId, CHANNEL_TYPE_PROXY, SOFTBUS_MEM_ERR); |
| 173 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 169 | EXPECT_EQ(SOFTBUS_OK, ret); | 174 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 175 | +#else | ||
| 176 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 177 | +#endif | ||
| 170 | 178 | ||
| 171 | ret = TransOnChannelOpenFailed(channelId, CHANNEL_TYPE_TCP_DIRECT, SOFTBUS_MEM_ERR); | 179 | ret = TransOnChannelOpenFailed(channelId, CHANNEL_TYPE_TCP_DIRECT, SOFTBUS_MEM_ERR); |
| 172 | EXPECT_EQ(SOFTBUS_OK, ret); | 180 | EXPECT_EQ(SOFTBUS_OK, ret); |
| @@ -218,7 +226,11 @@ HWTEST_F(ClientTransChannelCallbackTest, TransOnChannelClosedTest001, TestSize.L | |||
| 218 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); | 226 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); |
| 219 | 227 | ||
| 220 | ret = TransOnChannelClosed(channelId, CHANNEL_TYPE_PROXY, messageType, SHUTDOWN_REASON_UNKNOWN); | 228 | ret = TransOnChannelClosed(channelId, CHANNEL_TYPE_PROXY, messageType, SHUTDOWN_REASON_UNKNOWN); |
| 229 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 221 | EXPECT_EQ(SOFTBUS_OK, ret); | 230 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 231 | +#else | ||
| 232 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 233 | +#endif | ||
| 222 | 234 | ||
| 223 | ret = TransOnChannelClosed(channelId, CHANNEL_TYPE_PROXY, udpMessageType, SHUTDOWN_REASON_UNKNOWN); | 235 | ret = TransOnChannelClosed(channelId, CHANNEL_TYPE_PROXY, udpMessageType, SHUTDOWN_REASON_UNKNOWN); |
| 224 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); | 236 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); |
| @@ -261,7 +273,11 @@ HWTEST_F(ClientTransChannelCallbackTest, TransOnChannelMsgReceivedTest001, TestS | |||
| 261 | EXPECT_EQ(SOFTBUS_OK, ret); | 273 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 262 | 274 | ||
| 263 | ret = TransOnChannelMsgReceived(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH, TRANS_SESSION_BYTES); | 275 | ret = TransOnChannelMsgReceived(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH, TRANS_SESSION_BYTES); |
| 276 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 264 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_INVALID_CHANNEL_ID, ret); | 277 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_INVALID_CHANNEL_ID, ret); |
| 278 | +#else | ||
| 279 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 280 | +#endif | ||
| 265 | 281 | ||
| 266 | ret = TransOnChannelMsgReceived(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH, TRANS_SESSION_BYTES); | 282 | ret = TransOnChannelMsgReceived(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH, TRANS_SESSION_BYTES); |
| 267 | EXPECT_EQ(SOFTBUS_OK, ret); | 283 | EXPECT_EQ(SOFTBUS_OK, ret); |
| @@ -311,7 +327,11 @@ HWTEST_F(ClientTransChannelCallbackTest, TransOnChannelBindTest001, TestSize.Lev | |||
| 311 | EXPECT_EQ(SOFTBUS_NOT_FIND, ret); | 327 | EXPECT_EQ(SOFTBUS_NOT_FIND, ret); |
| 312 | 328 | ||
| 313 | ret = TransOnChannelBind(channelId, CHANNEL_TYPE_PROXY); | 329 | ret = TransOnChannelBind(channelId, CHANNEL_TYPE_PROXY); |
| 330 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 314 | EXPECT_EQ(SOFTBUS_OK, ret); | 331 | EXPECT_EQ(SOFTBUS_OK, ret); |
| 332 | +#else | ||
| 333 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 334 | +#endif | ||
| 315 | 335 | ||
| 316 | ret = TransOnChannelBind(channelId, CHANNEL_TYPE_AUTH); | 336 | ret = TransOnChannelBind(channelId, CHANNEL_TYPE_AUTH); |
| 317 | EXPECT_EQ(SOFTBUS_OK, ret); | 337 | EXPECT_EQ(SOFTBUS_OK, ret); |
| @@ -192,7 +192,11 @@ HWTEST_F(ClientTransChannelManagerTest, ClientTransChannelAsyncSendBytesTest001, | |||
| 192 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); | 192 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); |
| 193 | 193 | ||
| 194 | ret = ClientTransChannelAsyncSendBytes(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH, dataSeq); | 194 | ret = ClientTransChannelAsyncSendBytes(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH, dataSeq); |
| 195 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 195 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND, ret); | 196 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND, ret); |
| 197 | +#else | ||
| 198 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 199 | +#endif | ||
| 196 | 200 | ||
| 197 | ret = ClientTransChannelAsyncSendBytes(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH, dataSeq); | 201 | ret = ClientTransChannelAsyncSendBytes(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH, dataSeq); |
| 198 | EXPECT_EQ(SOFTBUS_TRANS_TDC_CHANNEL_NOT_FOUND, ret); | 202 | EXPECT_EQ(SOFTBUS_TRANS_TDC_CHANNEL_NOT_FOUND, ret); |
| @@ -219,7 +223,11 @@ HWTEST_F(ClientTransChannelManagerTest, ClientTransChannelSendMessageTest001, Te | |||
| 219 | EXPECT_EQ(SOFTBUS_PERMISSION_DENIED, ret); | 223 | EXPECT_EQ(SOFTBUS_PERMISSION_DENIED, ret); |
| 220 | 224 | ||
| 221 | ret = ClientTransChannelSendMessage(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH); | 225 | ret = ClientTransChannelSendMessage(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH); |
| 226 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 222 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND, ret); | 227 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND, ret); |
| 228 | +#else | ||
| 229 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 230 | +#endif | ||
| 223 | 231 | ||
| 224 | ret = ClientTransChannelSendMessage(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH); | 232 | ret = ClientTransChannelSendMessage(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH); |
| 225 | EXPECT_EQ(SOFTBUS_TRANS_TDC_CHANNEL_NOT_FOUND, ret); | 233 | EXPECT_EQ(SOFTBUS_TRANS_TDC_CHANNEL_NOT_FOUND, ret); |
| @@ -257,6 +265,7 @@ HWTEST_F(ClientTransChannelManagerTest, ClientTransChannelSendStreamTest001, Tes | |||
| 257 | EXPECT_EQ(SOFTBUS_TRANS_CHANNEL_TYPE_INVALID, ret); | 265 | EXPECT_EQ(SOFTBUS_TRANS_CHANNEL_TYPE_INVALID, ret); |
| 258 | } | 266 | } |
| 259 | 267 | ||
| 268 | +#ifdef DSOFTBUS_FEATURE_TRANS_FILE | ||
| 260 | /** | 269 | /** |
| 261 | * @tc.name: ClientTransChannelSendFileTest001 | 270 | * @tc.name: ClientTransChannelSendFileTest001 |
| 262 | * @tc.desc: client trans channel send file test, use the wrong or normal parameter. | 271 | * @tc.desc: client trans channel send file test, use the wrong or normal parameter. |
| @@ -278,6 +287,7 @@ HWTEST_F(ClientTransChannelManagerTest, ClientTransChannelSendFileTest001, TestS | |||
| 278 | ret = ClientTransChannelSendFile(channelId, CHANNEL_TYPE_BUTT, sFileList, dFileList, fileCnt); | 287 | ret = ClientTransChannelSendFile(channelId, CHANNEL_TYPE_BUTT, sFileList, dFileList, fileCnt); |
| 279 | EXPECT_EQ(SOFTBUS_TRANS_CHANNEL_TYPE_INVALID, ret); | 288 | EXPECT_EQ(SOFTBUS_TRANS_CHANNEL_TYPE_INVALID, ret); |
| 280 | } | 289 | } |
| 290 | +#endif | ||
| 281 | 291 | ||
| 282 | /** | 292 | /** |
| 283 | * @tc.name: ClientTransChannelAsyncSendMessageTest001 | 293 | * @tc.name: ClientTransChannelAsyncSendMessageTest001 |
| @@ -301,7 +311,11 @@ HWTEST_F(ClientTransChannelManagerTest, ClientTransChannelAsyncSendMessageTest00 | |||
| 301 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); | 311 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); |
| 302 | 312 | ||
| 303 | ret = ClientTransChannelAsyncSendMessage(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH, dataSeq); | 313 | ret = ClientTransChannelAsyncSendMessage(channelId, CHANNEL_TYPE_PROXY, data, TEST_DATA_LENGTH, dataSeq); |
| 314 | +#ifdef DSOFTBUS_FEATURE_PROXY_CHANNEL | ||
| 304 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND, ret); | 315 | EXPECT_EQ(SOFTBUS_TRANS_PROXY_CHANNEL_NOT_FOUND, ret); |
| 316 | +#else | ||
| 317 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 318 | +#endif | ||
| 305 | 319 | ||
| 306 | ret = ClientTransChannelAsyncSendMessage(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH, dataSeq); | 320 | ret = ClientTransChannelAsyncSendMessage(channelId, CHANNEL_TYPE_TCP_DIRECT, data, TEST_DATA_LENGTH, dataSeq); |
| 307 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); | 321 | EXPECT_EQ(SOFTBUS_TRANS_INVALID_CHANNEL_TYPE, ret); |
| @@ -463,6 +463,7 @@ HWTEST_F(ClientTransProxyManagerTest, ClientTransProxyCloseChannelTest, TestSize | |||
| 463 | ClientTransProxyCloseChannel(channelId); | 463 | ClientTransProxyCloseChannel(channelId); |
| 464 | } | 464 | } |
| 465 | 465 | ||
| 466 | +#ifdef DSOFTBUS_FEATURE_TRANS_PROXY_FILE | ||
| 466 | /* | 467 | /* |
| 467 | * @tc.name: TransProxyChannelSendFileTest | 468 | * @tc.name: TransProxyChannelSendFileTest |
| 468 | * @tc.desc: trans proxy channel send file test | 469 | * @tc.desc: trans proxy channel send file test |
| @@ -485,6 +486,7 @@ HWTEST_F(ClientTransProxyManagerTest, TransProxyChannelSendFileTest, TestSize.Le | |||
| 485 | ret = TransProxyChannelSendFile(channelId, g_testProxyFileName, g_proxyFileSet, TEST_FILE_CNT); | 486 | ret = TransProxyChannelSendFile(channelId, g_testProxyFileName, g_proxyFileSet, TEST_FILE_CNT); |
| 486 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); | 487 | EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); |
| 487 | } | 488 | } |
| 489 | +#endif | ||
| 488 | 490 | ||
| 489 | /* | 491 | /* |
| 490 | * @tc.name: ClientTransProxyGetInfoByChannelIdTest | 492 | * @tc.name: ClientTransProxyGetInfoByChannelIdTest |
| @@ -179,7 +179,11 @@ HWTEST_F(ClientTransUdpManagerTest, TransOnUdpChannelOpenedTest002, TestSize.Lev | |||
| 179 | channel.businessType = BUSINESS_TYPE_FILE; | 179 | channel.businessType = BUSINESS_TYPE_FILE; |
| 180 | channel.channelId = TEST_CHANNELID + 1; | 180 | channel.channelId = TEST_CHANNELID + 1; |
| 181 | ret = TransOnUdpChannelOpened(g_sessionName, &channel, &udpPort, &accessInfo); | 181 | ret = TransOnUdpChannelOpened(g_sessionName, &channel, &udpPort, &accessInfo); |
| 182 | +#ifdef DSOFTBUS_FEATURE_TRANS_UDP_FILE | ||
| 182 | EXPECT_EQ(SOFTBUS_TRANS_NODE_NOT_FOUND, ret); | 183 | EXPECT_EQ(SOFTBUS_TRANS_NODE_NOT_FOUND, ret); |
| 184 | +#else | ||
| 185 | + EXPECT_EQ(SOFTBUS_FUNC_NOT_SUPPORT, ret); | ||
| 186 | +#endif | ||
| 183 | 187 | ||
| 184 | channel.businessType = TEST_COUNT; | 188 | channel.businessType = TEST_COUNT; |
| 185 | ret = TransOnUdpChannelOpened(g_sessionName, &channel, &udpPort, &accessInfo); | 189 | ret = TransOnUdpChannelOpened(g_sessionName, &channel, &udpPort, &accessInfo); |