From 32806a4cfb76b08b7a455cb6c3978d2a7a808675 Mon Sep 17 00:00:00 2001 From: DoHyun Pyun Date: Tue, 14 Apr 2020 13:13:18 +0900 Subject: [PATCH] Revert "[CONPRO-1568] Ignoring duplicate IPv6/Ipv4 messages" This reverts commit d386e3797794d970b5e96c25fc00780c80b2a6fe. Native iotcon ITC fail issues are occured with this patchset in FHub 6.0 image. After re-checking the patchset, we will apply. Change-Id: I34e07c6e07f1c6b602cbf861ea51459a639ab80e Signed-off-by: DoHyun Pyun --- resource/csdk/connectivity/api/cacommon.h | 1 - resource/csdk/connectivity/src/camessagehandler.c | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) mode change 100644 => 100755 resource/csdk/connectivity/api/cacommon.h diff --git a/resource/csdk/connectivity/api/cacommon.h b/resource/csdk/connectivity/api/cacommon.h old mode 100644 new mode 100755 index f236968..d1e53f7 --- a/resource/csdk/connectivity/api/cacommon.h +++ b/resource/csdk/connectivity/api/cacommon.h @@ -547,7 +547,6 @@ typedef struct uint16_t messageId; char token[CA_MAX_TOKEN_LEN]; uint8_t tokenLength; - uint32_t ifindex; } CAHistoryItem_t; typedef struct diff --git a/resource/csdk/connectivity/src/camessagehandler.c b/resource/csdk/connectivity/src/camessagehandler.c index 5a92d15..da4320d 100644 --- a/resource/csdk/connectivity/src/camessagehandler.c +++ b/resource/csdk/connectivity/src/camessagehandler.c @@ -768,18 +768,20 @@ static bool CADropSecondMessage(CAHistory_t *history, const CAEndpoint_t *ep, ui { CAHistoryItem_t *item = &(history->items[i]); if (id == item->messageId && tokenLength == item->tokenLength - && ep->ifindex == item->ifindex && memcmp(item->token, token, tokenLength) == 0) + && memcmp(item->token, token, tokenLength) == 0) { - OIC_LOG_V(INFO, TAG, "IPv%c duplicate message ignored", - familyFlags & CA_IPV6 ? '6' : '4'); - ret = true; - break; + if ((familyFlags ^ item->flags) == CA_IPFAMILY_MASK) + { + OIC_LOG_V(INFO, TAG, "IPv%c duplicate message ignored", + familyFlags & CA_IPV6 ? '6' : '4'); + ret = true; + break; + } } } history->items[history->nextIndex].flags = familyFlags; history->items[history->nextIndex].messageId = id; - history->items[history->nextIndex].ifindex = ep->ifindex; if (token && tokenLength) { memcpy(history->items[history->nextIndex].token, token, tokenLength); -- 2.7.4