#define TAG "OXM_JustWorks"
-char* CreateJustWorksSelectOxmPayload(OTMContext_t* otmCtx)
+OCStackResult CreateJustWorksSelectOxmPayload(OTMContext_t *otmCtx, uint8_t **payload, size_t *size)
{
- if(!otmCtx || !otmCtx->selectedDeviceInfo)
+ if (!otmCtx || !otmCtx->selectedDeviceInfo || !payload || *payload || !size)
{
- return NULL;
+ return OC_STACK_INVALID_PARAM;
}
otmCtx->selectedDeviceInfo->doxm->oxmSel = OIC_JUST_WORKS;
- return BinToDoxmJSON(otmCtx->selectedDeviceInfo->doxm);
+ *payload = NULL;
+ *size = 0;
+
+ return DoxmToCBORPayload(otmCtx->selectedDeviceInfo->doxm, payload, size);
}
-char* CreateJustWorksOwnerTransferPayload(OTMContext_t* otmCtx)
+OCStackResult CreateJustWorksOwnerTransferPayload(OTMContext_t* otmCtx, uint8_t **payload, size_t *size)
{
- if(!otmCtx || !otmCtx->selectedDeviceInfo)
+ if (!otmCtx || !otmCtx->selectedDeviceInfo || !payload || *payload || !size)
{
- return NULL;
+ return OC_STACK_INVALID_PARAM;
}
OicUuid_t uuidPT = {.id={0}};
if (OC_STACK_OK != GetDoxmDeviceID(&uuidPT))
{
- OC_LOG(ERROR, TAG, "Error while retrieving provisioning tool's device ID");
- return NULL;
+ OIC_LOG(ERROR, TAG, "Error while retrieving provisioning tool's device ID");
+ return OC_STACK_ERROR;
}
memcpy(otmCtx->selectedDeviceInfo->doxm->owner.id, uuidPT.id , UUID_LENGTH);
- otmCtx->selectedDeviceInfo->doxm->owned = true;
- return BinToDoxmJSON(otmCtx->selectedDeviceInfo->doxm);
+ *payload = NULL;
+ *size = 0;
+
+ return DoxmToCBORPayload(otmCtx->selectedDeviceInfo->doxm, payload, size);
}
OCStackResult LoadSecretJustWorksCallback(OTMContext_t* UNUSED_PARAM)
OCStackResult CreateSecureSessionJustWorksCallback(OTMContext_t* otmCtx)
{
- OC_LOG(INFO, TAG, "IN CreateSecureSessionJustWorksCallback");
- if(!otmCtx || !otmCtx->selectedDeviceInfo)
+ OIC_LOG(INFO, TAG, "IN CreateSecureSessionJustWorksCallback");
+ if (!otmCtx || !otmCtx->selectedDeviceInfo)
{
return OC_STACK_INVALID_PARAM;
}
CAResult_t caresult = CAEnableAnonECDHCipherSuite(true);
if (CA_STATUS_OK != caresult)
{
- OC_LOG_V(ERROR, TAG, "Unable to enable anon cipher suite");
+ OIC_LOG_V(ERROR, TAG, "Unable to enable anon cipher suite");
return OC_STACK_ERROR;
}
- OC_LOG(INFO, TAG, "Anonymous cipher suite Enabled.");
+ OIC_LOG(INFO, TAG, "Anonymous cipher suite Enabled.");
caresult = CASelectCipherSuite(TLS_ECDH_anon_WITH_AES_128_CBC_SHA_256);
if (CA_STATUS_OK != caresult)
{
- OC_LOG_V(ERROR, TAG, "Failed to select TLS_ECDH_anon_WITH_AES_128_CBC_SHA_256");
+ OIC_LOG_V(ERROR, TAG, "Failed to select TLS_ECDH_anon_WITH_AES_128_CBC_SHA_256");
caresult = CAEnableAnonECDHCipherSuite(false);
if (CA_STATUS_OK != caresult)
{
- OC_LOG_V(ERROR, TAG, "Unable to enable anon cipher suite");
+ OIC_LOG_V(ERROR, TAG, "Unable to enable anon cipher suite");
}
else
{
- OC_LOG(INFO, TAG, "Anonymous cipher suite Disabled.");
+ OIC_LOG(INFO, TAG, "Anonymous cipher suite Disabled.");
}
return OC_STACK_ERROR;
}
- OC_LOG(INFO, TAG, "TLS_ECDH_anon_WITH_AES_128_CBC_SHA_256 cipher suite selected.");
+ OIC_LOG(INFO, TAG, "TLS_ECDH_anon_WITH_AES_128_CBC_SHA_256 cipher suite selected.");
- OCProvisionDev_t* selDevInfo = otmCtx->selectedDeviceInfo;
+ OCProvisionDev_t *selDevInfo = otmCtx->selectedDeviceInfo;
CAEndpoint_t *endpoint = (CAEndpoint_t *)OICCalloc(1, sizeof (CAEndpoint_t));
if(NULL == endpoint)
{
return OC_STACK_NO_MEMORY;
}
- memcpy(endpoint,&selDevInfo->endpoint,sizeof(CAEndpoint_t));
+ memcpy(endpoint, &selDevInfo->endpoint, sizeof(CAEndpoint_t));
endpoint->port = selDevInfo->securePort;
caresult = CAInitiateHandshake(endpoint);
OICFree(endpoint);
if (CA_STATUS_OK != caresult)
{
- OC_LOG_V(ERROR, TAG, "DTLS handshake failure.");
+ OIC_LOG_V(ERROR, TAG, "DTLS handshake failure.");
return OC_STACK_ERROR;
}
- OC_LOG(INFO, TAG, "OUT CreateSecureSessionJustWorksCallback");
+ OIC_LOG(INFO, TAG, "OUT CreateSecureSessionJustWorksCallback");
return OC_STACK_OK;
}