This package has been fairly unmaintained. I doubt anyone uses this.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
+++ /dev/null
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=iotivity
-PKG_VERSION:=1.2.1
-PKG_RELEASE:=2
-
-PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
-PKG_SOURCE_URL:=http://mirrors.kernel.org/${PKG_NAME}/${PKG_VERSION}/
-PKG_HASH:=7dcd9f0f48263c6b27a2c3d085dd7278b5c0feed1dfec8872a04899707fa23d8
-PKG_USE_MIPS16:=0
-
-PKG_BUILD_DEPENDS:=boost python/host scons/host
-
-PKG_MAINTAINER:=Hauke Mehrtens <hauke.mehrtens@intel.com>
-
-PKG_LICENSE:=Apache-2.0
-PKG_LICENSE_FILES:=LICENSE.md
-
-PKG_CONFIG_DEPENDS := \
- CONFIG_PACKAGE_iotivity \
- CONFIG_PACKAGE_iotivity-cpp \
- CONFIG_PACKAGE_iotivity-resource-directory-lib \
- CONFIG_PACKAGE_iotivity-oic-middle \
- CONFIG_PACKAGE_iotivity-resource-container-lib \
- CONFIG_PACKAGE_iotivity-resource-container-sample \
- CONFIG_PACKAGE_iotivity-resource-container-hue \
- CONFIG_PACKAGE_iotivity-example-garage \
- CONFIG_PACKAGE_iotivity-example-simple \
- CONFIG_PACKAGE_iotivity_DEBUG \
- CONFIG_PACKAGE_iotivity_SECURE
-
-include $(INCLUDE_DIR)/package.mk
-include ../../devel/scons/scons.mk
-
-
-define Package/iotivity
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=@!USE_UCLIBC +libpthread +librt +libuuid +libsqlite3 +PACKAGE_iotivity_SECURE:libmbedtls
- TITLE:=IoTivity C Library
- URL:=https://www.iotivity.org
- MENU:=1
-endef
-
-define Package/iotivity/description
- IoTivity is a framework for the Internet of Things based on the
- Open Interconnect Consortium Specification.
-endef
-
-define Package/iotivity/config
- if PACKAGE_iotivity
- config PACKAGE_iotivity_DEBUG
- bool "IoTivity with debug support"
- help
- Build IoTivity with debuging support.
-
- config PACKAGE_iotivity_SECURE
- bool "IoTivity with security support"
- help
- Activate security support.
-
- config PACKAGE_iotivity_LOGGING
- bool "IoTivity with logging support"
- default y
- help
- Activate logging support.
- This will make IoTivity write a lot of log messages to stdout.
- endif
-endef
-
-
-define Package/iotivity-cpp
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +libpthread +libstdcpp
- TITLE:=IoTivity C++ Library
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-cpp/description
- IoTivity is a framework for the Internet of Things based on the
- Open Interconnect Consortium Specification.
-endef
-
-define Package/iotivity-resource-directory-lib
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-cpp
- TITLE:=IoTivity Resource Directory library
- URL:=https://www.iotivity.org
-endef
-
-
-define Package/iotivity-oic-middle
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-cpp +iotivity-resource-directory-lib
- TITLE:=IoTivity OIC Middle
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-oic-middle/description
- IoTivity OIC Middle
-endef
-
-define Package/iotivity-resource-container-lib
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-cpp +boost +boost-system +boost-thread +boost-date_time
- TITLE:=IoTivity Resource Container library
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-resource-container-sample
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-resource-container-lib
- TITLE:=IoTivity Resource Container sample Application
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-resource-container-hue
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-resource-container-lib +libcurl
- TITLE:=IoTivity Resource Container Hue Bundle
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-example-garage
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-cpp +iotivity-resource-directory-lib
- TITLE:=IoTivity Garage example
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-example-garage/description
- An IoTivity example application
-endef
-
-define Package/iotivity-example-simple
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iotivity +iotivity-cpp +iotivity-resource-directory-lib
- TITLE:=IoTivity simple client + server
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-example-simple/description
- The IoTivity simple client and simple server exmaple
-endef
-
-
-PKG_TINYCBOR_NAME:=tinycbor
-PKG_TINYCBOR_PROTO:=git
-PKG_TINYCBOR_VERSION:=0.4
-PKG_TINYCBOR_SOURCE_VERSION:=a088996aa5f59b4f27f20fadad053d88bee357d4
-PKG_TINYCBOR_MIRROR_HASH:=77c600bd7362df8291148fa3d94ca780815ea2b74b817dca7565310ea0abff96
-PKG_TINYCBOR_SOURCE:=$(PKG_TINYCBOR_NAME)-$(PKG_TINYCBOR_VERSION).tar.bz2
-PKG_TINYCBOR_SOURCE_URL:=https://github.com/01org/tinycbor.git
-PKG_TINYCBOR_SUBDIR:=$(PKG_TINYCBOR_NAME)
-
-define Download/iotivity-tinycbor
- FILE:=$(PKG_TINYCBOR_SOURCE)
- URL:=$(PKG_TINYCBOR_SOURCE_URL)
- MIRROR_HASH:=$(PKG_TINYCBOR_MIRROR_HASH)
- PROTO:=$(PKG_TINYCBOR_PROTO)
- VERSION:=$(PKG_TINYCBOR_SOURCE_VERSION)
- SUBDIR:=$(PKG_TINYCBOR_SUBDIR)
-endef
-$(eval $(call Download,iotivity-tinycbor))
-
-
-EXTRA_CXXFLAGS += -std=gnu++11
-
-SCONS_OPTIONS += \
- TARGET_OS=linux \
- TARGET_TRANSPORT=IP \
- TARGET_ARCH=$(ARCH) \
- STAGING_DIR=$(STAGING_DIR) \
- WITH_ENV=true \
- octbstack oc \
- $(if $(CONFIG_PACKAGE_iotivity-oic-middle),examples) \
- $(if $(CONFIG_PACKAGE_iotivity-resource-container-lib),libResContainer) \
- $(if $(CONFIG_PACKAGE_iotivity-resource-container-sample),containersample) \
- $(if $(CONFIG_PACKAGE_iotivity-resource-container-hue),libHueBundle) \
- $(if $(CONFIG_PACKAGE_iotivity-example-garage),examples) \
- $(if $(CONFIG_PACKAGE_iotivity-example-simple),examples) \
- install
-
-ifeq ($(CONFIG_PACKAGE_iotivity_DEBUG),y)
- SCONS_OPTIONS += RELEASE=false
- APP_OPTIM:=debug
-else
- SCONS_OPTIONS += RELEASE=true
- APP_OPTIM:=release
-endif
-
-ifeq ($(CONFIG_PACKAGE_iotivity_SECURE),y)
- SCONS_OPTIONS += SECURED=1
-else
- SCONS_OPTIONS += SECURED=0
-endif
-
-ifeq ($(CONFIG_PACKAGE_iotivity_LOGGING),y)
- SCONS_OPTIONS += LOGGING=true
-endif
-
-ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
- SCONS_OPTIONS += VERBOSE=true
-endif
-
-define Build/Prepare
- $(call Build/Prepare/Default)
- $(TAR) -C $(PKG_BUILD_DIR)/extlibs/tinycbor/ -xjf $(DL_DIR)/$(PKG_TINYCBOR_SOURCE)
-endef
-
-
-define Build/Configure
- (cd $(PKG_BUILD_DIR); \
- $(SCONS_VARS) \
- python2.7 $(STAGING_DIR_HOSTPKG)/bin/scons \
- $(SCONS_OPTIONS) \
- )
-endef
-
-
-define Package/iotivity/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libconnectivity_abstraction.so $(1)/usr/lib/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboctbstack.so $(1)/usr/lib/
-ifeq ($(CONFIG_PACKAGE_iotivity_SECURE),y)
- $(INSTALL_DIR) $(1)/etc/iotivity/
- $(INSTALL_DATA) ./files/etc/iotivity/oic_svr_db.cbor $(1)/etc/iotivity/
-endif
-endef
-
-define Package/iotivity-cpp/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc.so $(1)/usr/lib/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc_logger.so $(1)/usr/lib/
-endef
-
-define Package/iotivity-resource-directory-lib/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libresource_directory.so $(1)/usr/lib/
-endef
-
-define Package/iotivity-oic-middle/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/examples/OICMiddle/OICMiddle $(1)/usr/bin/
-endef
-
-define Package/iotivity-resource-container-lib/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_common.so $(1)/usr/lib/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_client.so $(1)/usr/lib/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_server.so $(1)/usr/lib/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_container.so $(1)/usr/lib/
-endef
-
-define Package/iotivity-resource-container-sample/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/service/resource-container/ContainerSample $(1)/usr/bin/
-endef
-
-define Package/iotivity-resource-container-hue/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libHueBundle.so $(1)/usr/lib/
-endef
-
-define Package/iotivity-example-garage/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/garageclient $(1)/usr/bin/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/garageserver $(1)/usr/bin/
-endef
-
-define Package/iotivity-example-simple/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/simpleclient $(1)/usr/bin/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/simpleserver $(1)/usr/bin/
-endef
-
-define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/include $(1)/usr/include/iotivity
-
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libconnectivity_abstraction.so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboctbstack.so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc.so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc_logger.so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libresource_directory.so $(1)/usr/lib/
-endef
-
-
-$(eval $(call BuildPackage,iotivity))
-$(eval $(call BuildPackage,iotivity-cpp))
-$(eval $(call BuildPackage,iotivity-resource-directory-lib))
-$(eval $(call BuildPackage,iotivity-oic-middle))
-$(eval $(call BuildPackage,iotivity-resource-container-lib))
-$(eval $(call BuildPackage,iotivity-resource-container-sample))
-$(eval $(call BuildPackage,iotivity-resource-container-hue))
-$(eval $(call BuildPackage,iotivity-example-garage))
-$(eval $(call BuildPackage,iotivity-example-simple))
+++ /dev/null
-The file oic_svr_db.cbor in generated from the oic_svr_db.json with the
-resource/csdk/security/tool/json2cbor.c tool.
+++ /dev/null
-{
- "acl": {
- "aclist": {
- "aces": [
- {
- "subjectuuid": "*",
- "resources": [
- {
- "href": "/oic/res",
- "rel": "",
- "rt": ["oic.wk.res"],
- "if": ["oic.if.ll"]
- },
- {
- "href": "/oic/d",
- "rel": "",
- "rt": ["oic.wk.d"],
- "if": ["oic.if.baseline", "oic.if.r"]
- },
- {
- "href": "/oic/p",
- "rel": "",
- "rt": ["oic.wk.p"],
- "if": ["oic.if.baseline", "oic.if.r"]
- },
- {
- "href": "/oic/sec/acl",
- "rel": "",
- "rt": ["oic.r.acl"],
- "if": ["oic.if.baseline"]
- }
- ],
- "permission": 2
- },
- {
- "subjectuuid": "*",
- "resources": [
- {
- "href": "/oic/sec/doxm",
- "rel": "",
- "rt": ["oic.r.doxm"],
- "if": ["oic.if.baseline"]
- },
- {
- "href": "/oic/sec/pstat",
- "rel": "",
- "rt": ["oic.r.pstat"],
- "if": ["oic.if.baseline"]
- }
- ],
- "permission": 2
- },
- {
- "subjectuuid": "*",
- "resources": [
- {
- "href": "*",
- "rel": "",
- "rt": ["oic.core"],
- "if": ["oic.if.baseline"]
- }
- ],
- "permission": 7
- }
- ]
- },
- "rowneruuid" : "31313131-3131-3131-3131-313131313131"
- },
- "pstat": {
- "isop": true,
- "deviceuuid": "31313131-3131-3131-3131-313131313131",
- "rowneruuid": "31313131-3131-3131-3131-313131313131",
- "cm": 0,
- "tm": 0,
- "om": 4,
- "sm": 4
- },
- "doxm": {
- "oxms": [0],
- "oxmsel": 0,
- "sct": 1,
- "owned": true,
- "deviceuuid": "31313131-3131-3131-3131-313131313131",
- "devowneruuid": "32323232-3232-3232-3232-323232323232",
- "rowneruuid": "31313131-3131-3131-3131-313131313131"
- },
- "cred": {
- "creds": [
- {
- "credid": 1,
- "subjectuuid": "32323232-3232-3232-3232-323232323232",
- "credtype": 1,
- "privatedata": {
- "data": "AAAAAAAAAAAAAAAA",
- "encoding": "oic.sec.encoding.raw"
- }
- }
- ],
- "rowneruuid": "31313131-3131-3131-3131-313131313131"
- }
-}
+++ /dev/null
---- a/plugins/SConscript
-+++ b/plugins/SConscript
-@@ -35,7 +35,7 @@ if target_os not in ['android', 'arduino
-
- SConscript(os.path.join('src', 'SConscript'))
-
-- SConscript(os.path.join('unittests', 'SConscript'))
-+# SConscript(os.path.join('unittests', 'SConscript'))
-
- if build_sample == 'ON':
- if target_os in ['linux']:
---- a/resource/SConscript
-+++ b/resource/SConscript
-@@ -78,7 +78,7 @@ if target_os in ['linux', 'windows']:
- SConscript('csdk/stack/samples/linux/secure/SConscript')
-
- # Build C/C++ unit tests
-- SConscript('unit_tests.scons')
-+ # SConscript('unit_tests.scons')
-
- elif target_os == 'darwin':
- env.Command('../../out/darwin/iotivity-csdk.framework',None,src_dir + '/tools/darwin/mkfwk_osx.sh')
---- a/resource/csdk/resource-directory/SConscript
-+++ b/resource/csdk/resource-directory/SConscript
-@@ -114,8 +114,3 @@ if 'SERVER' in rd_mode:
- if target_os in ['linux']:
- SConscript('samples/SConscript')
-
--######################################################################
--# Build UnitTests of the Resource Directory
--################################################ ######################
--if target_os in ['linux']:
-- SConscript('unittests/SConscript')
---- a/service/coap-http-proxy/SConscript
-+++ b/service/coap-http-proxy/SConscript
-@@ -84,6 +84,3 @@ local_env.UserInstallTargetHeader('inclu
- ######################################################################
- if target_os in ['linux', 'tizen']:
- SConscript('samples/SConscript')
--
--if target_os in ['linux']:
-- SConscript('unittests/SConscript')
---- a/service/easy-setup/enrollee/SConscript
-+++ b/service/easy-setup/enrollee/SConscript
-@@ -123,7 +123,3 @@ if target_os == 'arduino':
-
- if target_os in ['linux']:
- SConscript('../sampleapp/enrollee/linux/SConscript')
-- #Build UnitTestcases for Enrollee
-- if enrollee_env.get('SECURED') == '0':
-- SConscript('../enrollee/unittests/SConscript')
--
---- a/service/easy-setup/mediator/richsdk/SConscript
-+++ b/service/easy-setup/mediator/richsdk/SConscript
-@@ -163,11 +163,3 @@ if target_os in ['linux']:
- if target_os in ['android']:
- SConscript('../../sampleapp/mediator/android/SConscript')
-
--
--######################################################################
--#Build UnitTestcases for Mediator[RichSDK]
--################################################ ######################
--if env.get('SECURED') == '0':
-- if target_os == 'linux':
-- SConscript('unittests/SConscript')
--
---- a/service/resource-container/SConscript
-+++ b/service/resource-container/SConscript
-@@ -223,12 +223,6 @@ else:
- lib_env = conf2.Finish()
-
- ######################################################################
--# build resource container unit tests
--######################################################################
--if target_os in ['linux']:
-- SConscript('unittests/SConscript')
--
--######################################################################
- # Build Container Sample
- ######################################################################
- if target_os not in ['ios']:
---- a/service/resource-encapsulation/SConscript
-+++ b/service/resource-encapsulation/SConscript
-@@ -121,14 +121,5 @@ resourceClient_env.UserInstallTargetHead
- ######################################################################
- SConscript('examples/SConscript')
-
--######################################################################
--# Build UnitTests Resource Client , resourceCache and resourceBroker and
--# DiscoveryManager
--################################################ ######################
--if target_os in ['linux']:
-- SConscript('unittests/SConscript')
-- SConscript('src/resourceCache/unittests/SConscript')
-- SConscript('src/resourceBroker/unittest/SConscript')
--
- if target_os == 'android':
- SConscript('android/SConscript')
---- a/service/resource-encapsulation/src/common/SConscript
-+++ b/service/resource-encapsulation/src/common/SConscript
-@@ -22,10 +22,10 @@
- # rcs_common (primitiveResource and expiryTimer) build script
- ##
- import os
-+Import('env')
-
- # SConscript file for Local PKI google tests
--gtest_env = SConscript('#extlibs/gtest/SConscript')
--lib_env = gtest_env.Clone()
-+lib_env = env.Clone()
-
- # Add third party libraries
- SConscript('#service/third_party_libs.scons', exports = 'lib_env')
---- a/service/resource-encapsulation/src/serverBuilder/SConscript
-+++ b/service/resource-encapsulation/src/serverBuilder/SConscript
-@@ -21,9 +21,11 @@
- ##
- # rcs_server (Server Builder) project build script
- ##
-+import os
-+Import('env')
-+
- # SConscript file for Local PKI google tests
--gtest_env = SConscript('#extlibs/gtest/SConscript')
--lib_env = gtest_env.Clone()
-+lib_env = env.Clone()
-
- # Add third party libraries
- SConscript('#service/third_party_libs.scons', exports = 'lib_env')
---- a/service/scene-manager/SConscript
-+++ b/service/scene-manager/SConscript
-@@ -100,9 +100,5 @@ scenemanager_env.UserInstallTargetHeader
- scenemanager_env.UserInstallTargetHeader('include/RemoteScene.h', 'service/scene-manager', 'RemoteScene.h')
- scenemanager_env.UserInstallTargetHeader('include/RemoteSceneAction.h', 'service/scene-manager', 'RemoteSceneAction.h')
-
--# Go to build Unit test
--if target_os in ['linux']:
-- SConscript('unittests/SConscript')
--
- # Go to build sample apps
- SConscript('sampleapp/SConscript')
+++ /dev/null
-From 51e26e002aa043435f94ac0f071066090d5c2de8 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 22 Jun 2015 20:23:36 +0200
-Subject: [PATCH 5/5] do not chck for boost
-
-Boost is not needed for every package just for some.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- service/third_party_libs.scons | 8 --------
- 1 file changed, 8 deletions(-)
-
---- a/service/third_party_libs.scons
-+++ b/service/third_party_libs.scons
-@@ -49,14 +49,6 @@ if target_os in ['linux']:
-
- conf = Configure(lib_env)
-
-- if target_os not in ['tizen'] and not conf.CheckLib('boost_thread', language='C++'):
-- print 'Did not find boost_thread, exiting!'
-- Exit(1)
--
-- if target_os not in ['tizen'] and not conf.CheckLib('boost_system', language='C++'):
-- print 'Did not find boost_system, exiting!'
-- Exit(1)
--
- lib_env = conf.Finish()
-
- ######################################################################
+++ /dev/null
-From dabd6597013e1df72b08621b466d136b8d25d110 Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@osg.samsung.com>
-Date: Thu, 29 Sep 2016 10:57:59 +0200
-Subject: [PATCH 20/23] linux: Add more architectures
-
-This does not scale and this check should be removed.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-Author: Hauke Mehrtens <hauke@hauke-m.de>
-Change-Id: Ibb271701904745ee4f5dd689c197228239c37262
-Origin: https://github.com/openwrt/packages/blob/master/net/iotivity/patches/021-add-some-more-architectures.patch
-Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/14575
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Nivedita Singhvi <niveditasinghvi@gmail.com>
-Reviewed-by: Jaehong Jo <jaehong.jo@samsung.com>
-Reviewed-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
----
- build_common/SConscript | 2 +-
- resource/csdk/connectivity/build/SConscript | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- a/build_common/SConscript
-+++ b/build_common/SConscript
-@@ -18,7 +18,7 @@ host_target_map = {
-
- # Map of os and allowed archs (os: allowed archs)
- os_arch_map = {
-- 'linux': ['x86', 'x86_64', 'arm', 'arm-v7a', 'armeabi-v7a', 'arm64'],
-+ 'linux': ['x86', 'x86_64', 'arm', 'arm-v7a', 'armeabi-v7a', 'arm64', 'mips', 'mipsel', 'mips64', 'mips64el', 'i386', 'powerpc', 'sparc', 'aarch64'],
- 'tizen': ['x86', 'x86_64', 'arm', 'arm-v7a', 'armeabi-v7a', 'arm64'],
- 'android': ['x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'armeabi-v7a-hard', 'arm64-v8a'],
- 'windows': ['x86', 'amd64', 'arm'],
---- a/resource/csdk/connectivity/build/SConscript
-+++ b/resource/csdk/connectivity/build/SConscript
-@@ -14,7 +14,7 @@ host_target_map = {
-
- # Map of os and allowed archs (os: allowed archs)
- os_arch_map = {
-- 'linux': ['x86', 'x86_64', 'arm', 'arm64'],
-+ 'linux': ['x86', 'x86_64', 'arm', 'arm64', 'mips', 'mipsel', 'mips64', 'mips64el', 'i386', 'powerpc', 'sparc', 'aarch64'],
- 'tizen': ['x86', 'x86_64', 'arm', 'arm64'],
- 'android': ['x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'armeabi-v7a-hard', 'arm64-v8a'],
- 'windows': ['x86', 'amd64', 'arm'],
+++ /dev/null
-From 792f68219b3ab4ff5238e3abc7aa1c68bfa4a22b Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sat, 10 Dec 2016 18:15:32 +0100
-Subject: [PATCH 21/23] build: do not set TARGET_ARCH to default
-
-This check is useless, scons already checks this and returns such an
-error message:
-Invalid value for option TARGET_ARCH: mips. Valid values are: ['x86', 'x86_64', 'arm', 'arm-v7a', 'armeabi-v7a', 'arm64']
-
-Change-Id: I3f7dd3b9fcae875ab20349203fb77537f24be763
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- build_common/SConscript | 3 ---
- resource/csdk/connectivity/build/SConscript | 2 --
- 2 files changed, 5 deletions(-)
-
---- a/build_common/SConscript
-+++ b/build_common/SConscript
-@@ -54,9 +54,6 @@ if target_os == 'android':
- else:
- default_arch = platform.machine()
-
--if default_arch not in os_arch_map[target_os]:
-- default_arch = os_arch_map[target_os][0].lower()
--
- target_arch = ARGUMENTS.get('TARGET_ARCH', default_arch) # target arch
-
- # True if binary needs to be installed on board. (Might need root permissions)
---- a/resource/csdk/connectivity/build/SConscript
-+++ b/resource/csdk/connectivity/build/SConscript
-@@ -40,8 +40,6 @@ if target_os not in host_target_map[host
- Exit(1)
-
- default_arch = platform.machine()
--if default_arch not in os_arch_map[target_os]:
-- default_arch = os_arch_map[target_os][0].lower()
-
- target_arch = ARGUMENTS.get('TARGET_ARCH', default_arch) # target arch
-
+++ /dev/null
-From 39b0c436c77555849da1e68cc8733c67183c291f Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sat, 10 Dec 2016 18:35:04 +0100
-Subject: [PATCH 22/23] build: restrict compiler options to supported
- architectures
-
-For Linux we currently only support the following architectures:
-'x86', 'x86_64', 'arm', 'arm-v7a', 'armeabi-v7a', 'arm64'
-explicitly check for those architectures and also remove ARM hard float.
-
-Change-Id: I7078530bc2a89b88c7049cc53e8bb3fbe5d75ca8
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- build_common/linux/SConscript | 11 +++--------
- resource/csdk/connectivity/build/linux/SConscript | 11 +++--------
- 2 files changed, 6 insertions(+), 16 deletions(-)
-
---- a/build_common/linux/SConscript
-+++ b/build_common/linux/SConscript
-@@ -30,14 +30,9 @@ if target_arch in ['x86']:
- elif target_arch in ['x86_64']:
- env.AppendUnique(CCFLAGS = ['-m64'])
- env.AppendUnique(LINKFLAGS = ['-m64'])
--elif target_arch in ['arm'] or target_arch.find('v5') > 0:
-+elif target_arch in ['arm']:
- env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
--elif target_arch.find('v7a-hard') > 0:
-+elif target_arch in ['arm-v7a', 'armeabi-v7a']:
- env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
-- env.AppendUnique(CPPFLAGS = ['-mfloat-abi=hard'])
-- env.AppendUnique(CCFLAGS = ['-mfloat-abi=hard'])
-- env.AppendUnique(LINKFLAGS = ['-mfloat-abi=hard'])
--elif target_arch.find('v7a') > 0:
-- env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
--elif target_arch.find('arm64') >= 0:
-+elif target_arch.find('arm64') > 0:
- env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
---- a/resource/csdk/connectivity/build/linux/SConscript
-+++ b/resource/csdk/connectivity/build/linux/SConscript
-@@ -29,14 +29,9 @@ if target_arch in ['x86']:
- elif target_arch in ['x86_64']:
- env.AppendUnique(CCFLAGS = ['-m64'])
- env.AppendUnique(LINKFLAGS = ['-m64'])
--elif target_arch.find('v7a-hard') > 0:
-- env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
-- env.AppendUnique(CPPFLAGS = ['-mfloat-abi=hard'])
-- env.AppendUnique(CCFLAGS = ['-mfloat-abi=hard'])
-- env.AppendUnique(LINKFLAGS = ['-mfloat-abi=hard'])
--elif target_arch.find('v7a') > 0:
-+elif target_arch in ['arm']:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
-+elif target_arch in ['arm-v7a', 'armeabi-v7a']:
- env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
- elif target_arch.find('arm64') > 0:
- env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
--else:
-- env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
+++ /dev/null
-From 5f9513eb341d520d10c48f8ba2bd145063405fdd Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sat, 10 Dec 2016 18:08:05 +0100
-Subject: [PATCH 23/23] build: take compiler options from environment
-
-This makes it possible to compile IoTivity with custom compiler
-options. This way someone can use optimized compiler settings for the
-target CPU. I want to use this in OpenWrt / LEDE to build specific
-IoTivity binaries for each CPU architecture, there the build system
-provides the matching compiler options.
-
-Change-Id: I86772f73b81c41d7e96e51b434fd9e3b4992753a
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- build_common/SConscript | 25 +++++++++++++++++++++
- build_common/linux/SConscript | 27 ++++++++++++-----------
- resource/csdk/connectivity/build/linux/SConscript | 27 ++++++++++++-----------
- 3 files changed, 53 insertions(+), 26 deletions(-)
-
---- a/build_common/SConscript
-+++ b/build_common/SConscript
-@@ -120,6 +120,7 @@ help_vars.Add(PathVariable('ANDROID_NDK'
- help_vars.Add(PathVariable('ANDROID_HOME', 'Android SDK path', None, PathVariable.PathAccept))
- help_vars.Add(PathVariable('ANDROID_GRADLE', 'Gradle binary file', None, PathVariable.PathIsFile))
- help_vars.Add(EnumVariable('WITH_UPSTREAM_LIBCOAP', 'Use latest stable version of LibCoAP downloaded from github', default_with_upstream_libcoap, allowed_values=('0','1')))
-+help_vars.Add(BoolVariable('WITH_ENV', 'Use compiler options from environment', False))
-
- AddOption('--prefix',
- dest='prefix',
-@@ -153,6 +154,30 @@ else:
- )
- Help(help_vars.GenerateHelpText(env))
-
-+if env.get('WITH_ENV'):
-+ env['ENV'] = os.environ
-+ if 'CC' in os.environ:
-+ env['CC'] = Split(os.environ['CC'])
-+ print "using CC from environment: %s" % env['CC']
-+ if 'CXX' in os.environ:
-+ env['CXX'] = Split(os.environ['CXX'])
-+ print "using CXX from environment: %s" % env['CXX']
-+ if 'CFLAGS' in os.environ:
-+ env['CFLAGS'] = Split(os.environ['CFLAGS'])
-+ print "using CFLAGS from environment: %s" % env['CFLAGS']
-+ if 'CXXFLAGS' in os.environ:
-+ env['CXXFLAGS'] = Split(os.environ['CXXFLAGS'])
-+ print "using CXXFLAGS from environment: %s" % env['CXXFLAGS']
-+ if 'CCFLAGS' in os.environ:
-+ env['CCFLAGS'] = Split(os.environ['CCFLAGS'])
-+ print "using CCFLAGS from environment: %s" % env['CCFLAGS']
-+ if 'CPPFLAGS' in os.environ:
-+ env['CPPFLAGS'] = Split(os.environ['CPPFLAGS'])
-+ print "using CPPFLAGS from environment: %s" % env['CPPFLAGS']
-+ if 'LDFLAGS' in os.environ:
-+ env['LINKFLAGS'] = Split(os.environ['LDFLAGS'])
-+ print "using LDFLAGS/LINKFLAGS from environment: %s" % env['LINKFLAGS']
-+
- tc_set_msg = '''
- ************************************ Warning **********************************
- * Enviornment variable TC_PREFIX/TC_PATH is set. It will change the default *
---- a/build_common/linux/SConscript
-+++ b/build_common/linux/SConscript
-@@ -23,16 +23,17 @@ env.AppendUnique(CCFLAGS = ['-Wall', '-W
- env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid'])
-
- # Set arch flags that match best TARGET_ARCH variable
--target_arch = env.get('TARGET_ARCH')
--if target_arch in ['x86']:
-- env.AppendUnique(CCFLAGS = ['-m32'])
-- env.AppendUnique(LINKFLAGS = ['-m32'])
--elif target_arch in ['x86_64']:
-- env.AppendUnique(CCFLAGS = ['-m64'])
-- env.AppendUnique(LINKFLAGS = ['-m64'])
--elif target_arch in ['arm']:
-- env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
--elif target_arch in ['arm-v7a', 'armeabi-v7a']:
-- env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
--elif target_arch.find('arm64') > 0:
-- env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
-+if not env.get('WITH_ENV'):
-+ target_arch = env.get('TARGET_ARCH')
-+ if target_arch in ['x86']:
-+ env.AppendUnique(CCFLAGS = ['-m32'])
-+ env.AppendUnique(LINKFLAGS = ['-m32'])
-+ elif target_arch in ['x86_64']:
-+ env.AppendUnique(CCFLAGS = ['-m64'])
-+ env.AppendUnique(LINKFLAGS = ['-m64'])
-+ elif target_arch in ['arm']:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
-+ elif target_arch in ['arm-v7a', 'armeabi-v7a']:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
-+ elif target_arch.find('arm64') > 0:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
---- a/resource/csdk/connectivity/build/linux/SConscript
-+++ b/resource/csdk/connectivity/build/linux/SConscript
-@@ -22,16 +22,17 @@ env.AppendUnique(CCFLAGS = ['-Wall', '-f
- env.AppendUnique(LIBS = ['dl', 'pthread'])
-
- # Set arch flags
--target_arch = env.get('TARGET_ARCH')
--if target_arch in ['x86']:
-- env.AppendUnique(CCFLAGS = ['-m32'])
-- env.AppendUnique(LINKFLAGS = ['-m32'])
--elif target_arch in ['x86_64']:
-- env.AppendUnique(CCFLAGS = ['-m64'])
-- env.AppendUnique(LINKFLAGS = ['-m64'])
--elif target_arch in ['arm']:
-- env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
--elif target_arch in ['arm-v7a', 'armeabi-v7a']:
-- env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
--elif target_arch.find('arm64') > 0:
-- env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
-+if not env.get('WITH_ENV'):
-+ target_arch = env.get('TARGET_ARCH')
-+ if target_arch in ['x86']:
-+ env.AppendUnique(CCFLAGS = ['-m32'])
-+ env.AppendUnique(LINKFLAGS = ['-m32'])
-+ elif target_arch in ['x86_64']:
-+ env.AppendUnique(CCFLAGS = ['-m64'])
-+ env.AppendUnique(LINKFLAGS = ['-m64'])
-+ elif target_arch in ['arm']:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
-+ elif target_arch in ['arm-v7a', 'armeabi-v7a']:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
-+ elif target_arch.find('arm64') > 0:
-+ env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
+++ /dev/null
---- a/service/resource-container/SConscript
-+++ b/service/resource-container/SConscript
-@@ -191,36 +191,22 @@ if target_os in ['linux', 'tizen', 'andr
- # build hue sample bundle
- ######################################################################
-
--conf2 = Configure(lib_env)
--if not conf2.CheckLib('curl'):
-- print '''X
--*********************************** Error *************************************
--* Cannot build hue sample. Please install libcurl.
--* Example (Ubuntu):
--* sudo apt-get install libcurl4-openssl-dev
--* sudo ldconfig
--* Hint: check with pkg-config --libs libcurl and clear scons cache.
--* Skipping hue sample build.
--*******************************************************************************
-- '''
--else:
-- hue_resource_bundle_env = resource_container_env.Clone()
-- hue_resource_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
--
-- HUE_RESOURCE_BUNDLE_DIR = 'examples/HueSampleBundle/'
-- hue_resource_bundle_env.AppendUnique(CPPPATH = [
-- HUE_RESOURCE_BUNDLE_DIR + 'include',
-- 'include/'
-- ])
--
-- hue_resource_bundle_env.PrependUnique(LIBS = ['curl', 'rcs_container'])
--
-- hue_resource_bundle_src = [ Glob(HUE_RESOURCE_BUNDLE_DIR + 'src/*.cpp')]
--
-- HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
-- hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
-- hue_resource_bundle_env.UserInstallTargetLib(HueBundle, 'libHueBundle')
--lib_env = conf2.Finish()
-+hue_resource_bundle_env = resource_container_env.Clone()
-+hue_resource_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
-+
-+HUE_RESOURCE_BUNDLE_DIR = 'examples/HueSampleBundle/'
-+hue_resource_bundle_env.AppendUnique(CPPPATH = [
-+ HUE_RESOURCE_BUNDLE_DIR + 'include',
-+ 'include/'
-+ ])
-+
-+hue_resource_bundle_env.PrependUnique(LIBS = ['curl', 'rcs_container'])
-+
-+hue_resource_bundle_src = [ Glob(HUE_RESOURCE_BUNDLE_DIR + 'src/*.cpp')]
-+
-+HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
-+hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
-+hue_resource_bundle_env.UserInstallTargetLib(HueBundle, 'libHueBundle')
-
- ######################################################################
- # Build Container Sample
+++ /dev/null
-From 08b403572985a70fe5d652378e1cfa2b72ac6a3d Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@osg.samsung.com>
-Date: Fri, 9 Dec 2016 02:12:04 +0100
-Subject: [PATCH] linux: Use system sqlite3
-
-Problem was discovered on yocto
-
-Change-Id: I5274bed9e4b7ddcdc1b17a265a1886cd78cb631f
-Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/15305
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Ziran Sun <ziran.sun@samsung.com>
----
- resource/csdk/SConscript | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/resource/csdk/SConscript
-+++ b/resource/csdk/SConscript
-@@ -191,7 +191,7 @@ if with_tcp == True:
-
- if 'SERVER' in rd_mode:
- liboctbstack_src.append(OCTBSTACK_SRC + 'oicresourcedirectory.c')
-- if target_os not in ['tizen']:
-+ if target_os not in ['linux', 'tizen']:
- liboctbstack_src.append('#extlibs/sqlite3/sqlite3.c')
-
- if target_os in ['linux']:
+++ /dev/null
-From d8cf30cb0abd5fa8f6282b490618204d683b625c Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 3 Oct 2016 21:00:28 +0200
-Subject: [PATCH 1/3] csdk: move OCEntityHandlerResponse from stack to heap
-
-OCEntityHandlerResponse is over 50KByte and I got a stack overflow on MIPS
-running on LEDE without this patch. Instead of storing
-OCEntityHandlerResponse on the program stack, allocate some memory on
-the heap and free it afterwards again.
-
-This fixes one part of this issue for me:
-https://jira.iotivity.org/browse/IOT-1374
-
-Change-Id: I365a5c7a34dce2dfb0897a20b57a13ba566748ec
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/csdk/stack/src/ocresource.c | 24 +++++++++++++++++-------
- 1 file changed, 17 insertions(+), 7 deletions(-)
-
---- a/resource/csdk/stack/src/ocresource.c
-+++ b/resource/csdk/stack/src/ocresource.c
-@@ -774,15 +774,25 @@ static bool includeThisResourceInRespons
- OCStackResult SendNonPersistantDiscoveryResponse(OCServerRequest *request, OCResource *resource,
- OCPayload *discoveryPayload, OCEntityHandlerResult ehResult)
- {
-- OCEntityHandlerResponse response = {0};
-+ OCEntityHandlerResponse *response = NULL;
-+ OCStackResult result = OC_STACK_ERROR;
-
-- response.ehResult = ehResult;
-- response.payload = discoveryPayload;
-- response.persistentBufferFlag = 0;
-- response.requestHandle = (OCRequestHandle) request->requestId;
-- response.resourceHandle = (OCResourceHandle) resource;
-+ response = (OCEntityHandlerResponse *)OICCalloc(1, sizeof(*response));
-+ VERIFY_PARAM_NON_NULL(TAG, response, "Failed allocating OCEntityHandlerResponse");
-
-- return OCDoResponse(&response);
-+ response->ehResult = ehResult;
-+ response->payload = discoveryPayload;
-+ response->persistentBufferFlag = 0;
-+ response->requestHandle = (OCRequestHandle) request->requestId;
-+ response->resourceHandle = (OCResourceHandle) resource;
-+
-+ result = OCDoResponse(response);
-+
-+ OICFree(response);
-+ return result;
-+
-+exit:
-+ return OC_STACK_NO_MEMORY;
- }
-
- static OCStackResult EHRequest(OCEntityHandlerRequest *ehRequest, OCPayloadType type,
+++ /dev/null
-From e8971dd4914c9d42938c4c885b4ac6d784d7e0ff Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 3 Oct 2016 23:22:36 +0200
-Subject: [PATCH 2/3] csdk: move OCClientResponse from stack to heap
-
-OCClientResponse is about 50KByte and should not be stored on the
-stack. On LEDE with MIPS, musl libc this causes a segmentation fault.
-Moving this structure to the heap is the simple solution for this
-problem, but this structure should be shrined.
-
-There are probably more places were this is stored on the stack and
-will cause problems. This fixes the other issue I saw in
-https://jira.iotivity.org/browse/IOT-1374
-
-Change-Id: I45d8aee4a8151fea51d3318acb1eea61ce579060
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/csdk/stack/src/ocstack.c | 163 ++++++++++++++++++++++++--------------
- 1 file changed, 102 insertions(+), 61 deletions(-)
-
---- a/resource/csdk/stack/src/ocstack.c
-+++ b/resource/csdk/stack/src/ocstack.c
-@@ -1042,7 +1042,7 @@ OCStackResult HandlePresenceResponse(con
- OCStackApplicationResult cbResult = OC_STACK_DELETE_TRANSACTION;
- ClientCB * cbNode = NULL;
- char *resourceTypeName = NULL;
-- OCClientResponse response = {.devAddr = {.adapter = OC_DEFAULT_ADAPTER}};
-+ OCClientResponse *response = NULL;
- OCStackResult result = OC_STACK_ERROR;
- uint32_t maxAge = 0;
- int uriLen;
-@@ -1057,15 +1057,23 @@ OCStackResult HandlePresenceResponse(con
- return OC_STACK_ERROR;
- }
-
-- response.payload = NULL;
-- response.result = OC_STACK_OK;
-+ response = (OCClientResponse *)OICCalloc(1, sizeof(*response));
-+ if (!response)
-+ {
-+ OIC_LOG(ERROR, TAG, "Allocating memory for response failed");
-+ return OC_STACK_ERROR;
-+ }
-+ response->devAddr.adapter = OC_DEFAULT_ADAPTER;
-
-- CopyEndpointToDevAddr(endpoint, &response.devAddr);
-- FixUpClientResponse(&response);
-+ response->payload = NULL;
-+ response->result = OC_STACK_OK;
-+
-+ CopyEndpointToDevAddr(endpoint, &response->devAddr);
-+ FixUpClientResponse(response);
-
- if (responseInfo->info.payload)
- {
-- result = OCParsePayload(&response.payload,
-+ result = OCParsePayload(&response->payload,
- PAYLOAD_TYPE_PRESENCE,
- responseInfo->info.payload,
- responseInfo->info.payloadSize);
-@@ -1075,15 +1083,15 @@ OCStackResult HandlePresenceResponse(con
- OIC_LOG(ERROR, TAG, "Presence parse failed");
- goto exit;
- }
-- if(!response.payload || response.payload->type != PAYLOAD_TYPE_PRESENCE)
-+ if(!response->payload || response->payload->type != PAYLOAD_TYPE_PRESENCE)
- {
- OIC_LOG(ERROR, TAG, "Presence payload was wrong type");
- result = OC_STACK_ERROR;
- goto exit;
- }
-- response.sequenceNumber = ((OCPresencePayload*)response.payload)->sequenceNumber;
-- resourceTypeName = ((OCPresencePayload*)response.payload)->resourceType;
-- maxAge = ((OCPresencePayload*)response.payload)->maxAge;
-+ response->sequenceNumber = ((OCPresencePayload*)response->payload)->sequenceNumber;
-+ resourceTypeName = ((OCPresencePayload*)response->payload)->resourceType;
-+ maxAge = ((OCPresencePayload*)response->payload)->maxAge;
- }
-
- // check for unicast presence
-@@ -1091,6 +1099,7 @@ OCStackResult HandlePresenceResponse(con
- responseInfo->isMulticast);
- if (uriLen < 0 || (size_t)uriLen >= sizeof (presenceUri))
- {
-+ OICFree(response);
- return OC_STACK_INVALID_URI;
- }
- OIC_LOG(ERROR, TAG, "check for unicast presence");
-@@ -1118,7 +1127,7 @@ OCStackResult HandlePresenceResponse(con
-
- if (presenceSubscribe)
- {
-- if(cbNode->sequenceNumber == response.sequenceNumber)
-+ if(cbNode->sequenceNumber == response->sequenceNumber)
- {
- OIC_LOG(INFO, TAG, "No presence change");
- ResetPresenceTTL(cbNode, maxAge);
-@@ -1129,7 +1138,7 @@ OCStackResult HandlePresenceResponse(con
- if(maxAge == 0)
- {
- OIC_LOG(INFO, TAG, "Stopping presence");
-- response.result = OC_STACK_PRESENCE_STOPPED;
-+ response->result = OC_STACK_PRESENCE_STOPPED;
- if(cbNode->presence)
- {
- OICFree(cbNode->presence->timeOut);
-@@ -1165,7 +1174,7 @@ OCStackResult HandlePresenceResponse(con
-
- ResetPresenceTTL(cbNode, maxAge);
-
-- cbNode->sequenceNumber = response.sequenceNumber;
-+ cbNode->sequenceNumber = response->sequenceNumber;
- }
- }
- else
-@@ -1175,7 +1184,7 @@ OCStackResult HandlePresenceResponse(con
- if (0 == maxAge)
- {
- OIC_LOG(INFO, TAG, "Stopping presence");
-- response.result = OC_STACK_PRESENCE_STOPPED;
-+ response->result = OC_STACK_PRESENCE_STOPPED;
- }
- }
-
-@@ -1191,7 +1200,7 @@ OCStackResult HandlePresenceResponse(con
-
- OIC_LOG(INFO, TAG, "Callback for presence");
-
-- cbResult = cbNode->callBack(cbNode->context, cbNode->handle, &response);
-+ cbResult = cbNode->callBack(cbNode->context, cbNode->handle, response);
-
- if (cbResult == OC_STACK_DELETE_TRANSACTION)
- {
-@@ -1199,7 +1208,8 @@ OCStackResult HandlePresenceResponse(con
- }
-
- exit:
-- OCPayloadDestroy(response.payload);
-+ OCPayloadDestroy(response->payload);
-+ OICFree(response);
- return result;
- }
-
-@@ -1240,36 +1250,53 @@ void OCHandleResponse(const CAEndpoint_t
- OIC_LOG(INFO, TAG, "Receiving A Timeout for this token");
- OIC_LOG(INFO, TAG, "Calling into application address space");
-
-- OCClientResponse response =
-- {.devAddr = {.adapter = OC_DEFAULT_ADAPTER}};
-- CopyEndpointToDevAddr(endPoint, &response.devAddr);
-- FixUpClientResponse(&response);
-- response.resourceUri = responseInfo->info.resourceUri;
-- memcpy(response.identity.id, responseInfo->info.identity.id,
-- sizeof (response.identity.id));
-- response.identity.id_length = responseInfo->info.identity.id_length;
-+ OCClientResponse *response = NULL;
-+
-+ response = (OCClientResponse *)OICCalloc(1, sizeof(*response));
-+ if (!response)
-+ {
-+ OIC_LOG(ERROR, TAG, "Allocating memory for response failed");
-+ return;
-+ }
-+
-+ response->devAddr.adapter = OC_DEFAULT_ADAPTER;
-+ CopyEndpointToDevAddr(endPoint, &response->devAddr);
-+ FixUpClientResponse(response);
-+ response->resourceUri = responseInfo->info.resourceUri;
-+ memcpy(response->identity.id, responseInfo->info.identity.id,
-+ sizeof (response->identity.id));
-+ response->identity.id_length = responseInfo->info.identity.id_length;
-
-- response.result = CAResponseToOCStackResult(responseInfo->result);
-+ response->result = CAResponseToOCStackResult(responseInfo->result);
- cbNode->callBack(cbNode->context,
-- cbNode->handle, &response);
-+ cbNode->handle, response);
- FindAndDeleteClientCB(cbNode);
-+ OICFree(response);
- }
- else
- {
- OIC_LOG(INFO, TAG, "This is a regular response, A client call back is found");
- OIC_LOG(INFO, TAG, "Calling into application address space");
-
-- OCClientResponse response =
-- {.devAddr = {.adapter = OC_DEFAULT_ADAPTER}};
-- response.sequenceNumber = MAX_SEQUENCE_NUMBER + 1;
-- CopyEndpointToDevAddr(endPoint, &response.devAddr);
-- FixUpClientResponse(&response);
-- response.resourceUri = responseInfo->info.resourceUri;
-- memcpy(response.identity.id, responseInfo->info.identity.id,
-- sizeof (response.identity.id));
-- response.identity.id_length = responseInfo->info.identity.id_length;
-+ OCClientResponse *response = NULL;
-
-- response.result = CAResponseToOCStackResult(responseInfo->result);
-+ response = (OCClientResponse *)OICCalloc(1, sizeof(*response));
-+ if (!response)
-+ {
-+ OIC_LOG(ERROR, TAG, "Allocating memory for response failed");
-+ return;
-+ }
-+
-+ response->devAddr.adapter = OC_DEFAULT_ADAPTER;
-+ response->sequenceNumber = MAX_SEQUENCE_NUMBER + 1;
-+ CopyEndpointToDevAddr(endPoint, &response->devAddr);
-+ FixUpClientResponse(response);
-+ response->resourceUri = responseInfo->info.resourceUri;
-+ memcpy(response->identity.id, responseInfo->info.identity.id,
-+ sizeof (response->identity.id));
-+ response->identity.id_length = responseInfo->info.identity.id_length;
-+
-+ response->result = CAResponseToOCStackResult(responseInfo->result);
-
- if(responseInfo->info.payload &&
- responseInfo->info.payloadSize)
-@@ -1359,21 +1386,23 @@ void OCHandleResponse(const CAEndpoint_t
- {
- OIC_LOG_V(ERROR, TAG, "Unknown Payload type: %d %s",
- cbNode->method, cbNode->requestUri);
-+ OICFree(response);
- return;
- }
-
-- if(OC_STACK_OK != OCParsePayload(&response.payload,
-+ if(OC_STACK_OK != OCParsePayload(&response->payload,
- type,
- responseInfo->info.payload,
- responseInfo->info.payloadSize))
- {
- OIC_LOG(ERROR, TAG, "Error converting payload");
-- OCPayloadDestroy(response.payload);
-+ OCPayloadDestroy(response->payload);
-+ OICFree(response);
- return;
- }
- }
-
-- response.numRcvdVendorSpecificHeaderOptions = 0;
-+ response->numRcvdVendorSpecificHeaderOptions = 0;
- if(responseInfo->info.numOptions > 0)
- {
- int start = 0;
-@@ -1391,19 +1420,20 @@ void OCHandleResponse(const CAEndpoint_t
- observationOption =
- (observationOption << 8) | optionData[i];
- }
-- response.sequenceNumber = observationOption;
-- response.numRcvdVendorSpecificHeaderOptions = responseInfo->info.numOptions - 1;
-+ response->sequenceNumber = observationOption;
-+ response->numRcvdVendorSpecificHeaderOptions = responseInfo->info.numOptions - 1;
- start = 1;
- }
- else
- {
-- response.numRcvdVendorSpecificHeaderOptions = responseInfo->info.numOptions;
-+ response->numRcvdVendorSpecificHeaderOptions = responseInfo->info.numOptions;
- }
-
-- if(response.numRcvdVendorSpecificHeaderOptions > MAX_HEADER_OPTIONS)
-+ if(response->numRcvdVendorSpecificHeaderOptions > MAX_HEADER_OPTIONS)
- {
- OIC_LOG(ERROR, TAG, "#header options are more than MAX_HEADER_OPTIONS");
-- OCPayloadDestroy(response.payload);
-+ OCPayloadDestroy(response->payload);
-+ OICFree(response);
- return;
- }
-
-@@ -1411,19 +1441,19 @@ void OCHandleResponse(const CAEndpoint_t
- {
- if(&(responseInfo->info.options[i]))
- {
-- memcpy (&(response.rcvdVendorSpecificHeaderOptions[i-start]),
-+ memcpy (&(response->rcvdVendorSpecificHeaderOptions[i-start]),
- &(responseInfo->info.options[i]), sizeof(OCHeaderOption));
- }
- }
- }
-
- if (cbNode->method == OC_REST_OBSERVE &&
-- response.sequenceNumber > OC_OFFSET_SEQUENCE_NUMBER &&
-+ response->sequenceNumber > OC_OFFSET_SEQUENCE_NUMBER &&
- cbNode->sequenceNumber <= MAX_SEQUENCE_NUMBER &&
-- response.sequenceNumber <= cbNode->sequenceNumber)
-+ response->sequenceNumber <= cbNode->sequenceNumber)
- {
- OIC_LOG_V(INFO, TAG, "Received stale notification. Number :%d",
-- response.sequenceNumber);
-+ response->sequenceNumber);
- }
- else
- {
-@@ -1432,13 +1462,13 @@ void OCHandleResponse(const CAEndpoint_t
- char *targetUri = strstr(cbNode->requestUri, OC_RSRVD_RD_URI);
- if (targetUri)
- {
-- OCUpdateResourceInsWithResponse(cbNode->requestUri, &response);
-+ OCUpdateResourceInsWithResponse(cbNode->requestUri, response);
- }
- #endif
- OCStackApplicationResult appFeedback = cbNode->callBack(cbNode->context,
- cbNode->handle,
-- &response);
-- cbNode->sequenceNumber = response.sequenceNumber;
-+ response);
-+ cbNode->sequenceNumber = response->sequenceNumber;
-
- if (appFeedback == OC_STACK_DELETE_TRANSACTION)
- {
-@@ -1459,7 +1489,8 @@ void OCHandleResponse(const CAEndpoint_t
- CA_MSG_ACKNOWLEDGE, 0, NULL, NULL, 0, NULL, CA_RESPONSE_FOR_RES);
- }
-
-- OCPayloadDestroy(response.payload);
-+ OCPayloadDestroy(response->payload);
-+ OICFree(response);
- }
- return;
- }
-@@ -1585,16 +1616,26 @@ void HandleCAErrorResponse(const CAEndpo
- errorInfo->info.tokenLength, NULL, NULL);
- if (cbNode)
- {
-- OCClientResponse response = { .devAddr = { .adapter = OC_DEFAULT_ADAPTER } };
-- CopyEndpointToDevAddr(endPoint, &response.devAddr);
-- FixUpClientResponse(&response);
-- response.resourceUri = errorInfo->info.resourceUri;
-- memcpy(response.identity.id, errorInfo->info.identity.id,
-- sizeof (response.identity.id));
-- response.identity.id_length = errorInfo->info.identity.id_length;
-- response.result = CAResultToOCResult(errorInfo->result);
-+ OCClientResponse *response = NULL;
-+
-+ response = (OCClientResponse *)OICCalloc(1, sizeof(*response));
-+ if (!response)
-+ {
-+ OIC_LOG(ERROR, TAG, "Allocating memory for response failed");
-+ return;
-+ }
-+
-+ response->devAddr.adapter = OC_DEFAULT_ADAPTER;
-+ CopyEndpointToDevAddr(endPoint, &response->devAddr);
-+ FixUpClientResponse(response);
-+ response->resourceUri = errorInfo->info.resourceUri;
-+ memcpy(response->identity.id, errorInfo->info.identity.id,
-+ sizeof (response->identity.id));
-+ response->identity.id_length = errorInfo->info.identity.id_length;
-+ response->result = CAResultToOCResult(errorInfo->result);
-
-- cbNode->callBack(cbNode->context, cbNode->handle, &response);
-+ cbNode->callBack(cbNode->context, cbNode->handle, response);
-+ OICFree(response);
- }
-
- ResourceObserver *observer = GetObserverUsingToken(errorInfo->info.token,
+++ /dev/null
-From 7fb5b6a19b06dc5b0a7f32261551b206b1e6a563 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 8 Jan 2017 19:24:26 +0100
-Subject: [PATCH 3/3] src: move OCClientResponse from stack to heap
-
-OCClientResponse is about 50KByte and should not be stored on the
-stack. On LEDE with MIPS, musl libc this causes a segmentation fault.
-Moving this structure to the heap is the simple solution for this
-problem, but this structure should be shrinked.
-
-Change-Id: I7887f93450f45b8031fcdfffb9ee2214fc3d5dd2
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/src/InProcServerWrapper.cpp | 44 +++++++++++++++++++++---------------
- 1 file changed, 26 insertions(+), 18 deletions(-)
-
---- a/resource/src/InProcServerWrapper.cpp
-+++ b/resource/src/InProcServerWrapper.cpp
-@@ -568,51 +568,58 @@ namespace OC
- }
- else
- {
-- OCEntityHandlerResponse response;
-+ OCEntityHandlerResponse *response = NULL;
-+
-+ response = (OCEntityHandlerResponse *)OICCalloc(1, sizeof(*response));
-+ if (!response) {
-+ result = OC_STACK_MALFORMED_RESPONSE;
-+ throw OCException(OC::Exception::STR_NULL_RESPONSE, OC_STACK_MALFORMED_RESPONSE);
-+ }
-+
- // OCRepPayload* payLoad = pResponse->getPayload();
- HeaderOptions serverHeaderOptions = pResponse->getHeaderOptions();
-
-- response.requestHandle = pResponse->getRequestHandle();
-- response.resourceHandle = pResponse->getResourceHandle();
-- response.ehResult = pResponse->getResponseResult();
-+ response->requestHandle = pResponse->getRequestHandle();
-+ response->resourceHandle = pResponse->getResourceHandle();
-+ response->ehResult = pResponse->getResponseResult();
-
-- response.payload = reinterpret_cast<OCPayload*>(pResponse->getPayload());
-+ response->payload = reinterpret_cast<OCPayload*>(pResponse->getPayload());
-
-- response.persistentBufferFlag = 0;
-+ response->persistentBufferFlag = 0;
-
-- response.numSendVendorSpecificHeaderOptions = serverHeaderOptions.size();
-+ response->numSendVendorSpecificHeaderOptions = serverHeaderOptions.size();
- int i = 0;
- for (auto it=serverHeaderOptions.begin(); it != serverHeaderOptions.end(); ++it)
- {
-- response.sendVendorSpecificHeaderOptions[i].protocolID = OC_COAP_ID;
-- response.sendVendorSpecificHeaderOptions[i].optionID =
-+ response->sendVendorSpecificHeaderOptions[i].protocolID = OC_COAP_ID;
-+ response->sendVendorSpecificHeaderOptions[i].optionID =
- static_cast<uint16_t>(it->getOptionID());
-- response.sendVendorSpecificHeaderOptions[i].optionLength =
-+ response->sendVendorSpecificHeaderOptions[i].optionLength =
- (it->getOptionData()).length() + 1;
- std::string optionData = it->getOptionData();
- std::copy(optionData.begin(),
- optionData.end(),
-- response.sendVendorSpecificHeaderOptions[i].optionData);
-- response.sendVendorSpecificHeaderOptions[i].optionData[it->getOptionData().length()]
-+ response->sendVendorSpecificHeaderOptions[i].optionData);
-+ response->sendVendorSpecificHeaderOptions[i].optionData[it->getOptionData().length()]
- = '\0';
- i++;
- }
-
-- if(OC_EH_RESOURCE_CREATED == response.ehResult)
-+ if(OC_EH_RESOURCE_CREATED == response->ehResult)
- {
-- pResponse->getNewResourceUri().copy(response.resourceUri,
-- sizeof (response.resourceUri) - 1);
-- response.resourceUri[pResponse->getNewResourceUri().length()] = '\0';
-+ pResponse->getNewResourceUri().copy(response->resourceUri,
-+ sizeof (response->resourceUri) - 1);
-+ response->resourceUri[pResponse->getNewResourceUri().length()] = '\0';
- }
-
- if(cLock)
- {
- std::lock_guard<std::recursive_mutex> lock(*cLock);
-- result = OCDoResponse(&response);
-+ result = OCDoResponse(response);
- }
- else
- {
-- OICFree(response.payload);
-+ OICFree(response->payload);
- result = OC_STACK_ERROR;
- }
-
-@@ -620,6 +627,7 @@ namespace OC
- {
- oclog() << "Error sending response\n";
- }
-+ OICFree(response);
- return result;
- }
- }
+++ /dev/null
-From 261cf19bfa3dea10ed0f2ebbb2d945c19c9a2804 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 4 Dec 2016 00:18:37 +0100
-Subject: [PATCH 5/7] ssl: fix compilation against non debug mbedtls
-
-The function mbedtls_debug_set_threshold() is only available when
-MBEDTLS_DEBUG_C is set. make the call depend on this condition.
-
-Change-Id: I8158bc4c55b428167e36084e7a46359c269c5fc7
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-+++ b/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-@@ -1278,8 +1278,10 @@ static int InitConfig(mbedtls_ssl_config
-
- #if !defined(NDEBUG) || defined(TB_LOG)
- mbedtls_ssl_conf_dbg(conf, DebugSsl, NULL);
-+#if defined(MBEDTLS_DEBUG_C)
- mbedtls_debug_set_threshold(MBED_TLS_DEBUG_LEVEL);
- #endif
-+#endif
- OIC_LOG_V(DEBUG, NET_SSL_TAG, "Out %s", __func__);
- return 0;
- }
+++ /dev/null
-From cee085e0e62214603b9ae035d63fabca23c491bd Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 8 Jan 2017 01:39:35 +0100
-Subject: [PATCH 6/7] ssl: call mbedtls_version_get_string() only if available
-
-The function mbedtls_version_get_string() is only available if
-MBEDTLS_VERSION_C is set in the mbedtls configuration. Check this
-before calling this function and print the mbedtls version this was
-compiled against instead if mbedtls_version_get_string() is not
-available.
-
-This fixes a compile problem when MBEDTLS_VERSION_C is not set.
-
-Change-Id: I54c2c2a3fc1f9d35afa475500e3db68420a1b54a
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-+++ b/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-@@ -1376,9 +1376,13 @@ CAResult_t CAinitSslAdapter()
- /* Initialize TLS library
- */
- #if !defined(NDEBUG) || defined(TB_LOG)
-+#ifdef MBEDTLS_VERSION_C
- char version[MBED_TLS_VERSION_LEN];
- mbedtls_version_get_string(version);
- OIC_LOG_V(INFO, NET_SSL_TAG, "mbed TLS version: %s", version);
-+#else
-+ OIC_LOG_V(INFO, NET_SSL_TAG, "mbed TLS version: %s", MBEDTLS_VERSION_STRING);
-+#endif
- #endif
-
- /* Entropy settings
+++ /dev/null
-From 3684ac3720f91dc131c1c61689395a69ae1865f9 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 8 Jan 2017 20:31:18 +0100
-Subject: [PATCH 7/7] ssl: call mbedtls_ssl_conf_renegotiation() only if
- available
-
-The function mbedtls_ssl_conf_renegotiation() is only available if
-MBEDTLS_SSL_RENEGOTIATION is set in the mbedtls configuration. Check this
-before calling this function.
-
-This fixes a compile problem when MBEDTLS_SSL_RENEGOTIATION is not set.
-
-Change-Id: I69f15359d2dcaed1e4fe56fc7799737e38d6c2e7
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-+++ b/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-@@ -1273,7 +1273,9 @@ static int InitConfig(mbedtls_ssl_config
- mbedtls_ssl_conf_rng(conf, mbedtls_ctr_drbg_random, &g_caSslContext->rnd);
- mbedtls_ssl_conf_curves(conf, curve[ADAPTER_CURVE_SECP256R1]);
- mbedtls_ssl_conf_min_version(conf, MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3);
-+#ifdef MBEDTLS_SSL_RENEGOTIATION
- mbedtls_ssl_conf_renegotiation(conf, MBEDTLS_SSL_RENEGOTIATION_DISABLED);
-+#endif
- mbedtls_ssl_conf_authmode(conf, MBEDTLS_SSL_VERIFY_REQUIRED);
-
- #if !defined(NDEBUG) || defined(TB_LOG)
+++ /dev/null
-From 01796db0b166e720860eff200acabff410ba6979 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 4 Dec 2016 00:15:21 +0100
-Subject: [PATCH 4/7] ssl: enable usage of patched mbed functions conditionally
-
-Only activate support for the MBEDTLS_KEY_EXCHANGE_ECDH_ANON_ENABLED
-cipher suite when this is actually available in mbedtls.
-This makes it possible to compile IoTivity against a unpatched mbedtls
-version.
-
-Change-Id: Ic56d7faf7597cc5dc08f9d55be29dde898949609
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-+++ b/resource/csdk/connectivity/src/adapter_util/ca_adapter_net_ssl.c
-@@ -237,7 +237,9 @@ int tlsCipher[ADAPTER_CIPHER_MAX][2] =
- {
- {MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, 0},
- {MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, 0},
-+#ifdef MBEDTLS_TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256
- {MBEDTLS_TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256, 0},
-+#endif
- {MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, 0},
- {MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, 0},
- {MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 0}
-@@ -1943,6 +1945,7 @@ CAResult_t CAsetTlsCipherSuite(const uin
- g_caSslContext->cipher = ADAPTER_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8;
- break;
- }
-+#ifdef MBEDTLS_TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256
- case MBEDTLS_TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256:
- {
- #ifdef __WITH_TLS__
-@@ -1960,6 +1963,7 @@ CAResult_t CAsetTlsCipherSuite(const uin
- g_caSslContext->cipher = ADAPTER_TLS_ECDH_ANON_WITH_AES_128_CBC_SHA_256;
- break;
- }
-+#endif
- case MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256:
- {
- #if 0 // PIN OTM
+++ /dev/null
-Make it possible to use system mbedtls version
-
---- a/resource/csdk/connectivity/src/SConscript
-+++ b/resource/csdk/connectivity/src/SConscript
-@@ -73,16 +73,7 @@ if env.get('SECURED') == '1':
- env.AppendUnique(CPPPATH = [src_dir + '/resource/csdk/security/include'])
- env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__'])
- env.AppendUnique(CPPPATH = [os.path.join(root_dir, 'external/inc')])
-- tls_path = 'extlibs/mbedtls';
-- tls_headers_path = 'mbedtls/include';
-- if ca_os == 'tizen' and os.path.exists(root_dir + '/' + tls_path):
-- env.SConscript(os.path.join(root_dir, tls_path + '/SConscript'))
-- env.AppendUnique(CPPPATH = [os.path.join(root_dir, tls_path + '/' + tls_headers_path)])
-- else:
-- if ca_os != 'android':
-- env.SConscript('#' + tls_path + '/SConscript')
-- env.AppendUnique(CPPPATH = ['#' + tls_path + '/' + tls_headers_path])
-- env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/ca_adapter_net_ssl.c')])
-+ env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/ca_adapter_net_ssl.c')])
-
- if ((secured == '1') and (with_tcp == True)):
- env.AppendUnique(CPPDEFINES = ['__WITH_TLS__'])
+++ /dev/null
-From df8360447163762c63994dcb07f9e69a5a365a1c Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 8 Jan 2017 22:01:57 +0100
-Subject: [PATCH 8/8] zigbee_wrapper: do not check for floating point
-
-This makes the compile fail for soft float builds. In such builds the
-double is still 64 bit long.
-
-Change-Id: I45d3f19b49f5d23d2b65307738a362765c5ea1c2
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- plugins/zigbee_wrapper/src/zigbee_wrapper.c | 8 --------
- 1 file changed, 8 deletions(-)
-
---- a/plugins/zigbee_wrapper/src/zigbee_wrapper.c
-+++ b/plugins/zigbee_wrapper/src/zigbee_wrapper.c
-@@ -37,14 +37,6 @@
- #include <math.h>
- #include <errno.h>
-
--// The following #define must be here under "math.h".
--// This ifdef ensures that "__STDC_IEC_559__" is defined. If it is defined,
--// then we are guaranteed that the 'double' type is 64-bit. Otherwise, the
--// compilation of this file should fail because we are no longer guaranteed.
--#ifndef __STDC_IEC_559__
--#error "Requires IEEE 754 floating point!"
--#endif
--
- #include "zigbee_wrapper.h"
- #include "telegesis_wrapper.h"
- #include "pluginlist.h"
+++ /dev/null
---- a/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
-+++ b/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
-@@ -73,7 +73,6 @@ env.AppendUnique(
-
- # The Linux BLE adapter implementation uses GDBus to make D-Bus based
- # method calls to BlueZ. Pull in the necessary dependencies.
--env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs")
-
- # Set up commands to generate GDBus code from the D-Bus introspection
- # XML.
---- a/resource/csdk/security/provisioning/sample/SConscript
-+++ b/resource/csdk/security/provisioning/sample/SConscript
-@@ -70,7 +70,6 @@ if target_os not in ['windows']:
-
- if target_os not in ['msys_nt', 'windows']:
- provisioning_env.AppendUnique(LIBS = ['dl', 'm'])
-- provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
- provisioning_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
- else:
- provisioning_env.AppendUnique(LIBPATH = [os.path.join(env.get('BUILD_DIR'), 'resource', 'csdk')])
---- a/resource/csdk/security/provisioning/SConscript
-+++ b/resource/csdk/security/provisioning/SConscript
-@@ -73,9 +73,6 @@ provisioning_env.PrependUnique(LIBS = ['
- provisioning_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto'])
-
-
--if target_os not in ['msys_nt', 'windows', 'android', 'ios']:
-- provisioning_env.ParseConfig('pkg-config --libs glib-2.0')
--
- if target_os in ['windows', 'msys_nt']:
- provisioning_env.AppendUnique(LIBS = ['ws2_32', 'advapi32', 'iphlpapi'])
-
+++ /dev/null
-From ce27d50b9c11386242487852f14b025ed6c67701 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Wed, 19 Aug 2015 16:47:21 +0200
-Subject: [PATCH 14/14] examples: OICMiddle: try to load security
- configuration by default
-
-Load the security configuration from the default location by default.
-When it is not found security will just not work.
-
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
----
- examples/OICMiddle/OICMiddle.cpp | 9 ++++++++-
- examples/OICMiddle/OICMiddle.h | 1 +
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
---- a/examples/OICMiddle/OICMiddle.cpp
-+++ b/examples/OICMiddle/OICMiddle.cpp
-@@ -99,8 +99,15 @@ void Middle::startPlatform()
- //std::string ipaddr = INADDR_ANY;
- std::string ipaddr = "0.0.0.0";
-
-+ // Initialize Persistent Storage for SVR database
-+ middle.ps.open = fopen;
-+ middle.ps.read = fread;
-+ middle.ps.write = fwrite;
-+ middle.ps.close = fclose;
-+ middle.ps.unlink = unlink;
-+
- PlatformConfig cfg { ServiceType::InProc, ModeType::Both,
-- ipaddr, port, QualityOfService::LowQos};
-+ ipaddr, port, QualityOfService::LowQos, &middle.ps};
-
- OC::OCPlatform::Configure(cfg);
- }
---- a/examples/OICMiddle/OICMiddle.h
-+++ b/examples/OICMiddle/OICMiddle.h
-@@ -83,6 +83,7 @@ protected:
- MiddleServer *m_server;
- LineInput *m_lineInput;
- RestInput *m_restInput;
-+ OCPersistentStorage ps;
-
- protected:
- void startPlatform();
+++ /dev/null
-From 26c2798188497da22e0a70efebc47991dd755db2 Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@osg.samsung.com>
-Date: Wed, 28 Jun 2017 04:54:05 +0200
-Subject: [PATCH] resource: Include functional header for g++-7.1.0
-
-It was tested on yocto poky master on iotivity-1.2.1 (and later):
-
- resource/include/OCUtilities.h: \
- In function 'OCStackResult OC::nil_guard(PtrT&&, FnT&&, ParamTs&& ...)':
- resource/include/OCUtilities.h:85:21: \
- error: 'bind' is not a member of 'std'
- return std::bind(fn, p, std::ref(params)...)();
-
- resource/include/OCApi.h: At global scope:
- resource/include/OCApi.h:362:18: \
- error: 'function' in namespace 'std' does not name a template type
- typedef std::function<void(std::shared_ptr<OCResource>)> FindCallback;
-
-Change-Id: Ie1cab497c33fde394f77490a1d636eb36a563396
-Origin: https://gerrit.iotivity.org/gerrit/#/c/21069/
-Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/21067
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-Tested-by: jenkins-iotivity <jenkins@iotivity.org>
----
- resource/include/OCApi.h | 2 --
- resource/include/OCUtilities.h | 1 +
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/resource/include/OCApi.h b/resource/include/OCApi.h
-index 4e14f29cc..af9721554 100644
---- a/resource/include/OCApi.h
-+++ b/resource/include/OCApi.h
-@@ -27,9 +27,7 @@
- #include <map>
- #include <memory>
- #include <iterator>
--#if defined(_MSC_VER)
- #include <functional>
--#endif
-
- #include "octypes.h"
- #include "OCHeaderOption.h"
-diff --git a/resource/include/OCUtilities.h b/resource/include/OCUtilities.h
-index 85039d0c1..f1c93045f 100644
---- a/resource/include/OCUtilities.h
-+++ b/resource/include/OCUtilities.h
-@@ -26,6 +26,7 @@
- #include <memory>
- #include <utility>
- #include <exception>
-+#include <functional>
-
- #include <OCException.h>
- #include <StringConstants.h>
---
-2.17.1
-