This commit is to add tls context free routine in examples.
Change-Id: I8f4aad9b130cd0a0ff1171e6d1c76a032ba78829
Signed-off-by: Junyeon LEE <junyeon2.lee@samsung.com>
Signed-off-by: EunBong Song <eunb.song@samsung.com>
--- /dev/null
+#
+# For a description of the syntax of this configuration file,
+# see kconfig-language at https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
+#
+
+
+config SYSTEM_PREAPP_INIT
+ bool "Preapp Init"
+ default y
+ ---help---
+ Enable Preapp Init.
+
+if SYSTEM_PREAPP_INIT
+
+config SYSTEM_PREAPP_STACKSIZE
+ int "pre-app thread stack size"
+ default 2048
+ ---help---
+ The size of the stack to allocate for the pre-application thread
+ that is started as soon as the OS completes its initialization.
+
+endif
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_NETDB is not set
# CONFIG_SYSTEM_POWEROFF is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_NETDB is not set
# CONFIG_SYSTEM_POWEROFF is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
-# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_NETDB is not set
# CONFIG_SYSTEM_POWEROFF is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
-# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_POWEROFF is not set
CONFIG_SYSTEM_RAMTEST=y
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_NETDB is not set
# CONFIG_SYSTEM_POWEROFF is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_NETDB is not set
# CONFIG_SYSTEM_POWEROFF is not set
#
CONFIG_IDLETHREAD_STACKSIZE=512
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=1024
# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=1024
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
-# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_POWEROFF is not set
# CONFIG_SYSTEM_RAMTEST is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
-# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_POWEROFF is not set
# CONFIG_SYSTEM_RAMTEST is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_NETDB is not set
# CONFIG_SYSTEM_POWEROFF is not set
#
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=2048
-CONFIG_PREAPP_STACKSIZE=2048
-# CONFIG_MPU_STACKGAURD is not set
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
# CONFIG_SYSTEM_FOTA_HAL is not set
# CONFIG_SYSTEM_I2CTOOL is not set
# CONFIG_SYSTEM_INIFILE is not set
+
+CONFIG_SYSTEM_PREAPP_INIT=y
+CONFIG_SYSTEM_PREAPP_STACKSIZE=2048
+
# CONFIG_SYSTEM_INSTALL is not set
# CONFIG_SYSTEM_POWEROFF is not set
# CONFIG_SYSTEM_RAMTEST is not set
memcpy(&dataP->server_addr, &newConnP->addr, newConnP->addrLen);
dataP->server_addrLen = newConnP->addrLen;
dataP->connList = newConnP;
- }
#ifdef WITH_MBEDTLS
- if (proto == COAP_TCP_TLS || proto == COAP_UDP_DTLS) {
- newConnP->session = TLSSession(dataP->sock, dataP->tls_context, dataP->tls_opt);
- if (newConnP->session == NULL) {
- fprintf(stderr, "Failed to create secure session. \r\n");
- goto exit;
+ if (proto == COAP_TCP_TLS || proto == COAP_UDP_DTLS) {
+ newConnP->session = TLSSession(dataP->sock, dataP->tls_context, dataP->tls_opt);
+ if (newConnP->session == NULL) {
+ fprintf(stderr, "Failed to create secure session. \r\n");
+ goto exit;
+ }
+ fprintf(stderr, "successfully create secure session. \r\n");
}
- fprintf(stderr, "successfully create secure session. \r\n");
- }
#endif
+ }
exit:
lwm2m_free(uri);
if (sock < 0)
{
fprintf(stderr, "Error opening socket: %d\r\n", errno);
- return -1;
+ goto exit;
}
switch(proto) {
newsock = create_tcp_session(sock, &addr, &addrLen);
if (newsock < 0) {
fprintf(stderr, "Error create tcp session\r\n");
- close(sock);
- return -1;
+ goto exit;
} else {
fprintf(stderr, "TCP session has been created\r\n");
connList = connection_new_incoming(connList, newsock, (struct sockaddr *)&addr, addrLen);
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&reuse, sizeof(reuse)) < 0) {
fprintf(stderr, "Error : setsockopt failed %d\r\n", errno);
- close(sock);
- return -1;
+ goto exit;
}
/* Use new API to set protocol type */
if (NULL == lwm2mH)
{
fprintf(stderr, "lwm2m_init2() failed\r\n");
- close(sock);
- return -1;
+ goto exit;
}
//signal(SIGINT, handle_sigint);
if (result != 0)
{
fprintf(stderr, "lwm2m_step() failed: 0x%X\r\n", result);
- return -1;
+ goto exit;
}
result = select(FD_SETSIZE, &readfds, 0, 0, &tv);
if (numBytes == -1)
{
- fprintf(stderr, "Error in recvfrom(): %d %s\r\n", errno, strerror(errno));
- if (errno == ENOTCONN) {
- fprintf(stderr, "Endpoint connection has been closed\r\n");
- goto lwm2mserver_err_exit;
- }
+ fprintf(stderr, "Error in recvfrom(): %d %s\r\n", errno, strerror(errno));
+ if (errno == ENOTCONN) {
+ fprintf(stderr, "Endpoint connection has been closed\r\n");
+ goto exit;
+ }
}
else
{
}
}
-lwm2mserver_err_exit:
- if (lwm2mH != NULL)
- lwm2m_close(lwm2mH);
- close(sock);
- connection_free(connList);
+exit:
+#ifdef WITH_MBEDTLS
+ if (connList && connList->session) {
+ TLSSession_free(connList->session);
+ }
+ if (tls_context) {
+ TLSCtx_free(tls_context);
+ }
+#endif
+
+ if (lwm2mH) {
+ lwm2m_close(lwm2mH);
+ }
+
+ if (sock >= 0) {
+ close(sock);
+ }
+
+ if (connList) {
+ connection_free(connList);
+ }
#ifdef MEMORY_TRACE
if (g_quit == 1)
CSRCS += commandline.c connection.c platform.c memtrace.c
CFLAGS+=-I$(TOPDIR)/../external/wakaama/core
+ifeq ($(CONFIG_LWM2M_SECURITY),y)
+CFLAGS+=-DWITH_MBEDTLS
+endif
+
DEPPATH += --dep-path wakaama/examples/shared
VPATH += :wakaama/examples/shared
memcpy(&(connP->addr), addr, addrLen);
connP->addrLen = addrLen;
connP->next = connList;
+#ifdef WITH_MBEDTLS
+ connP->session = NULL;
+#endif
}
return connP;
connection_t * nextP;
nextP = connList->next;
+#ifdef WITH_MBEDTLS
+ if (connList->session) {
+ if (TLSSession_free(connList->session)) {
+ fprintf(stderr, "Error: fail to free tls session\r\n");
+ }
+ connList->session = NULL;
+ }
+#endif
+
free(connList);
connList = nextP;
The size of the stack to allocate for the user initialization thread
that is started as soon as the OS completes its initialization.
-config PREAPP_STACKSIZE
- int "pre-app thread stack size"
- default 2048
- ---help---
- The size of the stack to allocate for the pre-application thread
- that is started as soon as the OS completes its initialization.
-
config MPU_STACKGAURD
bool "protect thread stack"
default n
svdbg("Starting application init thread\n");
+#ifdef CONFIG_SYSTEM_PREAPP_INIT
#ifdef CONFIG_BUILD_PROTECTED
DEBUGASSERT(USERSPACE->preapp_start != NULL);
- pid = task_create("appinit", SCHED_PRIORITY_DEFAULT, CONFIG_PREAPP_STACKSIZE, USERSPACE->preapp_start, (FAR char *const *)NULL);
+ pid = task_create("appinit", SCHED_PRIORITY_DEFAULT, CONFIG_SYSTEM_PREAPP_STACKSIZE, USERSPACE->preapp_start, (FAR char *const *)NULL);
#else
- pid = task_create("appinit", SCHED_PRIORITY_DEFAULT, CONFIG_PREAPP_STACKSIZE, preapp_start, (FAR char *const *)NULL);
+ pid = task_create("appinit", SCHED_PRIORITY_DEFAULT, CONFIG_SYSTEM_PREAPP_STACKSIZE, preapp_start, (FAR char *const *)NULL);
+#endif
#endif
svdbg("Starting application main thread\n");