From 76e3cb4759dfd230430ec5734383104d76df7f77 Mon Sep 17 00:00:00 2001 From: "hyuna0213.jo" Date: Mon, 28 Mar 2016 16:29:45 +0900 Subject: [PATCH] Problem regarding NON request on Slow Response server When a slow responding server receives a NON type request, it is sending back an ACK message immediately, and then later, sending NON response. According to RFC-7252, response of NON request should only be a NON, there should not be any ACK in between. Change-Id: I0b00c2423660d622df8490bf03011d18a1c26126 Signed-off-by: hyuna0213.jo Reviewed-on: https://gerrit.iotivity.org/gerrit/7385 Reviewed-by: jihwan seo Tested-by: jenkins-iotivity Reviewed-by: Ashok Babu Channa --- resource/csdk/stack/src/ocstack.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resource/csdk/stack/src/ocstack.c b/resource/csdk/stack/src/ocstack.c index 65b931d..0f0d536 100644 --- a/resource/csdk/stack/src/ocstack.c +++ b/resource/csdk/stack/src/ocstack.c @@ -1788,10 +1788,10 @@ void OCHandleRequests(const CAEndpoint_t* endPoint, const CARequestInfo_t* reque requestResult = HandleStackRequests (&serverRequest); // Send ACK to client as precursor to slow response - if(requestResult == OC_STACK_SLOW_RESOURCE) + if (requestResult == OC_STACK_SLOW_RESOURCE && requestInfo->info.type == CA_MSG_CONFIRM) { SendDirectStackResponse(endPoint, requestInfo->info.messageId, CA_EMPTY, - CA_MSG_ACKNOWLEDGE,0, NULL, NULL, 0, NULL); + CA_MSG_ACKNOWLEDGE,0, NULL, NULL, 0, NULL); } else if(requestResult != OC_STACK_OK) { -- 2.7.4