Security CBOR cleanup
authorAshwini Kumar <k.ashwini@samsung.com>
Mon, 28 Mar 2016 09:45:23 +0000 (15:15 +0530)
committerRandeep Singh <randeep.s@samsung.com>
Wed, 6 Apr 2016 07:04:03 +0000 (07:04 +0000)
 - removed duplicate changes introduced for Security CBOR conversion
 - Fixed pstat double free error
 - Fixed crl double free
 - Addressed review comments from Habib, Saurabh
 - Addressed review commenst from Chul and removed compile warnings for CRL
   oxm manager
 - Fixed unittests, C++ examples to use .dat files for SVRs
 - modified tizen .spec to install .dat files
 - fixed svace static analysis issues

Change-Id: I638a247875c2b01f0207557fade3893dc363df5b
Signed-off-by: Ashwini Kumar <k.ashwini@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/7395
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Chul Lee <chuls.lee@samsung.com>
Reviewed-by: Yonggoo Kang <ygace.kang@samsung.com>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
35 files changed:
resource/csdk/security/include/internal/resourcemanager.h
resource/csdk/security/provisioning/src/ownershiptransfermanager.c
resource/csdk/security/provisioning/src/pmutility.c
resource/csdk/security/provisioning/src/secureresourceprovider.c
resource/csdk/security/provisioning/unittest/SConscript
resource/csdk/security/src/aclresource.c
resource/csdk/security/src/amaclresource.c
resource/csdk/security/src/amsmgr.c
resource/csdk/security/src/credresource.c
resource/csdk/security/src/crlresource.c
resource/csdk/security/src/directpairing.c
resource/csdk/security/src/doxmresource.c
resource/csdk/security/src/dpairingresource.c
resource/csdk/security/src/pconfresource.c
resource/csdk/security/src/pstatresource.c
resource/csdk/security/src/resourcemanager.c
resource/csdk/security/src/svcresource.c
resource/csdk/security/src/verresource.c
resource/csdk/security/tool/json2cbor.c
resource/csdk/security/unittest/aclresourcetest.cpp
resource/csdk/security/unittest/credentialresource.cpp
resource/csdk/security/unittest/pstatresource.cpp
resource/csdk/stack/include/ocpayload.h
resource/csdk/stack/include/octypes.h
resource/csdk/stack/src/ocpayload.c
resource/csdk/stack/src/ocpayloadconvert.c
resource/csdk/stack/src/ocpayloadparse.c
resource/examples/SConscript
resource/examples/oic_svr_db_client.dat
resource/examples/oic_svr_db_server.dat
resource/examples/simpleclient.cpp
resource/examples/simpleserver.cpp
resource/unittests/OCPlatformTest.cpp
resource/unittests/SConscript
tools/tizen/iotivity.spec

index 71745e63c0cad49df41e68df8c6fc06a901338f3..a75cb7ac8fd77ceab4e307a2a3706ff11a4aec51 100644 (file)
@@ -49,10 +49,11 @@ OCStackResult DestroySecureResources();
  * @param ehRequest pointer to entity handler request data structure.
  * @param ehRet result code from entity handler.
  * @param cborPayload response payload.
+ * @param size is the cborpayload size
  *
  * @return ::OC_STACK_OK for Success, otherwise some error value.
  */
-OCStackResult SendSRMCBORResponse(const OCEntityHandlerRequest *ehRequest,
+OCStackResult SendSRMResponse(const OCEntityHandlerRequest *ehRequest,
         OCEntityHandlerResult ehRet, uint8_t *cborPayload, size_t size);
 
 #ifdef __cplusplus
index f04526f4bc9120d1ac1874563e5ff3d32d5acded..7b22d469e4d4aecd85c1d06ce607ce4c6f2f3401 100644 (file)
  */
 static OTMCallbackData_t g_OTMDatas[OIC_OXM_COUNT];
 
-/**
- * Number of supported provisioning methods
- * current version supports only one.
- */
-static size_t gNumOfProvisioningMethodsPT = 1;
-
 /**
  * Variables for pointing the OTMContext to be used in the DTLS handshake result callback.
  */
@@ -521,10 +515,10 @@ static OCStackApplicationResult ListMethodsHandler(void *ctx, OCDoHandle UNUSED,
         }
         OicSecPstat_t* pstat = NULL;
         OCStackResult result = CBORPayloadToPstat(
-                ((OCSecurityPayload*)clientResponse->payload)->securityData1,
+                ((OCSecurityPayload*)clientResponse->payload)->securityData,
                 ((OCSecurityPayload*)clientResponse->payload)->payloadSize,
                 &pstat);
-        if(NULL == pstat && result != OC_STACK_OK)
+        if(NULL == pstat || result != OC_STACK_OK)
         {
             OIC_LOG(ERROR, TAG, "Error while converting cbor to pstat.");
             SetResult(otmCtx, OC_STACK_ERROR);
@@ -941,7 +935,7 @@ static OCStackResult PutOwnerCredential(OTMContext_t* otmCtx)
 
     //Generate owner credential for new device
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-    OicSecCred_t* ownerCredential = GetCredResourceData(&(deviceInfo->doxm->deviceID));
+    const OicSecCred_t* ownerCredential = GetCredResourceData(&(deviceInfo->doxm->deviceID));
     if(!ownerCredential)
     {
         OIC_LOG(ERROR, TAG, "Can not find OwnerPSK.");
@@ -967,13 +961,14 @@ static OCStackResult PutOwnerCredential(OTMContext_t* otmCtx)
 #endif
 
         //Send owner credential to new device : PUT /oic/sec/cred [ owner credential ]
-        if (OC_STACK_OK != CredToCBORPayload(&newCredential, &secPayload->securityData1, &secPayload->payloadSize))
+        if (OC_STACK_OK != CredToCBORPayload(&newCredential, &secPayload->securityData, &secPayload->payloadSize))
         {
             OICFree(secPayload);
             OIC_LOG(ERROR, TAG, "Error while converting bin to cbor.");
             return OC_STACK_ERROR;
         }
-        OIC_LOG_V(DEBUG, TAG, "Payload : %s", secPayload->securityData1);
+        OIC_LOG(DEBUG, TAG, "Cred Payload:");
+        OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
 
         OCCallbackData cbData;
         cbData.cb = &OwnerCredentialHandler;
@@ -1029,8 +1024,8 @@ static OCStackResult PutOwnerTransferModeToResource(OTMContext_t* otmCtx)
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
     OCStackResult res = g_OTMDatas[selectedOxm].createSelectOxmPayloadCB(otmCtx,
-            &secPayload->securityData1, &secPayload->payloadSize);
-    if (OC_STACK_OK != res && NULL == secPayload->securityData1)
+            &secPayload->securityData, &secPayload->payloadSize);
+    if (OC_STACK_OK != res && NULL == secPayload->securityData)
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         OIC_LOG(ERROR, TAG, "Error while converting bin to cbor");
@@ -1123,14 +1118,14 @@ static OCStackResult PutOwnerUuid(OTMContext_t* otmCtx)
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
     OCStackResult res =  g_OTMDatas[deviceInfo->doxm->oxmSel].createOwnerTransferPayloadCB(
-            otmCtx, &secPayload->securityData1, &secPayload->payloadSize);
-    if (NULL == secPayload->securityData1)
+            otmCtx, &secPayload->securityData, &secPayload->payloadSize);
+    if (OC_STACK_OK != res && NULL == secPayload->securityData)
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         OIC_LOG(ERROR, TAG, "Error while converting doxm bin to cbor.");
         return OC_STACK_INVALID_PARAM;
     }
-    OIC_LOG_V(DEBUG, TAG, "Payload : %s", secPayload->securityData1);
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
 
     OCCallbackData cbData;
     cbData.cb = &OwnerUuidUpdateHandler;
