Modify to ignore response if edp of pconf's response is false
authorleechul <chuls.lee@samsung.com>
Mon, 28 Mar 2016 09:13:15 +0000 (18:13 +0900)
committerRandeep Singh <randeep.s@samsung.com>
Tue, 29 Mar 2016 06:29:33 +0000 (06:29 +0000)
Change-Id: I3511fdcb7be074f0591b3001d4c35af6462e13e7
Signed-off-by: leechul <chuls.lee@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/7391
Reviewed-by: Kyungsun Cho <goodsun.cho@samsung.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
resource/csdk/security/src/directpairing.c

index c75ad5b..871f546 100644 (file)
@@ -867,56 +867,58 @@ static OCStackApplicationResult DirectPairingDiscoveryHandler(void* ctx, OCDoHan
         }\r
         else\r
         {\r
-            OCDevAddr endpoint;\r
-            memcpy(&endpoint, &clientResponse->devAddr, sizeof(OCDevAddr));\r
-\r
-            OCStackResult res = addDev(&g_dp_discover, &endpoint,\r
-                        clientResponse->connType, pconf);\r
-            DeletePconfBinData(pconf);\r
-            if (OC_STACK_OK != res)\r
+            if(pconf->edp)\r
             {\r
-                OIC_LOG(ERROR, TAG, "Error while adding data to linkedlist.");\r
-                return OC_STACK_KEEP_TRANSACTION;\r
-            }\r
+                OCDevAddr endpoint;\r
+                memcpy(&endpoint, &clientResponse->devAddr, sizeof(OCDevAddr));\r
 \r
+                OCStackResult res = addDev(&g_dp_discover, &endpoint,\r
+                            clientResponse->connType, pconf);\r
+                DeletePconfBinData(pconf);\r
+                if (OC_STACK_OK != res)\r
+                {\r
+                    OIC_LOG(ERROR, TAG, "Error while adding data to linkedlist.");\r
+                    return OC_STACK_KEEP_TRANSACTION;\r
+                }\r
 \r
-            char rsrc_uri[MAX_URI_LENGTH+1] = {0};\r
-            int wr_len = snprintf(rsrc_uri, sizeof(rsrc_uri), "%s?%s=%s",\r
-                      OC_RSRVD_WELL_KNOWN_URI, OC_RSRVD_RESOURCE_TYPE, OIC_RSRC_TYPE_SEC_DPAIRING);\r
-            if(wr_len <= 0 || (size_t)wr_len >= sizeof(rsrc_uri))\r
-            {\r
-                OIC_LOG(ERROR, TAG, "rsrc_uri_string_print failed");\r
-                return OC_STACK_KEEP_TRANSACTION;\r
-            }\r
 \r
-            //Try to the unicast discovery to getting secure port\r
-            char query[MAX_URI_LENGTH+MAX_QUERY_LENGTH+1] = {0};\r
-            if(!DPGenerateQuery(false,\r
-                                clientResponse->devAddr.addr, clientResponse->devAddr.port,\r
-                                clientResponse->connType,\r
-                                query, sizeof(query), rsrc_uri))\r
-            {\r
-                OIC_LOG(ERROR, TAG, "DirectPairingDiscoveryHandler : Failed to generate query");\r
-                return OC_STACK_KEEP_TRANSACTION;\r
-            }\r
-            OIC_LOG_V(DEBUG, TAG, "Query=%s", query);\r
-\r
-            OCCallbackData cbData;\r
-            cbData.cb = &DirectPairingPortDiscoveryHandler;\r
-            cbData.context = NULL;\r
-            cbData.cd = NULL;\r
-            OCStackResult ret = OCDoResource(NULL, OC_REST_DISCOVER, query, 0, 0,\r
-                    clientResponse->connType, OC_LOW_QOS, &cbData, NULL, 0);\r
-            if(OC_STACK_OK != ret)\r
-            {\r
-                OIC_LOG(ERROR, TAG, "Failed to Secure Port Discovery");\r
-                return OC_STACK_KEEP_TRANSACTION;\r
-            }\r
-            else\r
-            {\r
-                OIC_LOG_V(INFO, TAG, "OCDoResource with [%s] Success", query);\r
-            }\r
+                char rsrc_uri[MAX_URI_LENGTH+1] = {0};\r
+                int wr_len = snprintf(rsrc_uri, sizeof(rsrc_uri), "%s?%s=%s",\r
+                          OC_RSRVD_WELL_KNOWN_URI, OC_RSRVD_RESOURCE_TYPE, OIC_RSRC_TYPE_SEC_DPAIRING);\r
+                if(wr_len <= 0 || (size_t)wr_len >= sizeof(rsrc_uri))\r
+                {\r
+                    OIC_LOG(ERROR, TAG, "rsrc_uri_string_print failed");\r
+                    return OC_STACK_KEEP_TRANSACTION;\r
+                }\r
 \r
+                //Try to the unicast discovery to getting secure port\r
+                char query[MAX_URI_LENGTH+MAX_QUERY_LENGTH+1] = {0};\r
+                if(!DPGenerateQuery(false,\r
+                                    clientResponse->devAddr.addr, clientResponse->devAddr.port,\r
+                                    clientResponse->connType,\r
+                                    query, sizeof(query), rsrc_uri))\r
+                {\r
+                    OIC_LOG(ERROR, TAG, "DirectPairingDiscoveryHandler : Failed to generate query");\r
+                    return OC_STACK_KEEP_TRANSACTION;\r
+                }\r
+                OIC_LOG_V(DEBUG, TAG, "Query=%s", query);\r
+\r
+                OCCallbackData cbData;\r
+                cbData.cb = &DirectPairingPortDiscoveryHandler;\r
+                cbData.context = NULL;\r
+                cbData.cd = NULL;\r
+                OCStackResult ret = OCDoResource(NULL, OC_REST_DISCOVER, query, 0, 0,\r
+                        clientResponse->connType, OC_LOW_QOS, &cbData, NULL, 0);\r
+                if(OC_STACK_OK != ret)\r
+                {\r
+                    OIC_LOG(ERROR, TAG, "Failed to Secure Port Discovery");\r
+                    return OC_STACK_KEEP_TRANSACTION;\r
+                }\r
+                else\r
+                {\r
+                    OIC_LOG_V(INFO, TAG, "OCDoResource with [%s] Success", query);\r
+                }\r
+            }\r
             return  OC_STACK_KEEP_TRANSACTION;\r
         }\r
     }\r