Update snapshot(2017-11-23)
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / camessagehandler.c
index dcc172e..394a728 100755 (executable)
@@ -201,7 +201,8 @@ static CAData_t* CAGenerateHandlerData(const CAEndpoint_t *endpoint,
             goto exit;
         }
 
-        if (CADropSecondMessage(&caglobals.ca.requestHistory, endpoint, reqInfo->info.messageId,
+        if ((reqInfo->info.type != CA_MSG_CONFIRM) &&
+            CADropSecondMessage(&caglobals.ca.requestHistory, endpoint, reqInfo->info.messageId,
                                 reqInfo->info.token, reqInfo->info.tokenLength))
         {
             OIC_LOG(INFO, TAG, "Second Request with same Token, Drop it");
@@ -1300,10 +1301,13 @@ void CAClearMessageHandler(CATransportAdapter_t transportType)
         OIC_LOG_V(ERROR, TAG, "Clear send data failed[%d]", res);
     }
 
-    res = CARetransmissionClearAdapterData(&g_retransmissionContext, transportType);
-    if (res != CA_STATUS_OK)
+    if (transportType & DEFAULT_RETRANSMISSION_TYPE)
     {
-        OIC_LOG_V(ERROR, TAG, "Clear retransmission data failed[%d]", res);
+        res = CARetransmissionClearAdapterData(&g_retransmissionContext, transportType);
+        if (res != CA_STATUS_OK)
+        {
+            OIC_LOG_V(ERROR, TAG, "Clear retransmission data failed[%d]", res);
+        }
     }
 }