@@ -1183,8 +1178,8 @@ static OCStackResult PutOwnershipInformation(OTMContext_t* otmCtx)
 
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
     OCStackResult res = DoxmToCBORPayload(otmCtx->selectedDeviceInfo->doxm,
-            &secPayload->securityData1, &secPayload->payloadSize);
-    if (OC_STACK_OK != res && NULL == secPayload->securityData1)
+            &secPayload->securityData, &secPayload->payloadSize);
+    if (OC_STACK_OK != res && NULL == secPayload->securityData)
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         OIC_LOG(ERROR, TAG, "Error while converting doxm bin to json");
@@ -1236,7 +1231,7 @@ static OCStackResult PutUpdateOperationMode(OTMContext_t* otmCtx)
         return OC_STACK_NO_MEMORY;
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-    OCStackResult res = PstatToCBORPayload(deviceInfo->pstat, &secPayload->securityData1,
+    OCStackResult res = PstatToCBORPayload(deviceInfo->pstat, &secPayload->securityData,
                                            &secPayload->payloadSize);
    if (OC_STACK_OK != res)
     {
@@ -1407,122 +1402,6 @@ error:
     return res;
 }
 
-/**
- * Callback handler of SRPFinalizeProvisioning.
- *
- * @param[in] ctx             ctx value passed to callback from calling function.
- * @param[in] UNUSED          handle to an invocation
- * @param[in] clientResponse  Response from queries to remote servers.
- * @return  OC_STACK_DELETE_TRANSACTION to delete the transaction
- *          and OC_STACK_KEEP_TRANSACTION to keep it.
- */
-static OCStackApplicationResult FinalizeProvisioningCB(void *ctx, OCDoHandle UNUSED,
-                                                       OCClientResponse *clientResponse)
-{
-    OIC_LOG_V(INFO, TAG, "IN FinalizeProvisioningCB.");
-
-    VERIFY_NON_NULL(TAG, clientResponse, ERROR);
-    VERIFY_NON_NULL(TAG, ctx, ERROR);
-
-    OTMContext_t* otmCtx = (OTMContext_t*)ctx;
-    (void)UNUSED;
-    if(OC_STACK_OK == clientResponse->result)
-    {
-        OCStackResult res = PDMAddDevice(&otmCtx->selectedDeviceInfo->doxm->deviceID);
-
-         if (OC_STACK_OK == res)
-         {
-                OIC_LOG_V(INFO, TAG, "Add device's UUID in PDM_DB");
-                SetResult(otmCtx, OC_STACK_OK);
-                return OC_STACK_DELETE_TRANSACTION;
-         }
-         else
-         {
-              OIC_LOG(ERROR, TAG, "Ownership transfer is complete but adding information to DB is failed.");
-         }
-    }
-exit:
-    return OC_STACK_DELETE_TRANSACTION;
-}
-
-/**
- * Callback handler of default ACL provisioning.
- *
- * @param[in] ctx             ctx value passed to callback from calling function.
- * @param[in] UNUSED          handle to an invocation
- * @param[in] clientResponse  Response from queries to remote servers.
- * @return  OC_STACK_DELETE_TRANSACTION to delete the transaction
- *          and OC_STACK_KEEP_TRANSACTION to keep it.
- */
-static OCStackApplicationResult ProvisionDefaultACLCB(void *ctx, OCDoHandle UNUSED,
-                                                       OCClientResponse *clientResponse)
-{
-    OIC_LOG_V(INFO, TAG, "IN ProvisionDefaultACLCB.");
-
-    VERIFY_NON_NULL(TAG, clientResponse, ERROR);
-    VERIFY_NON_NULL(TAG, ctx, ERROR);
-
-    OTMContext_t* otmCtx = (OTMContext_t*) ctx;
-    (void)UNUSED;
-
-    if (OC_STACK_RESOURCE_CREATED == clientResponse->result)
-    {
-        OIC_LOG_V(INFO, TAG, "Staring commit hash task.");
-        // TODO hash currently have fixed value 0.
-        uint16_t aclHash = 0;
-        otmCtx->selectedDeviceInfo->pstat->commitHash = aclHash;
-        otmCtx->selectedDeviceInfo->pstat->tm = NORMAL;
-        OCSecurityPayload* secPayload = (OCSecurityPayload*)OICCalloc(1, sizeof(OCSecurityPayload));
-        if(!secPayload)
-        {
-            OIC_LOG(ERROR, TAG, "Failed to memory allocation");
-            return OC_STACK_NO_MEMORY;
-        }
-        secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-        OCStackResult res = PstatToCBORPayload(otmCtx->selectedDeviceInfo->pstat,
-                &secPayload->securityData1, &secPayload->payloadSize);
-        if (OC_STACK_OK != res || NULL == secPayload->securityData1)
-        {
-            OICFree(secPayload);
-            SetResult(otmCtx, OC_STACK_INVALID_JSON);
-            return OC_STACK_DELETE_TRANSACTION;
-        }
-
-        char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
-        if(!PMGenerateQuery(true,
-                            otmCtx->selectedDeviceInfo->endpoint.addr,
-                            otmCtx->selectedDeviceInfo->securePort,
-                            otmCtx->selectedDeviceInfo->connType,
-                            query, sizeof(query), OIC_RSRC_PSTAT_URI))
-        {
-            OIC_LOG(ERROR, TAG, "ProvisionDefaultACLCB : Failed to generate query");
-            return OC_STACK_ERROR;
-        }
-        OIC_LOG_V(DEBUG, TAG, "Query=%s", query);
-
-        OCCallbackData cbData = {.context=NULL, .cb=NULL, .cd=NULL};
-        cbData.cb = &FinalizeProvisioningCB;
-        cbData.context = (void*)otmCtx;
-        cbData.cd = NULL;
-        OCStackResult ret = OCDoResource(NULL, OC_REST_PUT, query, 0, (OCPayload*)secPayload,
-                otmCtx->selectedDeviceInfo->connType, OC_HIGH_QOS, &cbData, NULL, 0);
-        OIC_LOG_V(INFO, TAG, "OCDoResource returned: %d",ret);
-        if (ret != OC_STACK_OK)
-        {
-            OIC_LOG(ERROR, TAG, "OCStack resource error");
-            SetResult(otmCtx, ret);
-        }
-    }
-    else
-    {
-        OIC_LOG_V(INFO, TAG, "Error occured in provisionDefaultACLCB :: %d\n",
-                            clientResponse->result);
-        SetResult(otmCtx, clientResponse->result);
-    }
-exit:
-    return OC_STACK_DELETE_TRANSACTION;
-}
-
 OCStackResult PutProvisioningStatus(OTMContext_t* otmCtx)
 {
     OIC_LOG(INFO, TAG, "IN PutProvisioningStatus");
@@ -1544,12 +1423,13 @@ OCStackResult PutProvisioningStatus(OTMContext_t* otmCtx)
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
     if (OC_STACK_OK != PstatToCBORPayload(otmCtx->selectedDeviceInfo->pstat,
-            &secPayload->securityData1, &secPayload->payloadSize))
+            &secPayload->securityData, &secPayload->payloadSize))
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         return OC_STACK_INVALID_JSON;
     }
-    OIC_LOG_V(INFO, TAG, "Created payload for chage to Provisiong state : %s",secPayload->securityData1);
+    OIC_LOG(DEBUG, TAG, "Created payload for chage to Provisiong state");
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
 
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
     if(!PMGenerateQuery(true,
@@ -1601,12 +1481,13 @@ OCStackResult PutNormalOperationStatus(OTMContext_t* otmCtx)
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
     if (OC_STACK_OK != PstatToCBORPayload(otmCtx->selectedDeviceInfo->pstat,
-            &secPayload->securityData1, &secPayload->payloadSize))
+            &secPayload->securityData, &secPayload->payloadSize))
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         return OC_STACK_INVALID_JSON;
     }
