Revert "[CONPRO-1568] Ignoring duplicate IPv6/Ipv4 messages" 52/230752/1 accepted/tizen/unified/20200416.001142 submit/tizen/20200414.045530
authorDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 14 Apr 2020 04:13:18 +0000 (13:13 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 14 Apr 2020 04:38:41 +0000 (13:38 +0900)
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 <dh79.pyun@samsung.com>
resource/csdk/connectivity/api/cacommon.h [changed mode: 0644->0755]
resource/csdk/connectivity/src/camessagehandler.c

old mode 100644 (file)
new mode 100755 (executable)
index f236968..d1e53f7
@@ -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
index 5a92d15..da4320d 100644 (file)
@@ -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);