From f2d3b2d7a8d5d1e54806062d09fb4df48289d963 Mon Sep 17 00:00:00 2001 From: Jihun Ha Date: Wed, 14 Dec 2016 15:44:40 +0900 Subject: [PATCH] Update a logic to utilize newly developed security APIs. A patch for security APIs is submitted: https://gerrit.iotivity.org/gerrit/#/c/15577/ With this patch, some points in easy setup can utilize the new APIs for more correct decision. Change-Id: I3b570f7f28d587ef39a0323f6d39294c0a391568 Signed-off-by: Jihun Ha Reviewed-on: https://gerrit.iotivity.org/gerrit/15581 Tested-by: jenkins-iotivity Reviewed-by: Uze Choi (cherry picked from commit bb947106af8e4b51603cc82c40f96b7c43283dd6) Reviewed-on: https://gerrit.iotivity.org/gerrit/16013 --- service/easy-setup/mediator/richsdk/inc/ESRichCommon.h | 11 +++++++---- service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp | 10 ++++++---- .../sampleapp/mediator/linux/richsdk_sample/mediator.cpp | 5 ++++- .../sampleapp/mediator/linux/richsdk_sample/submediator.cpp | 6 +++++- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/service/easy-setup/mediator/richsdk/inc/ESRichCommon.h b/service/easy-setup/mediator/richsdk/inc/ESRichCommon.h index 7c1e8c3..4ba1249 100755 --- a/service/easy-setup/mediator/richsdk/inc/ESRichCommon.h +++ b/service/easy-setup/mediator/richsdk/inc/ESRichCommon.h @@ -523,11 +523,14 @@ namespace OIC { m_devUUID = resource->getDeviceID(); m_isOwned = resource->getOwnedStatus(); +#ifdef MULTIPLE_OWNER + m_isMOTEnabled = resource->isMOTEnabled(); +#endif - // TODO - // When severAPIs in OCSecureResource for getting a list of supported methods or - // status of MOT support, a code for setting this information will be implemeted. - m_selectedOTMethod = OIC_JUST_WORKS; + if( OC_STACK_OK != resource->getOTMethod(&m_selectedOTMethod) ) + { + m_selectedOTMethod = OIC_OXM_COUNT; // Out-of-range + } } } diff --git a/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp b/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp index d78e542..d9d1b47 100755 --- a/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp +++ b/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp @@ -424,7 +424,8 @@ namespace OIC return res; } #ifdef MULTIPLE_OWNER - if( // m_securedResource->isMOTSupported() && //not provided, yet + if( m_securedResource->isMOTSupported() && + m_securedResource->isMOTEnabled() && OIC_PRECONFIG_PIN == m_ownershipTransferData.getMOTMethod() && !m_ownershipTransferData.getPreConfiguredPin().empty()) { @@ -456,9 +457,10 @@ namespace OIC } } - if(// m_securedResource->isMOTSupported() && //not provided, yet - OIC_PRECONFIG_PIN == m_ownershipTransferData.getMOTMethod() || - OIC_RANDOM_DEVICE_PIN == m_ownershipTransferData.getMOTMethod()) + if( m_securedResource->isMOTSupported() && + m_securedResource->isMOTEnabled() && + (OIC_PRECONFIG_PIN == m_ownershipTransferData.getMOTMethod() || + OIC_RANDOM_DEVICE_PIN == m_ownershipTransferData.getMOTMethod())) { OC::ResultCallBack selectMOTMethodCB = std::bind( &EnrolleeSecurity::onEnrolleeSecuritySafetyCB, diff --git a/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/mediator.cpp b/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/mediator.cpp index 32f7b54..082b74a 100755 --- a/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/mediator.cpp +++ b/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/mediator.cpp @@ -100,9 +100,11 @@ ESOwnershipTransferData provisionSecurityStatusCallback(std::shared_ptrgetESResult() == ES_SECURE_RESOURCE_IS_DISCOVERED) { -#if defined(__WITH_DTLS__) && defined(MULTIPLE_OWNER) +#ifdef __WITH_DTLS__ cout << "Owned Status : " << secProvisioningStatus->isOwnedDevice() << std::endl; cout << "OT Method : " << secProvisioningStatus->getSelectedOTMethod() << std::endl; +#ifdef MULTIPLE_OWNER + cout << "MOT Enabled : " << secProvisioningStatus->isMOTEnabled() << std::endl; // TEST ESOwnershipTransferData OTData; @@ -113,6 +115,7 @@ ESOwnershipTransferData provisionSecurityStatusCallback(std::shared_ptrgetESResult() == ES_OK) { diff --git a/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/submediator.cpp b/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/submediator.cpp index dacc552..b548475 100755 --- a/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/submediator.cpp +++ b/service/easy-setup/sampleapp/mediator/linux/richsdk_sample/submediator.cpp @@ -100,9 +100,11 @@ ESOwnershipTransferData provisionSecurityStatusCallback(std::shared_ptrgetESResult() == ES_SECURE_RESOURCE_IS_DISCOVERED) { -#if defined(__WITH_DTLS__) && defined(MULTIPLE_OWNER) +#ifdef __WITH_DTLS__ cout << "Owned Status : " << secProvisioningStatus->isOwnedDevice() << std::endl; cout << "OT Method : " << secProvisioningStatus->getSelectedOTMethod() << std::endl; +#ifdef MULTIPLE_OWNER + cout << "MOT Enabled : " << secProvisioningStatus->isMOTEnabled() << std::endl; // TEST ESOwnershipTransferData OTData; @@ -113,6 +115,8 @@ ESOwnershipTransferData provisionSecurityStatusCallback(std::shared_ptrgetESResult() == ES_OK) { -- 2.7.4