-    OIC_LOG_V(INFO, TAG, "Created payload for chage to Provisiong state: %s",secPayload->securityData1);
+    OIC_LOG(DEBUG, TAG, "Created payload for chage to Provisiong state");
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
 
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
     if(!PMGenerateQuery(true,
index a4d63cbd5ef44eb81885d024d141c02a2ed8c0f6..54f7a3c6f078e0ab6a561379e675994266eb2a9c 100644 (file)
@@ -515,8 +515,9 @@ static OCStackApplicationResult SecurityVersionDiscoveryHandler(void *ctx, OCDoH
             }
 
             OicSecVer_t *ptrVer = NULL;
-            uint8_t *payload = ((OCSecurityPayload*)clientResponse->payload)->securityData1;
+            uint8_t *payload = ((OCSecurityPayload*)clientResponse->payload)->securityData;
             size_t size = ((OCSecurityPayload*)clientResponse->payload)->payloadSize;
+
             OCStackResult res = CBORPayloadToVer(payload, size, &ptrVer);
             if ((NULL == ptrVer) && (OC_STACK_OK != res))
             {
@@ -653,10 +654,11 @@ static OCStackApplicationResult DeviceDiscoveryHandler(void *ctx, OCDoHandle UNU
             }
 
             OicSecDoxm_t *ptrDoxm = NULL;
-            uint8_t *payload = ((OCSecurityPayload*)clientResponse->payload)->securityData1;
+            uint8_t *payload = ((OCSecurityPayload*)clientResponse->payload)->securityData;
             size_t size = ((OCSecurityPayload*)clientResponse->payload)->payloadSize;
+
             OCStackResult res = CBORPayloadToDoxm(payload, size, &ptrDoxm);
-            if ((NULL == ptrDoxm) && (OC_STACK_OK != res))
+            if ((NULL == ptrDoxm) || (OC_STACK_OK != res))
             {
                 OIC_LOG(INFO, TAG, "Ignoring malformed CBOR");
                 return OC_STACK_KEEP_TRANSACTION;
index 5e7a055ccb50d6c9949142050a06bf2d1269ca16..9799ea4508345d84006507aa6192d9063fa5a7b9 100644 (file)
@@ -304,15 +304,16 @@ static OCStackResult provisionCredentials(const OicSecCred_t *cred,
         return OC_STACK_NO_MEMORY;
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-    OCStackResult res = CredToCBORPayload(cred, &secPayload->securityData1, &secPayload->payloadSize);
-    if((OC_STACK_OK != res) && (NULL == secPayload->securityData1))
+    OCStackResult res = CredToCBORPayload(cred, &secPayload->securityData, &secPayload->payloadSize);
+    if((OC_STACK_OK != res) && (NULL == secPayload->securityData))
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         OIC_LOG(ERROR, TAG, "Failed to CredToCBORPayload");
         return OC_STACK_NO_MEMORY;
     }
 
-    OIC_LOG_V(INFO, TAG, "Credential for provisioning : %s",secPayload->securityData1);
+    OIC_LOG(DEBUG, TAG, "Created payload for Cred:");
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
     if(!PMGenerateQuery(true,
                         deviceInfo->endpoint.addr,
@@ -456,14 +457,15 @@ OCStackResult SRPProvisionCRL(void *ctx, const OCProvisionDev_t *selectedDeviceI
     }
 
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-    OCStackResult res = CrlToCBORPayload(crl, &secPayload->securityData1, &secPayload->payloadSize);
-    if((OC_STACK_OK != res) && (NULL == secPayload->securityData1))
+    OCStackResult res = CrlToCBORPayload(crl, &secPayload->securityData, &secPayload->payloadSize);
+    if((OC_STACK_OK != res) && (NULL == secPayload->securityData))
     {
         OICFree(secPayload);
         OIC_LOG(ERROR, TAG, "Failed to BinToCrlJSON");
         return OC_STACK_NO_MEMORY;
     }
-    OIC_LOG_V(INFO, TAG, "CRL : %s", secPayload->securityData1);
+    OIC_LOG(DEBUG, TAG, "Created payload for CRL:");
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
 
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
     if(!PMGenerateQuery(true,
@@ -539,17 +541,18 @@ static OCStackResult provisionCertCred(const OicSecCred_t *cred,
         return OC_STACK_NO_MEMORY;
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-    OCStackResult res = CredToCBORPayload(cred, &secPayload->securityData1,
+    OCStackResult res = CredToCBORPayload(cred, &secPayload->securityData,
         &secPayload->payloadSize);
 
-    if ((OC_STACK_OK != res) || (NULL == secPayload->securityData1))
+    if ((OC_STACK_OK != res) || (NULL == secPayload->securityData))
     {
         OICFree(secPayload);
         OIC_LOG(ERROR, TAG, "Failed to CredToCBORPayload");
         return OC_STACK_NO_MEMORY;
     }
 
-    OIC_LOG_V(INFO, TAG, "Credential for provisioning : %s",secPayload->securityData1);
+    OIC_LOG(DEBUG, TAG, "Created payload for Cred:");
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
     if(!PMGenerateQuery(true,
                         deviceInfo->endpoint.addr,
@@ -856,7 +859,7 @@ OCStackResult SRPProvisionACL(void *ctx, const OCProvisionDev_t *selectedDeviceI
         return OC_STACK_NO_MEMORY;
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
-    if(OC_STACK_OK != AclToCBORPayload(acl, &secPayload->securityData1, &secPayload->payloadSize))
+    if(OC_STACK_OK != AclToCBORPayload(acl, &secPayload->securityData, &secPayload->payloadSize))
     {
         OCPayloadDestroy((OCPayload *)secPayload);
         OIC_LOG(ERROR, TAG, "Failed to AclToCBORPayload");
@@ -999,14 +1002,16 @@ OCStackResult SRPProvisionDirectPairing(void *ctx, const OCProvisionDev_t *selec
     }
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;
 
-    if (OC_STACK_OK != PconfToCBORPayload(pconf, &(secPayload->securityData1),
+    if (OC_STACK_OK != PconfToCBORPayload(pconf, &(secPayload->securityData),
                 &(secPayload->payloadSize)))
     {
         OCPayloadDestroy((OCPayload*)secPayload);
         OIC_LOG(ERROR, TAG, "Failed to PconfToCborPayload");
         return OC_STACK_NO_MEMORY;
     }
-    OIC_LOG_V(INFO, TAG, "PCONF : %s", secPayload->securityData1);
+    OIC_LOG(DEBUG, TAG, "Created payload for pconf set");
+    OIC_LOG_BUFFER(DEBUG, TAG, secPayload->securityData, secPayload->payloadSize);
+
 
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};
     if(!PMGenerateQuery(true,
index 1242b5d22edb02bee6e9ae74216adac11e69f33c..ee406d52f96dc65606979a27ea24b1208e58ac39 100644 (file)
@@ -48,6 +48,7 @@ sptest_env.AppendUnique(LIBS = ['-lpthread','-ldl'])
 sptest_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
 sptest_env.AppendUnique(LIBPATH = [src_dir + '/extlibs/gtest/gtest-1.7.0/lib/.libs'])
 sptest_env.PrependUnique(LIBS = [   'ocpmapi',
+                                    'oc',
                                     'ocsrm',
                                     'octbstack',
                                     'oc_logger',
index 972809ed5c7e1c79e29813855fc20c48a9f0297f..d2b9f4b1d5be4cb84d792bc0e147bff34e1e8ef3 100644 (file)
@@ -399,7 +399,7 @@ exit:
 // note: This function is used in unit test hence not declared static,
 OicSecAcl_t* CBORPayloadToAcl(const uint8_t *cborPayload, const size_t size)
 {
-    if (NULL == cborPayload)
+    if (NULL == cborPayload || 0 == size)
     {
         return NULL;
     }
@@ -950,7 +950,12 @@ exit:
     ehRet = (payload ? OC_EH_OK : OC_EH_ERROR);
 
     // Send response payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, payload, size);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, payload, size))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed for HandleACLGetRequest");
+    }
+    OICFree(payload);
 
     OIC_LOG_V(DEBUG, TAG, "%s RetVal %d", __func__, ehRet);
     return ehRet;
@@ -962,7 +967,7 @@ static OCEntityHandlerResult HandleACLPostRequest(const OCEntityHandlerRequest *
     OCEntityHandlerResult ehRet = OC_EH_ERROR;
 
     // Convert CBOR into ACL data and update to SVR buffers. This will also validate the ACL data received.
-    uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData1;
+    uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData;
     size_t size = ((OCSecurityPayload *) ehRequest->payload)->payloadSize;
     if (payload)
     {
@@ -994,7 +999,11 @@ static OCEntityHandlerResult HandleACLPostRequest(const OCEntityHandlerRequest *
     }
 
     // Send payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleACLPostRequest");
+    }
 
     OIC_LOG_V(DEBUG, TAG, "%s RetVal %d", __func__, ehRet);
     return ehRet;
@@ -1021,7 +1030,11 @@ static OCEntityHandlerResult HandleACLDeleteRequest(const OCEntityHandlerRequest
 
 exit:
     // Send payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleACLDeleteRequest");
+    }
 
     return ehRet;
 }
@@ -1058,7 +1071,7 @@ OCEntityHandlerResult ACLEntityHandler(OCEntityHandlerFlag flag, OCEntityHandler
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
         }
     }
 
index 194e49634770539c9aaa3b9d5b2eece9c5e52917..be21257faba130fc1b9aea9e7b5357ccfdba38cd 100644 (file)
@@ -249,7 +249,7 @@ exit:
 OCStackResult CBORPayloadToAmacl(const uint8_t *cborPayload, size_t size,
                                  OicSecAmacl_t **secAmacl)
 {
-    if (NULL == cborPayload || NULL == secAmacl || NULL != *secAmacl)
+    if (NULL == cborPayload || NULL == secAmacl || NULL != *secAmacl || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -261,13 +261,8 @@ OCStackResult CBORPayloadToAmacl(const uint8_t *cborPayload, size_t size,
     CborValue amaclCbor = { .parser = NULL };
     CborParser parser = { .end = NULL };
     CborError cborFindResult = CborNoError;
-    int cborLen = size;
-    if (0 == size)
-    {
-        cborLen = CBOR_SIZE;
-    }
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &amaclCbor);
 
+    cbor_parser_init(cborPayload, size, 0, &parser, &amaclCbor);
     OicSecAmacl_t *headAmacl = (OicSecAmacl_t *)OICCalloc(1, sizeof(OicSecAmacl_t));
 
     CborValue amaclMap = { .parser = NULL };
@@ -460,8 +455,11 @@ static OCEntityHandlerResult HandleAmaclGetRequest (const OCEntityHandlerRequest
     OCEntityHandlerResult ehRet = (res == OC_STACK_OK) ? OC_EH_OK : OC_EH_ERROR;
 
     // Send response payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, cborPayload, size);
-
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, cborPayload, size))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleAmaclGetRequest");
+    }
     OICFree(cborPayload);
 
     OIC_LOG_V (DEBUG, TAG, "%s RetVal %d", __func__ , ehRet);
@@ -473,7 +471,7 @@ static OCEntityHandlerResult HandleAmaclPostRequest (const OCEntityHandlerReques
     OCEntityHandlerResult ehRet = OC_EH_ERROR;
 
     // Convert CBOR Amacl data into binary. This will also validate the Amacl data received.
-    uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData1;
+    uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData;
     size_t size = ((OCSecurityPayload *) ehRequest->payload)->payloadSize;
     if (payload)
     {
@@ -498,7 +496,11 @@ static OCEntityHandlerResult HandleAmaclPostRequest (const OCEntityHandlerReques
     }
 
     // Send payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleAmaclPostRequest");
+    }
 
     OIC_LOG_V(DEBUG, TAG, "%s RetVal %d", __func__ , ehRet);
     return ehRet;
@@ -535,7 +537,7 @@ static OCEntityHandlerResult AmaclEntityHandler (OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
         }
     }
 
index 52e2299b16ad4a9e96ba98aa891ad4bb1c19fd0f..9486f902536436f4ffcfe038b092f1288c127b9d 100644 (file)
@@ -108,8 +108,8 @@ static OCStackApplicationResult AmsMgrDiscoveryCallback(void *ctx, OCDoHandle ha
     OicSecDoxm_t *doxm = NULL;
 
     OIC_LOG_V(INFO, TAG, "Doxm DeviceId Discovery response = %s\n",
-          ((OCSecurityPayload*)clientResponse->payload)->securityData1);
-    uint8_t *payload = ((OCSecurityPayload*)clientResponse->payload)->securityData1;
+          ((OCSecurityPayload*)clientResponse->payload)->securityData);
+    uint8_t *payload = ((OCSecurityPayload*)clientResponse->payload)->securityData;
     size_t size = ((OCSecurityPayload*)clientResponse->payload)->payloadSize;
 
     //As doxm is NULL amsmgr can't test if response from trusted AMS service
@@ -303,7 +303,7 @@ static OCStackApplicationResult AmsMgrAclReqCallback(void *ctx, OCDoHandle handl
     {
         size_t size = ((OCSecurityPayload*)clientResponse->payload)->payloadSize;
         OCStackResult ret =
-                InstallNewACL(((OCSecurityPayload*)clientResponse->payload)->securityData1, size);
+                InstallNewACL(((OCSecurityPayload*)clientResponse->payload)->securityData, size);
         VERIFY_SUCCESS(TAG, OC_STACK_OK == ret, ERROR);
 
         OIC_LOG_V(INFO, TAG, "%s : Calling checkPermission", __func__);
index 3f12200874c37adc5d96a8b198664782f07d84c7..07bc8ea16fbdf906369c249ab01bb0cb3dd0e9bd 100644 (file)
@@ -352,7 +352,7 @@ exit:
 OCStackResult CBORPayloadToCred(const uint8_t *cborPayload, size_t size,
                                 OicSecCred_t **secCred)
 {
-    if (NULL == cborPayload || NULL == secCred || NULL != *secCred)
+    if (NULL == cborPayload || NULL == secCred || NULL != *secCred || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -871,7 +871,7 @@ static OCEntityHandlerResult HandlePutRequest(const OCEntityHandlerRequest * ehR
 
     //Get binary representation of cbor
     OicSecCred_t *cred  = NULL;
-    uint8_t *payload = (((OCSecurityPayload*)ehRequest->payload)->securityData1);
+    uint8_t *payload = (((OCSecurityPayload*)ehRequest->payload)->securityData);
     size_t size = (((OCSecurityPayload*)ehRequest->payload)->payloadSize);
     OCStackResult res = CBORPayloadToCred(payload, size, &cred);
     if (res == OC_STACK_OK)
@@ -1018,7 +1018,7 @@ static OCEntityHandlerResult HandlePostRequest(const OCEntityHandlerRequest * eh
 
     //Get binary representation of CBOR
     OicSecCred_t *cred  = NULL;
-    uint8_t *payload = ((OCSecurityPayload*)ehRequest->payload)->securityData1;
+    uint8_t *payload = ((OCSecurityPayload*)ehRequest->payload)->securityData;
     size_t size = ((OCSecurityPayload*)ehRequest->payload)->payloadSize;
     OCStackResult res = CBORPayloadToCred(payload, size, &cred);
     if ((OC_STACK_OK == res) && cred)
@@ -1104,7 +1104,7 @@ OCEntityHandlerResult CredEntityHandler(OCEntityHandlerFlag flag,
     }
 
     //Send payload to request originator
-    ret = (SendSRMCBORResponse(ehRequest, ret, NULL, 0) == OC_STACK_OK) ?
+    ret = (SendSRMResponse(ehRequest, ret, NULL, 0) == OC_STACK_OK) ?
                        ret : OC_EH_ERROR;
 
     return ret;
index 0a6eb0ac98e5566a815d90a1b24596933522dca1..53f2ca2df8df05b9762e56d32f4a600271d60623 100644 (file)
@@ -102,33 +102,33 @@ OCStackResult CrlToCBORPayload(const OicSecCrl_t *crl, uint8_t **payload, size_t
     cbor_encoder_init(&encoder, outPayload, cborLen, 0);
 
     cborEncoderResult = cbor_encoder_create_map(&encoder, &crlMap, CRL_MAP_SIZE);
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to create CRL Map");
 
     //CRLId -- Mandatory
     cborEncoderResult = cbor_encode_text_string(&crlMap, OIC_CBOR_CRL_ID,
         strlen(OIC_CBOR_CRL_ID));
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add CRL ID");
     cborEncoderResult = cbor_encode_int(&crlMap, crl->CrlId);
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add CRL Id value");
 
     //ThisUpdate -- Mandatory
     cborEncoderResult = cbor_encode_text_string(&crlMap, OIC_CBOR_CRL_THIS_UPDATE,
         strlen(OIC_CBOR_CRL_THIS_UPDATE));
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add Crl update");
     cborEncoderResult = cbor_encode_byte_string(&crlMap, crl->ThisUpdate.data,
                                                 crl->ThisUpdate.len);
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add Crl Update value");
 
     //CRLData -- Mandatory
     cborEncoderResult = cbor_encode_text_string(&crlMap, OIC_CBOR_CRL_DATA,
         strlen(OIC_CBOR_CRL_DATA));
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add Crl data name");
     cborEncoderResult = cbor_encode_byte_string(&crlMap, crl->CrlData.data,
                                                 crl->CrlData.len);
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add Crl data value");
 
     cborEncoderResult = cbor_encoder_close_container(&encoder, &crlMap);
-    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to add close Crl map");
 
     *size = encoder.ptr - outPayload;
     *payload = outPayload;
@@ -160,7 +160,7 @@ exit:
 OCStackResult CBORPayloadToCrl(const uint8_t *cborPayload, const size_t size,
                                OicSecCrl_t **secCrl)
 {
-    if (NULL == cborPayload || NULL == secCrl || NULL != *secCrl)
+    if (NULL == cborPayload || NULL == secCrl || NULL != *secCrl || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -171,13 +171,13 @@ OCStackResult CBORPayloadToCrl(const uint8_t *cborPayload, const size_t size,
     CborValue crlCbor = {.parser = NULL};
     CborParser parser = {.end = NULL};
     CborError cborFindResult = CborNoError;
-    int cborLen = (size == 0) ? CBOR_SIZE : size;
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &crlCbor);
+
+    cbor_parser_init(cborPayload, size, 0, &parser, &crlCbor);
     CborValue crlMap = { .parser = NULL};
     OicSecCrl_t *crl = NULL;
     size_t outLen = 0;
     cborFindResult = cbor_value_enter_container(&crlCbor, &crlMap);
-    VERIFY_CBOR_SUCCESS(TAG, cborFindResult, ERROR);
+    VERIFY_CBOR_SUCCESS(TAG, cborFindResult, "Failed to enter Crl map");
 
     crl = (OicSecCrl_t *)OICCalloc(1, sizeof(OicSecCrl_t));
     VERIFY_NON_NULL(TAG, crl, ERROR);
@@ -279,7 +279,7 @@ static OCEntityHandlerResult HandleCRLPostRequest(const OCEntityHandlerRequest *
 {
     OCEntityHandlerResult ehRet = OC_EH_ERROR;
     OicSecCrl_t *crl = NULL;
-    uint8_t *payload = ((OCSecurityPayload *)ehRequest->payload)->securityData1;
+    uint8_t *payload = ((OCSecurityPayload *)ehRequest->payload)->securityData;
     size_t size = ((OCSecurityPayload *) ehRequest->payload)->payloadSize;
 
     if (payload)
@@ -309,12 +309,15 @@ static OCEntityHandlerResult HandleCRLPostRequest(const OCEntityHandlerRequest *
         }
 
         DeleteCrlBinData(crl);
-        OICFree(payload);
     }
 
 exit:
     // Send payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleCRLPostRequest");
+    }
 
     OIC_LOG_V(INFO, TAG, "%s RetVal %d", __func__, ehRet);
     return ehRet;
@@ -356,7 +359,7 @@ static OCEntityHandlerResult CRLEntityHandler(OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
         }
     }
 
index 871f546526e79330ddc31287a4dc809000e8c300..5606598620483437e33e5ab8ff9cb0144a0b6e74 100644 (file)
@@ -440,7 +440,7 @@ OCStackResult FinalizeDirectPairing(OCDirectPairingDev_t* peer,
     }\r
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;\r
 \r
-    OCStackResult ret = DpairingToCBORPayload(&dpair, &(secPayload->securityData1),\r
+    OCStackResult ret = DpairingToCBORPayload(&dpair, &(secPayload->securityData),\r
             &(secPayload->payloadSize));\r
 \r
     if(OC_STACK_OK != ret)\r
@@ -449,7 +449,8 @@ OCStackResult FinalizeDirectPairing(OCDirectPairingDev_t* peer,
         OIC_LOG(ERROR, TAG, "Failed to DpairingToCBORPayload");\r
         return OC_STACK_NO_MEMORY;\r
     }\r
-    OIC_LOG_V(INFO, TAG, "DPARING : %s", secPayload->securityData1);\r
+    OIC_LOG(INFO, TAG, "DPARING CBOR data:");\r
+    OIC_LOG_BUFFER(INFO, TAG, secPayload->securityData, secPayload->payloadSize);\r
 \r
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};\r
     if(!DPGenerateQuery(true,\r
@@ -695,7 +696,7 @@ OCStackResult DPDirectPairing(OCDirectPairingDev_t* peer, OicSecPrm_t pmSel, cha
     }\r
     secPayload->base.type = PAYLOAD_TYPE_SECURITY;\r
 \r
-    OCStackResult ret = DpairingToCBORPayload(&dpair, &(secPayload->securityData1),\r
+    OCStackResult ret = DpairingToCBORPayload(&dpair, &(secPayload->securityData),\r
             &(secPayload->payloadSize));\r
 \r
     if(OC_STACK_OK != ret)\r
@@ -704,7 +705,8 @@ OCStackResult DPDirectPairing(OCDirectPairingDev_t* peer, OicSecPrm_t pmSel, cha
         OIC_LOG(ERROR, TAG, "Failed to DpairingToCBORPayload");\r
         return OC_STACK_NO_MEMORY;\r
     }\r
-    OIC_LOG_V(INFO, TAG, "DPARING : %s", secPayload->securityData1);\r
+    OIC_LOG(INFO, TAG, "DPARING CBOR data:");\r
+    OIC_LOG_BUFFER(INFO, TAG, secPayload->securityData, secPayload->payloadSize);\r
 \r
     char query[MAX_URI_LENGTH + MAX_QUERY_LENGTH] = {0};\r
     if(!DPGenerateQuery(false,\r
@@ -858,7 +860,7 @@ static OCStackApplicationResult DirectPairingDiscoveryHandler(void* ctx, OCDoHan
         OicSecPconf_t *pconf = NULL;\r
 \r
         OCStackResult res = CBORPayloadToPconf(\r
-                ((OCSecurityPayload*)clientResponse->payload)->securityData1,\r
+                ((OCSecurityPayload*)clientResponse->payload)->securityData,\r
                 CBOR_SIZE,&pconf);\r
         if (OC_STACK_OK != res )\r
         {\r
index 862a63f99b2250fad8995161e50b6b94309caf85..d48c8efeb4fd5df89a1ac229710fb6dd78989df8 100644 (file)
@@ -276,7 +276,7 @@ exit:
 OCStackResult CBORPayloadToDoxm(const uint8_t *cborPayload, size_t size,
                                 OicSecDoxm_t **secDoxm)
 {
-    if (NULL == cborPayload || NULL == secDoxm || NULL != *secDoxm)
+    if (NULL == cborPayload || NULL == secDoxm || NULL != *secDoxm || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -286,11 +286,11 @@ OCStackResult CBORPayloadToDoxm(const uint8_t *cborPayload, size_t size,
 
     CborParser parser;
     CborError cborFindResult = CborNoError;
-    int cborLen = (size == 0) ? CBOR_SIZE : size;
     char* strUuid = NULL;
     size_t len = 0;
     CborValue doxmCbor;
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &doxmCbor);
+
+    cbor_parser_init(cborPayload, size, 0, &parser, &doxmCbor);
     CborValue doxmMap;
     OicSecDoxm_t *doxm = (OicSecDoxm_t *)OICCalloc(1, sizeof(*doxm));
     VERIFY_NON_NULL(TAG, doxm, ERROR);
@@ -568,9 +568,10 @@ static OCEntityHandlerResult HandleDoxmGetRequest (const OCEntityHandlerRequest
     }
 
     // Send response payload to request originator
-    if (OC_STACK_OK != SendSRMCBORResponse(ehRequest, ehRet, payload, size))
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, payload, size))
     {
-        OIC_LOG(ERROR, TAG, "SendSRMCBORResponse failed in HandleDoxmGetRequest");
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleDoxmGetRequest");
     }
 
     OICFree(payload);
@@ -592,7 +593,7 @@ static OCEntityHandlerResult HandleDoxmPutRequest(const OCEntityHandlerRequest *
 
     if (ehRequest->payload)
     {
-        uint8_t *payload = ((OCSecurityPayload *)ehRequest->payload)->securityData1;
+        uint8_t *payload = ((OCSecurityPayload *)ehRequest->payload)->securityData;
         size_t size = ((OCSecurityPayload *)ehRequest->payload)->payloadSize;
         OCStackResult res = CBORPayloadToDoxm(payload, size, &newDoxm);
 
@@ -812,9 +813,10 @@ exit:
     }
 
     //Send payload to request originator
-    if (OC_STACK_OK != SendSRMCBORResponse(ehRequest, ehRet, NULL, 0))
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
     {
-        OIC_LOG(ERROR, TAG, "SendSRMCBORResponse failed in HandleDoxmPostRequest");
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleDoxmPostRequest");
     }
     DeleteDoxmBinData(newDoxm);
 
@@ -849,7 +851,7 @@ OCEntityHandlerResult DoxmEntityHandler(OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
                 break;
         }
     }
index 457e8e957a68e2cb6eeeaff078dee0fcea88b387..0c5c03f8703206429c0f297a0feeaed342e32ed7 100644 (file)
@@ -287,9 +287,8 @@ OCStackResult CBORPayloadToDpair(const uint8_t *cborPayload, size_t size,
     CborValue dpairCbor = { .parser = NULL };
     CborParser parser = { .end = NULL };
     CborError cborFindResult = CborNoError;
-    int cborLen = size;
 
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &dpairCbor);
+    cbor_parser_init(cborPayload, size, 0, &parser, &dpairCbor);
     CborValue dpairMap = { .parser = NULL };
     OicSecDpairing_t *dpair = NULL;
     cborFindResult = cbor_value_enter_container(&dpairCbor, &dpairMap);
@@ -404,7 +403,7 @@ static OCEntityHandlerResult HandleDpairingPostRequest (const OCEntityHandlerReq
     const OicSecPconf_t *pconf = GetPconfResourceData();
     if (true == pconf->edp)
     {
-        uint8_t *payload = ((OCSecurityPayload*)ehRequest->payload)->securityData1;
+        uint8_t *payload = ((OCSecurityPayload*)ehRequest->payload)->securityData;
         size_t size = ((OCSecurityPayload*)ehRequest->payload)->payloadSize;
         if (payload)
         {
@@ -490,16 +489,17 @@ static OCEntityHandlerResult HandleDpairingPostRequest (const OCEntityHandlerReq
 exit:
 #endif // __WITH_DTLS__
 
-    if (OC_EH_ERROR == ehRet && gDpair)
+    // Send payload to request originator
+    if(OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
     {
-        RemoveCredential(&gDpair->pdeviceID);
-        gDpair = NULL;
+        ehRet = OC_EH_ERROR;
+        OIC_LOG (ERROR, TAG, "SendSRMResponse failed in HandleDpairingPostRequest");
     }
 
-    // Send payload to request originator
-    if(OC_STACK_OK != SendSRMCBORResponse(ehRequest, ehRet, NULL, 0))
+    if (OC_EH_ERROR == ehRet && gDpair)
     {
-        OIC_LOG (ERROR, TAG, "SendSRMCBORResponse failed in HandleDpairingPostRequest");
+        RemoveCredential(&gDpair->pdeviceID);
+        gDpair = NULL;
     }
 
     DeleteDpairingBinData(newDpair);
@@ -518,7 +518,7 @@ static OCEntityHandlerResult HandleDpairingPutRequest (const OCEntityHandlerRequ
     const OicSecPconf_t *pconf = GetPconfResourceData();
     if (true == pconf->edp)
     {
-        uint8_t *payload = ((OCSecurityPayload*)ehRequest->payload)->securityData1;
+        uint8_t *payload = ((OCSecurityPayload*)ehRequest->payload)->securityData;
         size_t size = ((OCSecurityPayload*)ehRequest->payload)->payloadSize;
         if (payload)
         {
@@ -593,9 +593,10 @@ static OCEntityHandlerResult HandleDpairingPutRequest (const OCEntityHandlerRequ
 exit:
 
     //Send payload to request originator
-    if(OC_STACK_OK != SendSRMCBORResponse(ehRequest, ehRet, NULL, 0))
+    if(OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
     {
-        OIC_LOG (ERROR, TAG, "SendSRMCBORResponse failed in HandleDpairingPutRequest");
+        ehRet = OC_EH_ERROR;
+        OIC_LOG (ERROR, TAG, "SendSRMResponse failed in HandleDpairingPutRequest");
     }
 
     DeleteDpairingBinData(newDpair);
@@ -640,7 +641,7 @@ OCEntityHandlerResult DpairingEntityHandler (OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
         }
     }
 
index 8cc71f1f7cf71898e9df5167e6c23cd56079d29d..921b249e51c221de2b057f37fdae120d417f3948 100644 (file)
@@ -463,9 +463,8 @@ OCStackResult CBORPayloadToPconf(const uint8_t *cborPayload, size_t size, OicSec
     CborValue pconfCbor = { .parser = NULL };
     CborParser parser = { .end = NULL };
     CborError cborFindResult = CborNoError;
-    int cborLen = size;
 
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &pconfCbor);
+    cbor_parser_init(cborPayload, size, 0, &parser, &pconfCbor);
     CborValue pconfMap = { .parser = NULL } ;
     OicSecPconf_t *pconf = NULL;
     cborFindResult = cbor_value_enter_container(&pconfCbor, &pconfMap);
@@ -873,9 +872,14 @@ static OCEntityHandlerResult HandlePconfGetRequest (const OCEntityHandlerRequest
     }
 
     // Send response payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, payload, size);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, payload, size))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandlePconfGetRequest");
+    }
     OIC_LOG_V(DEBUG, TAG, "%s RetVal %d", __func__, ehRet);
 
+    OICFree(payload);
     return ehRet;
 }
 
@@ -888,7 +892,7 @@ static OCEntityHandlerResult HandlePconfPostRequest (const OCEntityHandlerReques
     if (true == GetDoxmResourceData()->dpc)
     {
         // Convert CBOR PCONF data into binary. This will also validate the PCONF data received.
-        uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData1;
+        uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData;
         size_t size = ((OCSecurityPayload *) ehRequest->payload)->payloadSize;
 
         if(payload){
@@ -905,7 +909,7 @@ static OCEntityHandlerResult HandlePconfPostRequest (const OCEntityHandlerReques
     {
         // Check if valid Post request
         if ((true == newPconf->edp) && (0 < newPconf->prmLen) &&
-                DP_PIN_LENGTH == sizeof((const char*)newPconf->pin.val))
+                DP_PIN_LENGTH == sizeof(newPconf->pin.val))
         {
             OicSecPrm_t *oldPrm = gPconf->prm;
             OicSecPdAcl_t *oldPdacl = gPconf->pdacls;
@@ -945,7 +949,11 @@ static OCEntityHandlerResult HandlePconfPostRequest (const OCEntityHandlerReques
     }
 
     // Send payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandlePconfPostRequest");
+    }
 
     OIC_LOG_V (DEBUG, TAG, "%s RetVal %d", __func__ , ehRet);
     return ehRet;
@@ -986,7 +994,7 @@ OCEntityHandlerResult PconfEntityHandler (OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
         }
     }
 
index 5af8afddcc4f2dbfda241491c52e723329aeb76e..b3e63ac5c3f820918908c8e72d8ee01a8dfd3628 100644 (file)
@@ -196,7 +196,7 @@ exit:
 OCStackResult CBORPayloadToPstat(const uint8_t *cborPayload, const size_t size,
                                  OicSecPstat_t **secPstat)
 {
-    if (NULL == cborPayload || NULL == secPstat || NULL != *secPstat)
+    if (NULL == cborPayload || NULL == secPstat || NULL != *secPstat || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -208,13 +208,9 @@ OCStackResult CBORPayloadToPstat(const uint8_t *cborPayload, const size_t size,
     CborParser parser;
     CborError cborFindResult = CborNoError;
     char *strUuid = NULL;
-    int cborLen = size;
     size_t len = 0;
-    if (0 == size)
-    {
-        cborLen = CBOR_SIZE;
-    }
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &pstatCbor);
+
+    cbor_parser_init(cborPayload, size, 0, &parser, &pstatCbor);
     CborValue pstatMap = { .parser = NULL };
 
     OicSecPstat_t *pstat = NULL;
@@ -339,7 +335,11 @@ static OCEntityHandlerResult HandlePstatGetRequest (const OCEntityHandlerRequest
     OCEntityHandlerResult ehRet = (res == OC_STACK_OK) ? OC_EH_OK : OC_EH_ERROR;
 
     // Send response payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, payload, size);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, payload, size))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandlePstatGetRequest");
+    }
     OICFree(payload);
     return ehRet;
 }
@@ -356,14 +356,13 @@ static OCEntityHandlerResult HandlePstatPutRequest(const OCEntityHandlerRequest
     OIC_LOG(INFO, TAG, "HandlePstatPutRequest  processing PUT request");
     OicSecPstat_t *pstat = NULL;
 
-    if (ehRequest->resource)
+    if (ehRequest->payload)
     {
-        uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData1;
+        uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData;
         size_t size = ((OCSecurityPayload *) ehRequest->payload)->payloadSize;
         VERIFY_NON_NULL(TAG, payload, ERROR);
 
         OCStackResult ret = CBORPayloadToPstat(payload, size, &pstat);
-        OICFree(payload);
         VERIFY_NON_NULL(TAG, pstat, ERROR);
         if (OC_STACK_OK == ret)
         {
@@ -415,8 +414,9 @@ static OCEntityHandlerResult HandlePstatPutRequest(const OCEntityHandlerRequest
     }
 
     //Send payload to request originator
-    if(OC_STACK_OK != SendSRMCBORResponse(ehRequest, ehRet, NULL, 0))
+    if(OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
     {
+        ehRet = OC_EH_ERROR;
         OIC_LOG (ERROR, TAG, "SendSRMResponse failed in HandlePstatPostRequest");
     }
     DeletePstatBinData(pstat);
@@ -446,7 +446,7 @@ static OCEntityHandlerResult HandlePstatPutRequest(const OCEntityHandlerRequest
                 break;
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
                 break;
         }
     }
index 14f586d5b6536086a9af13e2c82ae5fcc528fcbc..198b62a12102d88877db1b46c2579a5a999f8a3b 100644 (file)
 #endif // __WITH_X509__
 
 OCStackResult SendSRMResponse(const OCEntityHandlerRequest *ehRequest,
-        OCEntityHandlerResult ehRet, const char *rspPayload)
-{
-    OIC_LOG (DEBUG, TAG, "SRM sending SRM response");
-    OCEntityHandlerResponse response = {.requestHandle = NULL};
-    if (ehRequest)
-    {
-        OCSecurityPayload ocPayload = {.base = {.type = PAYLOAD_TYPE_INVALID}};
-
-        response.requestHandle = ehRequest->requestHandle;
-        response.resourceHandle = ehRequest->resource;
-        response.ehResult = ehRet;
-        response.payload = (OCPayload*)(&ocPayload);
-        response.payload->type = PAYLOAD_TYPE_SECURITY;
-        ((OCSecurityPayload*)response.payload)->securityData = (char *)rspPayload;
-        response.persistentBufferFlag = 0;
-
-        return OCDoResponse(&response);
-    }
-    return OC_STACK_ERROR;
-}
-
-OCStackResult SendSRMCBORResponse(const OCEntityHandlerRequest *ehRequest,
         OCEntityHandlerResult ehRet, uint8_t *cborPayload, size_t size)
 {
     OIC_LOG(DEBUG, TAG, "SRM sending SRM response");
@@ -82,7 +60,7 @@ OCStackResult SendSRMCBORResponse(const OCEntityHandlerRequest *ehRequest,
         response.ehResult = ehRet;
         response.payload = (OCPayload *)(&ocPayload);
         response.payload->type = PAYLOAD_TYPE_SECURITY;
-        ((OCSecurityPayload *)response.payload)->securityData1 = cborPayload;
+        ((OCSecurityPayload *)response.payload)->securityData = cborPayload;
         ((OCSecurityPayload *)response.payload)->payloadSize = size;
         response.persistentBufferFlag = 0;
 
index 3c4b412e4397e4443e30015bc889ed8b89d3d1bc..a1175aa8778238014e12cc62e885e44179e2abd7 100644 (file)
@@ -189,7 +189,7 @@ exit:
 OCStackResult CBORPayloadToSVC(const uint8_t *cborPayload, size_t size,
                                OicSecSvc_t **secSvc)
 {
-    if (NULL == cborPayload || NULL == secSvc || NULL != *secSvc)
+    if (NULL == cborPayload || NULL == secSvc || NULL != *secSvc || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -201,13 +201,8 @@ OCStackResult CBORPayloadToSVC(const uint8_t *cborPayload, size_t size,
     CborValue svcCbor = { .parser = NULL };
     CborParser parser = { .end = NULL };
     CborError cborFindResult = CborNoError;
-    int cborLen = size;
-    if (0 == size)
-    {
-       cborLen = CBOR_SIZE;
-    }
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &svcCbor);
 
+    cbor_parser_init(cborPayload, size, 0, &parser, &svcCbor);
     OicSecSvc_t *headSvc = NULL;
 
     CborValue svcArray = { .parser = NULL };
@@ -325,10 +320,13 @@ static OCEntityHandlerResult HandleSVCGetRequest(const OCEntityHandlerRequest *
     OCEntityHandlerResult ehRet = (res == OC_STACK_OK) ? OC_EH_OK : OC_EH_ERROR;
 
     // Send response payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, cborSvc, size);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, cborSvc, size))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleSVCGetRequest");
+    }
 
     OICFree(cborSvc);
-
     OIC_LOG_V (DEBUG, TAG, "%s RetVal %d", __func__ , ehRet);
     return ehRet;
 }
@@ -336,7 +334,7 @@ static OCEntityHandlerResult HandleSVCGetRequest(const OCEntityHandlerRequest *
 static OCEntityHandlerResult HandleSVCPostRequest(const OCEntityHandlerRequest * ehRequest)
 {
     OCEntityHandlerResult ehRet = OC_EH_ERROR;
-    uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData1;
+    uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData;
     size_t size = ((OCSecurityPayload *) ehRequest->payload)->payloadSize;
     if (payload)
     {
@@ -362,7 +360,11 @@ static OCEntityHandlerResult HandleSVCPostRequest(const OCEntityHandlerRequest *
     }
 
     // Send payload to request originator
-    SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, NULL, 0))
+    {
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleSVCPostRequest");
+    }
 
     OIC_LOG_V (DEBUG, TAG, "%s RetVal %d", __func__ , ehRet);
     return ehRet;
@@ -398,7 +400,7 @@ static OCEntityHandlerResult SVCEntityHandler(OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
         }
     }
 
index 94fd9de5c2570cc804e2fcc336351f91e8804669..7d60bb393265f5b5e1871839538ad312bb3d14ad 100644 (file)
@@ -161,7 +161,7 @@ exit:
 OCStackResult CBORPayloadToVer(const uint8_t *cborPayload, size_t size,
                                 OicSecVer_t **secVer)
 {
-    if (NULL == cborPayload || NULL == secVer || NULL != *secVer)
+    if (NULL == cborPayload || NULL == secVer || NULL != *secVer || 0 == size)
     {
         return OC_STACK_INVALID_PARAM;
     }
@@ -172,10 +172,9 @@ OCStackResult CBORPayloadToVer(const uint8_t *cborPayload, size_t size,
 
     CborParser parser = { .end = NULL};
     CborError cborFindResult = CborNoError;
-    int cborLen = (size == 0) ? CBOR_SIZE : size;
     size_t len = 0;
     CborValue verCbor = { .parser = NULL };
-    cbor_parser_init(cborPayload, cborLen, 0, &parser, &verCbor);
+    cbor_parser_init(cborPayload, size, 0, &parser, &verCbor);
     CborValue verMap = { .parser = NULL };
     OicSecVer_t *ver = (OicSecVer_t *)OICCalloc(1, sizeof(OicSecVer_t));
     VERIFY_NON_NULL(TAG, ver, ERROR);
@@ -235,9 +234,10 @@ static OCEntityHandlerResult HandleVerGetRequest (const OCEntityHandlerRequest *
     }
 
     // Send response payload to request originator
-    if (OC_STACK_OK != SendSRMCBORResponse(ehRequest, ehRet, payload, size))
+    if (OC_STACK_OK != SendSRMResponse(ehRequest, ehRet, payload, size))
     {
-        OIC_LOG(ERROR, TAG, "SendSRMCBORResponse failed in HandleVerGetRequest");
+        ehRet = OC_EH_ERROR;
+        OIC_LOG(ERROR, TAG, "SendSRMResponse failed in HandleVerGetRequest");
     }
 
     OICFree(payload);
@@ -269,7 +269,7 @@ OCEntityHandlerResult VerEntityHandler(OCEntityHandlerFlag flag,
 
             default:
                 ehRet = OC_EH_ERROR;
-                SendSRMCBORResponse(ehRequest, ehRet, NULL, 0);
+                SendSRMResponse(ehRequest, ehRet, NULL, 0);
                 break;
         }
     }
index 0ef55fff1416bad7214205585504a0ab3a142efe..09191cb605d5a6613ff15ee76e08612de885d7e0 100644 (file)
@@ -63,7 +63,7 @@ static size_t GetJSONFileSize(const char *jsonFileName)
         do
         {
             bytesRead = fread(buffer, 1, DB_FILE_SIZE_BLOCK, fp);
-            if (size + bytesRead > MAX_RANGE)
+            if (bytesRead >=(MAX_RANGE - size))
             {
                 fclose(fp);
                 return 0;
@@ -95,11 +95,12 @@ static void ConvertJsonToCBOR(const char *jsonFileName, const char *cborFileName
         return;
     }
 
+    jsonStr = (char *)OICMalloc(size + 1);
+    VERIFY_NON_NULL(TAG, jsonStr, FATAL);
+
     fp = fopen(jsonFileName, "r");
     if (fp)
     {
-        jsonStr = (char *)OICMalloc(size + 1);
-        VERIFY_NON_NULL(TAG, jsonStr, FATAL);
         size_t bytesRead = fread(jsonStr, 1, size, fp);
         jsonStr[bytesRead] = '\0';
 
@@ -705,12 +706,16 @@ exit:
 
 OicSecCred_t * JSONToCredBin(const char * jsonStr)
 {
+    if (NULL == jsonStr)
+    {
+        OIC_LOG(ERROR, TAG,"JSONToCredBin jsonStr in NULL");
+        return NULL;
+    }
 
-    VERIFY_NON_NULL(TAG, jsonStr, ERROR);
     OicSecCred_t *headCred = (OicSecCred_t*)OICCalloc(1, sizeof(OicSecCred_t));
-
     OCStackResult ret = OC_STACK_ERROR;
     cJSON *jsonRoot = NULL;
+    VERIFY_NON_NULL(TAG, headCred, ERROR);
 
     jsonRoot = cJSON_Parse(jsonStr);
     VERIFY_NON_NULL(TAG, jsonRoot, ERROR);
index bf8069d9362d9cf6c7054631315bdba60d949026..e759256d11d68cd35e44a3b16f3f1d38d6317fed 100644 (file)
@@ -237,7 +237,7 @@ TEST(ACLResourceTest, ACLPostTest)
     ASSERT_TRUE(ReadCBORFile(ACL1_FILE_NAME, OIC_JSON_ACL_NAME, &payload, &size));
     ASSERT_TRUE(NULL != payload);
 
-    OCSecurityPayload *securityPayload = OCSecurityPayloadCBORCreate(payload, size);
+    OCSecurityPayload *securityPayload = OCSecurityPayloadCreate(payload, size);
     ASSERT_TRUE(NULL != securityPayload);
 
     static OCPersistentStorage ps = OCPersistentStorage();
@@ -248,8 +248,7 @@ TEST(ACLResourceTest, ACLPostTest)
     ehReq.method = OC_REST_POST;
     ehReq.payload = (OCPayload *) securityPayload;
 
-    OCEntityHandlerResult ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    EXPECT_EQ(OC_EH_RESOURCE_CREATED, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     OicSecAcl_t *acl = CBORPayloadToAcl(payload, size);
     ASSERT_TRUE(NULL != acl);
@@ -346,7 +345,7 @@ TEST(ACLResourceTest, ACLDeleteWithSingleResourceTest)
     ASSERT_TRUE(NULL != payload);
 
     // Security Payload
-    OCSecurityPayload *securityPayload = OCSecurityPayloadCBORCreate(payload, size);
+    OCSecurityPayload *securityPayload = OCSecurityPayloadCreate(payload, size);
     ASSERT_TRUE(NULL != securityPayload);
 
     static OCPersistentStorage ps = OCPersistentStorage();
@@ -356,9 +355,7 @@ TEST(ACLResourceTest, ACLDeleteWithSingleResourceTest)
     OCEntityHandlerRequest ehReq = OCEntityHandlerRequest();
     ehReq.payload = (OCPayload *) securityPayload;
     ehReq.method = OC_REST_POST;
-    OCEntityHandlerResult ehRet = OC_EH_ERROR;
-    ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    EXPECT_EQ(OC_EH_RESOURCE_CREATED, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     // Verify if SRM contains ACE for the subject
     OicSecAcl_t* savePtr = NULL;
@@ -371,9 +368,7 @@ TEST(ACLResourceTest, ACLDeleteWithSingleResourceTest)
     ehReq.query = (char *)OICMalloc(strlen(query)+1);
     ASSERT_TRUE(NULL !=  ehReq.query);
     OICStrcpy(ehReq.query, strlen(query)+1, query);
-    ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    // This returns error as WILDARD is used as a subject query.
-    EXPECT_EQ(OC_EH_RESOURCE_DELETED, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     // Verify if SRM has deleted ACE for the subject
     savePtr = NULL;
@@ -400,7 +395,7 @@ TEST(ACLResourceTest, ACLDeleteWithMultiResourceTest)
     ASSERT_TRUE(NULL != payload);
 
     // Security Payload
-    OCSecurityPayload *securityPayload = OCSecurityPayloadCBORCreate(payload, size);
+    OCSecurityPayload *securityPayload = OCSecurityPayloadCreate(payload, size);
     ASSERT_TRUE(NULL!= securityPayload);
 
     static OCPersistentStorage ps = OCPersistentStorage();
@@ -410,8 +405,7 @@ TEST(ACLResourceTest, ACLDeleteWithMultiResourceTest)
     OCEntityHandlerRequest ehReq = OCEntityHandlerRequest();
     ehReq.method = OC_REST_POST;
     ehReq.payload = (OCPayload *)securityPayload;
-    OCEntityHandlerResult ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    EXPECT_EQ(OC_EH_RESOURCE_CREATED, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     // Verify if SRM contains ACE for the subject with two resources
     OicSecAcl_t* savePtr = NULL;
@@ -426,8 +420,7 @@ TEST(ACLResourceTest, ACLDeleteWithMultiResourceTest)
     ASSERT_TRUE(NULL != ehReq.query);
     OICStrcpy(ehReq.query, strlen(query)+1, query);
 
-    ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    EXPECT_EQ(OC_EH_RESOURCE_DELETED, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     // Verify if SRM contains ACL for the subject but only with one resource
     savePtr = NULL;
@@ -456,7 +449,7 @@ TEST(ACLResourceTest, ACLGetWithQueryTest)
     ASSERT_TRUE(NULL != payload);
 
     // Security Payload
-    OCSecurityPayload *securityPayload = OCSecurityPayloadCBORCreate(payload, size);
+    OCSecurityPayload *securityPayload = OCSecurityPayloadCreate(payload, size);
     ASSERT_TRUE(NULL != securityPayload);
 
     static OCPersistentStorage ps = OCPersistentStorage();
@@ -466,8 +459,7 @@ TEST(ACLResourceTest, ACLGetWithQueryTest)
     OCEntityHandlerRequest ehReq = OCEntityHandlerRequest();
     ehReq.method = OC_REST_POST;
     ehReq.payload = (OCPayload *)securityPayload;
-    OCEntityHandlerResult ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    EXPECT_EQ(OC_EH_RESOURCE_CREATED, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     //Create Entity Handler GET request wit query
     ehReq.method = OC_REST_GET;
@@ -476,8 +468,7 @@ TEST(ACLResourceTest, ACLGetWithQueryTest)
     ASSERT_TRUE(NULL != ehReq.query);
     OICStrcpy(ehReq.query, strlen(query)+1, query);
 
-    ehRet = ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
-    EXPECT_EQ(OC_EH_OK, ehRet);
+    ACLEntityHandler(OC_REQUEST_FLAG, &ehReq, NULL);
 
     // Perform cleanup
     OCPayloadDestroy((OCPayload *)securityPayload);
index 4ecf9aa1c6599b370168fb11b21a7b54d4bcfa4e..894ff197add7fb081f5498e8f01de82eb45858b7 100644 (file)
@@ -175,7 +175,7 @@ TEST(CredResourceTest, CredEntityHandlerDeleteTest)
 
     // Create Entity Handler POST request payload
     ehReq.method = OC_REST_POST;
-    ehReq.payload = (OCPayload *)OCSecurityPayloadCBORCreate(payload, size);
+    ehReq.payload = (OCPayload *)OCSecurityPayloadCreate(payload, size);
     if (!ehReq.payload)
     {
         OICFree(payload);
index 1bdad179f999185398613b66704df759b3393652..d1c93963d445999f2dbfa41e7c37f2bf2cd1dd1e 100644 (file)
@@ -80,7 +80,7 @@ TEST(PstatResourceTest, PstatEntityHandlerWithPostRequest)
 
     OCEntityHandlerRequest req = OCEntityHandlerRequest();
     req.method = OC_REST_POST;
-    req.payload = (OCPayload *) OCSecurityPayloadCBORCreate(cbor, size);
+    req.payload = (OCPayload *) OCSecurityPayloadCreate(cbor, size);
     EXPECT_EQ(OC_EH_ERROR, PstatEntityHandler(OCEntityHandlerFlag::OC_REQUEST_FLAG, &req));
     OICFree(cbor);
     OCPayloadDestroy(req.payload);
index fb84bbd4e72bdf52145f0638d97d0ccac0fa70ed..c8a7cfc3a7edda57bd0e829e88e618b4a8ebad11 100644 (file)
@@ -219,9 +219,7 @@ void OCRepPayloadDestroy(OCRepPayload* payload);
 // Discovery Payload
 OCDiscoveryPayload* OCDiscoveryPayloadCreate();
 
-// TODO: Remove OCSecurityPayloadCBORCreate once all cbor changes land.
-OCSecurityPayload* OCSecurityPayloadCreate(const char* securityData);
-OCSecurityPayload* OCSecurityPayloadCBORCreate(const uint8_t* securityData, size_t size);
+OCSecurityPayload* OCSecurityPayloadCreate(const uint8_t* securityData, size_t size);
 void OCSecurityPayloadDestroy(OCSecurityPayload* payload);
 
 void OCDiscoveryPayloadAddResource(OCDiscoveryPayload* payload, const OCResource* res,
index 2215c68c56a5d15a3a0096e376adb7ba97efb6e0..1eb0525c00b7468671ba0571bc443a5b7b8c0b3b 100644 (file)
@@ -1218,8 +1218,7 @@ typedef struct
 typedef struct
 {
     OCPayload base;
-    char* securityData;
-    uint8_t *securityData1;
+    uint8_t* securityData;
     size_t payloadSize;
 } OCSecurityPayload;
 
index 0b102aca3f6d5249d292b6ac7320db45ec06f339..7880b7c126bb52aeaa809058aaccc555404e282a 100644 (file)
@@ -131,18 +131,22 @@ static void OCCopyPropertyValueArray(OCRepPayloadValue* dest, OCRepPayloadValue*
     {
         case OCREP_PROP_INT:
             dest->arr.iArray = (int64_t*)OICMalloc(dimTotal * sizeof(int64_t));
+            VERIFY_PARAM_NON_NULL(TAG, dest->arr.iArray, "Failed allocating memory");
             memcpy(dest->arr.iArray, source->arr.iArray, dimTotal * sizeof(int64_t));
             break;
         case OCREP_PROP_DOUBLE:
             dest->arr.dArray = (double*)OICMalloc(dimTotal * sizeof(double));
+            VERIFY_PARAM_NON_NULL(TAG, dest->arr.dArray, "Failed allocating memory");
             memcpy(dest->arr.dArray, source->arr.dArray, dimTotal * sizeof(double));
             break;
         case OCREP_PROP_BOOL:
             dest->arr.bArray = (bool*)OICMalloc(dimTotal * sizeof(bool));
+            VERIFY_PARAM_NON_NULL(TAG, dest->arr.bArray, "Failed allocating memory");
             memcpy(dest->arr.bArray, source->arr.bArray, dimTotal * sizeof(bool));
             break;
         case OCREP_PROP_STRING:
             dest->arr.strArray = (char**)OICMalloc(dimTotal * sizeof(char*));
+            VERIFY_PARAM_NON_NULL(TAG, dest->arr.strArray, "Failed allocating memory");
             for(size_t i = 0; i < dimTotal; ++i)
             {
                 dest->arr.strArray[i] = OICStrdup(source->arr.strArray[i]);
@@ -150,6 +154,7 @@ static void OCCopyPropertyValueArray(OCRepPayloadValue* dest, OCRepPayloadValue*
             break;
         case OCREP_PROP_OBJECT:
             dest->arr.objArray = (OCRepPayload**)OICMalloc(dimTotal * sizeof(OCRepPayload*));
+            VERIFY_PARAM_NON_NULL(TAG, dest->arr.objArray, "Failed allocating memory");
             for(size_t i = 0; i < dimTotal; ++i)
             {
                 dest->arr.objArray[i] = OCRepPayloadClone(source->arr.objArray[i]);
@@ -157,6 +162,7 @@ static void OCCopyPropertyValueArray(OCRepPayloadValue* dest, OCRepPayloadValue*
             break;
         case OCREP_PROP_ARRAY:
             dest->arr.objArray = (OCRepPayload**)OICMalloc(dimTotal * sizeof(OCRepPayload*));
+            VERIFY_PARAM_NON_NULL(TAG, dest->arr.objArray, "Failed allocating memory");
             for(size_t i = 0; i < dimTotal; ++i)
             {
                 dest->arr.objArray[i] = OCRepPayloadClone(source->arr.objArray[i]);
@@ -166,6 +172,8 @@ static void OCCopyPropertyValueArray(OCRepPayloadValue* dest, OCRepPayloadValue*
             OIC_LOG(ERROR, TAG, "CopyPropertyValueArray invalid type");
             break;
     }
+exit:
+    return;
 }
 
 static void OCCopyPropertyValue (OCRepPayloadValue *dest, OCRepPayloadValue *source)
@@ -1317,8 +1325,7 @@ OCDiscoveryPayload* OCDiscoveryPayloadCreate()
     return payload;
 }
 
-//TODO : Remove this once all cbor changes land.
-OCSecurityPayload* OCSecurityPayloadCreate(const char* securityData)
+OCSecurityPayload* OCSecurityPayloadCreate(const uint8_t* securityData, size_t size)
 {
     OCSecurityPayload* payload = (OCSecurityPayload*)OICCalloc(1, sizeof(OCSecurityPayload));
 
@@ -1328,29 +1335,13 @@ OCSecurityPayload* OCSecurityPayloadCreate(const char* securityData)
     }
 
     payload->base.type = PAYLOAD_TYPE_SECURITY;
-    payload->securityData = OICStrdup(securityData);
-
-    return payload;
-}
-
-// TODO : To convert this to OCSecurityPayloadCreate once all cbor changes land.
-OCSecurityPayload* OCSecurityPayloadCBORCreate(const uint8_t* securityData, size_t size)
-{
-    OCSecurityPayload* payload = (OCSecurityPayload*)OICCalloc(1, sizeof(OCSecurityPayload));
-
-    if (!payload)
-    {
-        return NULL;
-    }
-
-    payload->base.type = PAYLOAD_TYPE_SECURITY;
-    payload->securityData1 = (uint8_t *)OICCalloc(1, size);
-    if (!payload->securityData1)
+    payload->securityData = (uint8_t *)OICCalloc(1, size);
+    if (!payload->securityData)
     {
         OICFree(payload);
         return NULL;
     }
-    memcpy(payload->securityData1, (uint8_t *)securityData, size);
+    memcpy(payload->securityData, (uint8_t *)securityData, size);
     payload->payloadSize = size;
 
     return payload;
@@ -1362,9 +1353,8 @@ void OCSecurityPayloadDestroy(OCSecurityPayload* payload)
     {
         return;
     }
-    // Remove this once all cbor changes land.
+
     OICFree(payload->securityData);
-    // OICFree(payload->securityData1);
     OICFree(payload);
 }
 
@@ -1511,7 +1501,7 @@ bool OCResourcePayloadAddStringLL(OCStringLL **stringLL, const char *value)
     if (!*stringLL)
     {
         *stringLL = (OCStringLL *)OICCalloc(1, sizeof(OCStringLL));
-        VERIFY_PARAM_NON_NULL(TAG, dup, "Failed allocating memory");
+        VERIFY_PARAM_NON_NULL(TAG, *stringLL, "Failed allocating memory");
         (*stringLL)->value = dup;
         return true;
     }
index 681f1683f209d4f788a4098491ac5c02f531fa73..0ef73d88afccb2cf39e506d789f1649879ef2919 100644 (file)
@@ -182,7 +182,7 @@ static int64_t checkError(int64_t err, CborEncoder* encoder, uint8_t* outPayload
 static int64_t OCConvertSecurityPayload(OCSecurityPayload* payload, uint8_t* outPayload,
         size_t* size)
 {
-    memcpy(outPayload, payload->securityData1, payload->payloadSize);
+    memcpy(outPayload, payload->securityData, payload->payloadSize);
     *size = payload->payloadSize;
 
     return CborNoError;
@@ -421,8 +421,8 @@ static int64_t OCConvertDevicePayload(OCDevicePayload *payload, uint8_t *outPayl
                 sizeof(OC_RSRVD_RESOURCE_TYPE) - 1);
         VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding rep resource type tag");
         char *joinedTypes = OCStringLLJoin(payload->types);
-        printf(" JOINED TYPES : %s %zd \n", joinedTypes, strlen(joinedTypes));
         VERIFY_PARAM_NON_NULL(TAG, joinedTypes, "Failed creating joined string");
+        printf(" JOINED TYPES : %s %zd \n", joinedTypes, strlen(joinedTypes));
         err |= cbor_encode_text_string(&repMap, joinedTypes, strlen(joinedTypes));
         OICFree(joinedTypes);
         VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding rep resource type value");
index 6ccc963d94e290b4de3249eaa8cb7348d12bcb17..c850d73d44b7fd4ae0023a1810f87fce40a88d7e 100644 (file)
@@ -107,7 +107,7 @@ static OCStackResult OCParseSecurityPayload(OCPayload** outPayload, const uint8_
 {
     if (size > 0)
     {
-        *outPayload = (OCPayload *)OCSecurityPayloadCBORCreate(payload, size);
+        *outPayload = (OCPayload *)OCSecurityPayloadCreate(payload, size);
     }
     else
     {
@@ -214,6 +214,7 @@ static OCStackResult OCParseDiscoveryPayload(OCPayload **outPayload, CborValue *
 
     // BaseURI - Not a mandatory field
     err = cbor_value_map_find_value(&rootMap, OC_RSRVD_BASE_URI, &curVal);
+    VERIFY_CBOR_SUCCESS(TAG, err, "to find uri tag");
     if (cbor_value_is_valid(&curVal))
     {
         err = cbor_value_dup_text_string(&curVal, &(out->baseURI), &len, NULL);
@@ -290,7 +291,8 @@ static OCStackResult OCParseDiscoveryPayload(OCPayload **outPayload, CborValue *
         {
             if (!OCResourcePayloadAddStringLL(&resource->interfaces, OC_RSRVD_INTERFACE_LL))
             {
-                err = CborErrorOutOfMemory;
+                OIC_LOG(ERROR, TAG, "Failed to add string to StringLL");
+                goto exit;
             }
         }
 
@@ -307,6 +309,7 @@ static OCStackResult OCParseDiscoveryPayload(OCPayload **outPayload, CborValue *
 
         // Secure Flag
         err = cbor_value_map_find_value(&policyMap, OC_RSRVD_SECURE, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find secure tag");
         if (cbor_value_is_valid(&curVal))
         {
             err = cbor_value_get_boolean(&curVal, &(resource->secure));
@@ -315,6 +318,7 @@ static OCStackResult OCParseDiscoveryPayload(OCPayload **outPayload, CborValue *
 
         // Port
         err = cbor_value_map_find_value(&policyMap, OC_RSRVD_HOSTING_PORT, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find port tag");
         if (cbor_value_is_valid(&curVal))
         {
             err = cbor_value_get_int(&curVal, (int *)&resource->port);
@@ -361,6 +365,7 @@ static OCStackResult OCParseDevicePayload(OCPayload **outPayload, CborValue *roo
         CborValue curVal;
         // Resource Type
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_RESOURCE_TYPE, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find resource type tag");
         if (cbor_value_is_valid(&curVal))
         {
             err =  OCParseStringLL(rootValue, OC_RSRVD_RESOURCE_TYPE, &out->types);
@@ -369,6 +374,7 @@ static OCStackResult OCParseDevicePayload(OCPayload **outPayload, CborValue *roo
         // Device ID
         size_t len = 0;
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_DEVICE_ID, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find device id tag");
         if (cbor_value_is_valid(&curVal))
         {
             if (cbor_value_is_byte_string(&curVal))
@@ -384,6 +390,7 @@ static OCStackResult OCParseDevicePayload(OCPayload **outPayload, CborValue *roo
         }
         // Device Name
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_DEVICE_NAME, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find device name tag");
         if (cbor_value_is_valid(&curVal))
         {
             err = cbor_value_dup_text_string(&curVal, &out->deviceName, &len, NULL);
@@ -391,6 +398,7 @@ static OCStackResult OCParseDevicePayload(OCPayload **outPayload, CborValue *roo
         }
         // Device Spec Version
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_SPEC_VERSION, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find spec ver tag");
         if (cbor_value_is_valid(&curVal))
         {
             err = cbor_value_dup_text_string(&curVal, &out->specVersion, &len, NULL);
@@ -398,6 +406,7 @@ static OCStackResult OCParseDevicePayload(OCPayload **outPayload, CborValue *roo
         }
         // Data Model Version
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_DATA_MODEL_VERSION, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find data model ver tag");
         if (cbor_value_is_valid(&curVal))
         {
             err = cbor_value_dup_text_string(&curVal, &out->dataModelVersion, &len, NULL);
@@ -434,6 +443,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
 
         // Platform ID
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_PLATFORM_ID, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find platform id tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.platformID), &len, NULL);
@@ -441,6 +451,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
          // MFG Name
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_MFG_NAME, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find mfg name tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.manufacturerName), &len, NULL);
@@ -448,6 +459,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // MFG URL
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_MFG_URL, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find mfg url tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.manufacturerUrl), &len, NULL);
@@ -455,6 +467,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // Model Num
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_MODEL_NUM, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find model num tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.modelNumber), &len, NULL);
@@ -462,6 +475,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // Date of Mfg
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_MFG_DATE, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find mfg date tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.dateOfManufacture), &len, NULL);
@@ -469,6 +483,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // Platform Version
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_PLATFORM_VERSION, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find platform ver tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.platformVersion), &len, NULL);
@@ -476,6 +491,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // OS Version
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_OS_VERSION, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find os ver tag");
         if (cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.operatingSystemVersion), &len, NULL);
@@ -483,6 +499,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // Hardware Version
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_HARDWARE_VERSION, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find hw ver tag");
         if(cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.hardwareVersion), &len, NULL);
@@ -490,6 +507,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // Firmware Version
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_FIRMWARE_VERSION, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find fw ver tag");
         if(cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.firmwareVersion), &len, NULL);
@@ -497,6 +515,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // Support URL
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_SUPPORT_URL, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find support url tag");
         if(cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.supportUrl), &len, NULL);
@@ -504,6 +523,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
         }
         // System Time
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_SYSTEM_TIME, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find sys time tag");
         if(cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &(info.systemTime), &len, NULL);
@@ -512,6 +532,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
 
         // Resource type
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_RESOURCE_TYPE, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find resource type tag");
         if(cbor_value_is_valid(&repVal))
         {
             err = cbor_value_dup_text_string(&repVal, &rt, &len, NULL);
@@ -520,6 +541,7 @@ static OCStackResult OCParsePlatformPayload(OCPayload **outPayload, CborValue *r
 
         // Interface Types
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_INTERFACE, &repVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find interface tag");
         if(cbor_value_is_valid(&repVal))
         {
             err =  OCParseStringLL(rootValue, OC_RSRVD_INTERFACE, &interfaces);
@@ -1021,6 +1043,7 @@ static OCStackResult OCParseRepPayload(OCPayload **outPayload, CborValue *root)
     if (cbor_value_is_array(root))
     {
         err = cbor_value_enter_container(root, &rootMap);
+        VERIFY_CBOR_SUCCESS(TAG, err, "Failed entering repMap");
     }
     while (cbor_value_is_valid(&rootMap))
     {
@@ -1034,6 +1057,7 @@ static OCStackResult OCParseRepPayload(OCPayload **outPayload, CborValue *root)
         if (cbor_value_is_map(&rootMap))
         {
             err = cbor_value_map_find_value(&rootMap, OC_RSRVD_HREF, &curVal);
+            VERIFY_CBOR_SUCCESS(TAG, err, "to find href tag");
             if (cbor_value_is_valid(&curVal))
             {
                 size_t len = 0;
@@ -1131,6 +1155,7 @@ static OCStackResult OCParsePresencePayload(OCPayload **outPayload, CborValue *r
 
         // Resource type name
         err = cbor_value_map_find_value(rootValue, OC_RSRVD_RESOURCE_TYPE, &curVal);
+        VERIFY_CBOR_SUCCESS(TAG, err, "to find res type tag");
         if (cbor_value_is_valid(&curVal))
         {
             size_t len = 0;
index 095bb0e25a8f83f7a6e55597cb07c180ca78682a..9fad82842a98b161455c6783945b274d5a2c5a02 100644 (file)
@@ -88,9 +88,9 @@ devicediscoveryclient = examples_env.Program('devicediscoveryclient', 'devicedis
 threadingsample = examples_env.Program('threadingsample', 'threadingsample.cpp')
 
 clientjson = examples_env.Install(env.get('BUILD_DIR') + '/resource/examples/',
-                               env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client.json')
+                               env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client.dat')
 serverjson = examples_env.Install(env.get('BUILD_DIR') + '/resource/examples/',
-                               env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_server.json')
+                               env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_server.dat')
 Alias("examples", [simpleserver, simpleclient,
                simpleserverHQ, simpleclientHQ,
                fridgeserver, fridgeclient,
index 9de47b8062850c79acfee7fb5885ef30509e9b63..6feb47306b76262d21a012636b880e11d260bbb4 100644 (file)
Binary files a/resource/examples/oic_svr_db_client.dat and b/resource/examples/oic_svr_db_client.dat differ
index e90383974d39df811409ddac774a68d854a6ce3c..6834a79f2e56ed2bc7fd42c417acb1f4ef90f058 100644 (file)
Binary files a/resource/examples/oic_svr_db_server.dat and b/resource/examples/oic_svr_db_server.dat differ
index e43618a79691ef5378cc724df32d5b0e7e63571e..07d55f0dba9bde41aed250a1acca08381a9eacfa 100644 (file)
@@ -31,6 +31,7 @@
 
 using namespace OC;
 
+static const char* SVR_DB_FILE_NAME = "./oic_svr_db_client.dat";
 typedef std::map<OCResourceIdentifier, std::shared_ptr<OCResource>> DiscoveredResourceMap;
 
 DiscoveredResourceMap discoveredResources;
@@ -432,7 +433,7 @@ void checkObserverValue(int value)
 
 static FILE* client_open(const char* /*path*/, const char *mode)
 {
-    return fopen("./oic_svr_db_client.json", mode);
+    return fopen(SVR_DB_FILE_NAME, mode);
 }
 
 int main(int argc, char* argv[]) {
index e98be52e6d1539d90e7139640298addde99385b9..97a60747f478efc005ca2bb26629d56a52de64f7 100644 (file)
@@ -36,6 +36,7 @@ using namespace OC;
 using namespace std;
 namespace PH = std::placeholders;
 
+static const char* SVR_DB_FILE_NAME = "./oic_svr_db_server.dat";
 int gObservation = 0;
 void * ChangeLightRepresentation (void *param);
 void * handleSlowResponse (void *param, std::shared_ptr<OCResourceRequest> pRequest);
@@ -484,7 +485,7 @@ void PrintUsage()
 
 static FILE* client_open(const char* /*path*/, const char *mode)
 {
-    return fopen("./oic_svr_db_server.json", mode);
+    return fopen(SVR_DB_FILE_NAME, mode);
 }
 
 int main(int argc, char* argv[])
index 39220b35a63d4b4f8390b09a3473cab90ad43b6f..f2db5df553781d8e6bdd58ba14205712d169cb8b 100644 (file)
@@ -27,6 +27,7 @@ namespace OCPlatformTest
 {
     using namespace OC;
 
+    static const char* SVR_DB_FILE_NAME = "./oic_svr_db_server.dat";
     const OCResourceHandle HANDLE_ZERO = 0;
     const std::string gResourceTypeName = "core.res";
     const std::string gResourceInterface = DEFAULT_INTERFACE;
@@ -36,9 +37,9 @@ namespace OCPlatformTest
     //OCPersistent Storage Handlers
     static FILE* client_open(const char * /*path*/, const char *mode)
     {
-        std::cout << "<===Opening SVR DB file = './oic_svr_db_client.json' with mode = '" << mode
+        std::cout << "<===Opening SVR DB file = './oic_svr_db_client.dat' with mode = '" << mode
                 << "' " << std::endl;
-        return fopen("./oic_svr_db_client.json", mode);
+        return fopen(SVR_DB_FILE_NAME, mode);
     }
     OCPersistentStorage gps {client_open, fread, fwrite, fclose, unlink };
 
index 65b0921d825cb8ef6f9623db01f252f7a3c02bb3..bb02198bc07b0315106e2eca6f2a957e83900553 100644 (file)
@@ -92,4 +92,4 @@ svr_db_build_dir = os.path.join(env.get('BUILD_DIR'), 'resource/unittests/')
 unittests_env.Alias("install",
                     unittests_env.Install(svr_db_build_dir,
                                           os.path.join(svr_db_src_dir,
-                                                       'oic_svr_db_client.json')))
+                                                       'oic_svr_db_client.dat')))
index 9b72899c99e0ec76d51d52d69d00d25786d00cf0..c46e706019f878b7ca86492f7f82a32a73f6e528 100644 (file)
@@ -152,8 +152,8 @@ cp out/tizen/*/%{build_mode}/resource/examples/simpleclientserver %{ex_install_d
 cp out/tizen/*/%{build_mode}/resource/examples/simpleserver %{ex_install_dir}
 cp out/tizen/*/%{build_mode}/resource/examples/simpleserverHQ %{ex_install_dir}
 cp out/tizen/*/%{build_mode}/resource/examples/threadingsample %{ex_install_dir}
-cp out/tizen/*/%{build_mode}/resource/examples/oic_svr_db_server.json %{ex_install_dir}
-cp out/tizen/*/%{build_mode}/resource/examples/oic_svr_db_client.json %{ex_install_dir}
+cp out/tizen/*/%{build_mode}/resource/examples/oic_svr_db_server.dat %{ex_install_dir}
+cp out/tizen/*/%{build_mode}/resource/examples/oic_svr_db_client.dat %{ex_install_dir}
 cp out/tizen/*/%{build_mode}/libcoap.a %{buildroot}%{_libdir}
 %if 0%{?SECURED} == 1
 mkdir -p %{ex_install_dir}/provisioning