[IOT-1097] Fixed bug related to dpc property in doxm
authorjs126.lee <js126.lee@samsung.com>
Wed, 18 May 2016 06:28:18 +0000 (15:28 +0900)
committerRandeep Singh <randeep.s@samsung.com>
Fri, 27 May 2016 05:50:38 +0000 (05:50 +0000)
Issue : There is bug when handling dpc property

Solution : If PUT/POST payload do not has dpc in doxm,
           iotivity server keep own dpc value.

Related jira : https://jira.iotivity.org/browse/IOT-1097

Change-Id: I6a1d5874240d81b2ef590831d1db4a3b69c89fa4
Signed-off-by: js126.lee <js126.lee@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/8313
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Chul Lee <chuls.lee@samsung.com>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
resource/csdk/security/src/doxmresource.c

index d48c8ef..19c1244 100644 (file)
@@ -231,7 +231,7 @@ OCStackResult DoxmToCBORPayload(const OicSecDoxm_t *doxm, uint8_t **payload, siz
     OICFree(strUuid);
     strUuid = NULL;
 
-    //DPC -- Mandatory
+    //DPC -- not Mandatory, but this type is boolean, so instance always has a value.
     cborEncoderResult = cbor_encode_text_string(&doxmMap, OIC_JSON_DPC_NAME,
         strlen(OIC_JSON_DPC_NAME));
     VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed Adding DPC Tag.");
@@ -390,10 +390,10 @@ OCStackResult CBORPayloadToDoxm(const uint8_t *cborPayload, size_t size,
         cborFindResult = cbor_value_get_boolean(&doxmMap, &doxm->dpc);
         VERIFY_CBOR_SUCCESS(TAG, cborFindResult, "Failed Finding DPC Value.")
     }
-    else // PUT/POST JSON may not have owned so set it to the gDomx->owned
+    else // PUT/POST JSON may not have dpc so set it to the gDomx->dpc
     {
         VERIFY_NON_NULL(TAG, gDoxm, ERROR);
-        doxm->owned = false;
+        doxm->dpc = gDoxm->dpc;
     }
 
     cborFindResult = cbor_value_map_find_value(&doxmCbor, OIC_JSON_DEVICE_ID_NAME, &doxmMap);