fixed bug.
authorHeewon Park <h_w.park@samsung.com>
Wed, 3 Aug 2016 09:20:34 +0000 (18:20 +0900)
committerMadan Lanka <lanka.madan@samsung.com>
Thu, 4 Aug 2016 01:54:12 +0000 (01:54 +0000)
 - when the security provisioning failed, devUUID which is using for callback is set nullptr.
   so ouccured some bug.

Change-Id: I9ddd7617c349ebbca5750125e5c94f382881b193
Signed-off-by: Heewon Park <h_w.park@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/9941
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
service/easy-setup/inc/escommon.h
service/easy-setup/mediator/richsdk/inc/EnrolleeSecurity.h
service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp
service/easy-setup/mediator/richsdk/src/RemoteEnrollee.cpp

index 9eb03d9..1aa1a3a 100755 (executable)
@@ -139,7 +139,8 @@ typedef enum
     ES_RECVREQOFNETRES,
     ES_RECVUPDATEOFPROVRES,
     ES_RECVTRIGGEROFPROVRES,
-    ES_UNAUTHORIZED = 31
+    ES_UNAUTHORIZED = 31,
+    ES_UNSUPPORTED_OPERATION = 41
 } ESResult;
 
 /**
index 1559fa3..4375810 100755 (executable)
@@ -52,6 +52,7 @@ namespace OIC
                     SecurityPinCb securityPinCb, SecProvisioningDbPathCb secProvisioningDbPathCb);
             void performOwnershipTransfer();
             ESResult performACLProvisioningForCloudServer(std::string cloudUuid);
+            std::string getUUID() const;
 
         private:
             std::shared_ptr< OC::OCResource > m_ocResource;
@@ -65,7 +66,6 @@ namespace OIC
             bool aclResult;
 
             std::shared_ptr< OC::OCSecureResource > m_securedResource;
-
             std::shared_ptr< OC::OCSecureResource > getEnrollee(OC::DeviceList_t &list);
             void ownershipTransferCb(OC::PMResultList_t *result, int hasError);
             void convertUUIDToString(OicUuid_t uuid, std::string& uuidString);
index 97fd68c..f6a76a5 100755 (executable)
@@ -311,6 +311,11 @@ namespace OIC
             return res;
         }
 
+        std::string EnrolleeSecurity::getUUID() const
+        {
+            return m_ocResource->sid();
+        };
+
         OicSecAcl_t* EnrolleeSecurity::createAcl(OicUuid_t cloudUuid)
         {
             // allocate memory for |acl| struct
index 73cef4d..0bb5b93 100755 (executable)
@@ -244,8 +244,9 @@ namespace OIC
                         "Exception for performOwnershipTransfer : %s", e.what());
 
                 OIC_LOG(DEBUG,ES_REMOTE_ENROLLEE_TAG,"Fail performOwnershipTransfer");
-                    std::shared_ptr< SecProvisioningStatus > securityProvisioningStatus =
-                            std::make_shared< SecProvisioningStatus >(nullptr, ES_ERROR);
+                std::shared_ptr< SecProvisioningStatus > securityProvisioningStatus =
+                        std::make_shared< SecProvisioningStatus >
+                                                        (m_enrolleeSecurity->getUUID(), ES_ERROR);
                     m_securityProvStatusCb(securityProvisioningStatus);
                 return ;
             }
@@ -253,7 +254,8 @@ namespace OIC
             OIC_LOG(DEBUG,ES_REMOTE_ENROLLEE_TAG,"Mediator is unsecured.");
 
             std::shared_ptr< SecProvisioningStatus > securityProvisioningStatus =
-                     std::make_shared< SecProvisioningStatus >(nullptr, ES_ERROR);
+                     std::make_shared< SecProvisioningStatus >
+                                                        ("", ES_UNSUPPORTED_OPERATION);
             m_securityProvStatusCb(securityProvisioningStatus);
 #endif
         }