From e9e91caab194667d619e90abcab3c4f17aff7e08 Mon Sep 17 00:00:00 2001 From: "Hongkuk, Son" Date: Thu, 25 Jan 2018 00:49:11 +0900 Subject: [PATCH] Update snapshot(2018-01-24) Signed-off-by: Hongkuk, Son Change-Id: Ibdaa01124bffca9512ee93aaa0045e5f91effd0c --- packaging/snapshot_history.txt | 6 ++++++ resource/csdk/stack/include/ocstack.h | 2 +- resource/csdk/stack/src/ocobserve.c | 12 ++++++------ resource/csdk/stack/src/ocstack.c | 9 ++++++--- resource/src/InProcClientWrapper.cpp | 21 +++++++++++---------- resource/src/InProcServerWrapper.cpp | 7 ++++--- .../tizen-sdb/EnrolleeSample/scons/SConscript | 4 ++-- 7 files changed, 36 insertions(+), 25 deletions(-) diff --git a/packaging/snapshot_history.txt b/packaging/snapshot_history.txt index 11da922..20e9d1c 100755 --- a/packaging/snapshot_history.txt +++ b/packaging/snapshot_history.txt @@ -1,3 +1,9 @@ +http://suprem.sec.samsung.net/jira/browse/CONPRO-1206 + +commit_info_2018-01-24.txt + +commit_id: 20b205f88e5f8262604dc7205e14b5749309edef +---------------------------------------------------------------------------------------------------------------------------------- http://suprem.sec.samsung.net/jira/browse/CONPRO-1198 commit_info_2018-01-17.txt diff --git a/resource/csdk/stack/include/ocstack.h b/resource/csdk/stack/include/ocstack.h index b541552..3ee7ec3 100644 --- a/resource/csdk/stack/include/ocstack.h +++ b/resource/csdk/stack/include/ocstack.h @@ -693,7 +693,7 @@ OCStackResult OCSetHeaderOption(OCHeaderOption* ocHdrOpt, size_t* numOptions, uint16_t optionID, - void* optionData, + const void* optionData, size_t optionDataLength); /** diff --git a/resource/csdk/stack/src/ocobserve.c b/resource/csdk/stack/src/ocobserve.c index 4fa079b..9fde469 100644 --- a/resource/csdk/stack/src/ocobserve.c +++ b/resource/csdk/stack/src/ocobserve.c @@ -598,8 +598,10 @@ ResourceObserver* GetObserverUsingId (const OCObservationId observeId) { if (out->observeId == observeId) { + OIC_LOG(INFO, TAG, "Found in observer list"); + ResourceObserver *observer = CloneObserverNode(out); oc_mutex_unlock(g_serverObsListMutex); - return CloneObserverNode(out); + return observer; } CheckTimedOutObserver(out); } @@ -872,16 +874,16 @@ GetObserveHeaderOption (uint32_t * observationOption, return OC_STACK_OK; } -OCStackResult InitializeObseverList() +OCStackResult InitializeObserverList() { - OIC_LOG(DEBUG, TAG, "InitializeObseverList IN"); + OIC_LOG(DEBUG, TAG, "InitializeObserverList IN"); if (NULL == g_serverObsListMutex) { g_serverObsListMutex = oc_mutex_new(); } - OIC_LOG(DEBUG, TAG, "InitializeObseverList OUT"); + OIC_LOG(DEBUG, TAG, "InitializeObserverList OUT"); return OC_STACK_OK; } @@ -889,8 +891,6 @@ void TerminateObserverList() { OIC_LOG(DEBUG, TAG, "TerminateObserverList IN"); - DeleteObserverList(); - if (NULL != g_serverObsListMutex) { oc_mutex_free(g_serverObsListMutex); diff --git a/resource/csdk/stack/src/ocstack.c b/resource/csdk/stack/src/ocstack.c index 8e7253f..3051ad9 100644 --- a/resource/csdk/stack/src/ocstack.c +++ b/resource/csdk/stack/src/ocstack.c @@ -2527,7 +2527,7 @@ OCStackResult OCInit2(OCMode mode, OCTransportFlags serverFlags, OCTransportFlag } #endif - InitializeObseverList(); + InitializeObserverList(); exit: if(result != OC_STACK_OK) @@ -2585,7 +2585,7 @@ OCStackResult OCStop() TerminateScheduleResourceList(); // Remove all observers - TerminateObserverList(); + DeleteObserverList(); // Free memory dynamically allocated for resources deleteAllResources(); // Remove all the client callbacks @@ -2597,6 +2597,9 @@ OCStackResult OCStop() // TODO after BeachHead delivery: consolidate into single SRMDeInit() SRMDeInitPolicyEngine(); + // Destroy Observer List Mutex + TerminateObserverList(); + stackState = OC_STACK_UNINITIALIZED; return OC_STACK_OK; } @@ -5333,7 +5336,7 @@ OCStackResult OCGetResourceIns(OCResourceHandle handle, int64_t *ins) #endif OCStackResult OCSetHeaderOption(OCHeaderOption* ocHdrOpt, size_t* numOptions, uint16_t optionID, - void* optionData, size_t optionDataLength) + const void* optionData, size_t optionDataLength) { if (!ocHdrOpt) { diff --git a/resource/src/InProcClientWrapper.cpp b/resource/src/InProcClientWrapper.cpp index b4a2af8..ee47425 100644 --- a/resource/src/InProcClientWrapper.cpp +++ b/resource/src/InProcClientWrapper.cpp @@ -1571,18 +1571,19 @@ namespace OC return nullptr; } - OCHeaderOption* options = new OCHeaderOption[headerOptions.size()]; - int i = 0; + OCHeaderOption* options = new OCHeaderOption[headerOptions.size()](); + + size_t numOptions = 0; for (auto it=headerOptions.begin(); it != headerOptions.end(); ++it) { - options[i] = OCHeaderOption(); - options[i].protocolID = OC_COAP_ID; - options[i].optionID = it->getOptionID(); - options[i].optionLength = it->getOptionData().length() + 1; - strncpy((char*)options[i].optionData, it->getOptionData().c_str(), - sizeof(options[i].optionLength) -1 ); - options[i].optionData[sizeof(options[i].optionLength) - 1] = 0; - i++; + OCStackResult ret = OCSetHeaderOption(options, &numOptions, it->getOptionID(), + it->getOptionData().c_str(), it->getOptionData().length()); + if (OC_STACK_OK != ret) + { + OIC_LOG_V(ERROR, TAG, "Failed to convert vnd header options! (error=%d)", ret); + delete[] options; + return nullptr; + } } return options; diff --git a/resource/src/InProcServerWrapper.cpp b/resource/src/InProcServerWrapper.cpp index 0659116..2766816 100644 --- a/resource/src/InProcServerWrapper.cpp +++ b/resource/src/InProcServerWrapper.cpp @@ -87,16 +87,17 @@ void formResourceRequest(OCEntityHandlerFlag flag, { //Set the header options here. uint16_t optionID; - std::string optionData; + char optionData[MAX_HEADER_OPTION_DATA_LENGTH + 1]; HeaderOptions headerOptions; + optionData[MAX_HEADER_OPTION_DATA_LENGTH] = '\0'; for(int i = 0; i < entityHandlerRequest->numRcvdVendorSpecificHeaderOptions; i++) { optionID = entityHandlerRequest->rcvdVendorSpecificHeaderOptions[i].optionID; - optionData = reinterpret_cast - (entityHandlerRequest->rcvdVendorSpecificHeaderOptions[i].optionData); + memcpy(optionData, entityHandlerRequest->rcvdVendorSpecificHeaderOptions[i].optionData, + MAX_HEADER_OPTION_DATA_LENGTH); HeaderOption::OCHeaderOption headerOption(optionID, optionData); headerOptions.push_back(headerOption); } diff --git a/service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/scons/SConscript b/service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/scons/SConscript index 56ae07b..a458081 100644 --- a/service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/scons/SConscript +++ b/service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/scons/SConscript @@ -43,10 +43,10 @@ elif routing == 'EP': env.AppendUnique(CPPDEFINES = ['ROUTING_EP']) env.Append(LIBS=['-lgobject-2.0', '-lglib-2.0', '-lgio-2.0', '-lgthread-2.0']) -env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction','coap', 'libESEnrolleeSDK','pthread']) +env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'libESEnrolleeSDK','pthread']) if secured == '1': env.PrependUnique(CPPPATH = [root_dir + '/external/inc/']) env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__']) -env.Program('enrollee_wifi', [sample_dir + 'enrolleewifi.cpp', sample_dir + 'easysetup_wifi_conn.c']) \ No newline at end of file +env.Program('enrollee_wifi', [sample_dir + 'enrolleewifi.cpp', sample_dir + 'easysetup_wifi_conn.c']) -- 2.7.4