Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libcoap implements a lightweight application-protocol for devices that are constrained their resources such as computing power, RF range, memory, bandwith, or network packet sizes. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Khem Raj <raj.khem@gmail.com>
- Loading branch information
Showing
4 changed files
with
160 additions
and
0 deletions.
There are no files selected for viewing
51 changes: 51 additions & 0 deletions
51
...-devtools/libcoap/libcoap/0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
From c56a64ff4df7eecb6c88ff929497bcd0d65934f2 Mon Sep 17 00:00:00 2001 | ||
From: Jon Shallow <supjps-libcoap@jpshallow.com> | ||
Date: Fri, 22 Apr 2022 13:15:39 +0100 | ||
Subject: [PATCH] coap_session.c: Balance SESSIONS_ADD and SESSIONS_DELETE | ||
usage | ||
|
||
Upstream-Status: Backport [https://github.com/obgm/libcoap/commit/7e20aa9ef17277f39203334404e6c776b1171a7d] | ||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
Signed-off-by: Alex Kiernan <alexk@zuma.ai> | ||
--- | ||
src/coap_session.c | 12 ++++++++++++ | ||
1 file changed, 12 insertions(+) | ||
|
||
diff --git a/src/coap_session.c b/src/coap_session.c | ||
index 77cae598f0af..536e57573361 100644 | ||
--- a/src/coap_session.c | ||
+++ b/src/coap_session.c | ||
@@ -813,6 +813,12 @@ coap_session_create_client( | ||
return session; | ||
|
||
error: | ||
+ /* | ||
+ * Need to add in the session as coap_session_release() | ||
+ * will call SESSIONS_DELETE in coap_session_free(). | ||
+ */ | ||
+ if (session) | ||
+ SESSIONS_ADD(ctx->sessions, session); | ||
coap_session_release(session); | ||
return NULL; | ||
} | ||
@@ -1133,11 +1139,17 @@ coap_session_t *coap_new_server_session( | ||
if (session) { | ||
coap_log(LOG_DEBUG, "***%s: new incoming session\n", | ||
coap_session_str(session)); | ||
+ /* Returned session may already have been released and is now NULL */ | ||
session = coap_session_accept(session); | ||
} | ||
return session; | ||
|
||
error: | ||
+ /* | ||
+ * Need to add in the session as coap_session_release() | ||
+ * will call SESSIONS_DELETE in coap_session_free(). | ||
+ */ | ||
+ SESSIONS_ADD(ep->sessions, session); | ||
coap_session_free(session); | ||
return NULL; | ||
} | ||
-- | ||
2.35.1 | ||
|
44 changes: 44 additions & 0 deletions
44
meta-networking/recipes-devtools/libcoap/libcoap/0001-libcoap-Fix-gnu-configize-error.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
From 25f1bebf1bc4c8da47f976d24a7a424253744e2e Mon Sep 17 00:00:00 2001 | ||
From: Alex Kiernan <alex.kiernan@gmail.com> | ||
Date: Wed, 24 Mar 2021 09:10:17 +0000 | ||
Subject: [PATCH] libcoap: Fix gnu-configize error | ||
|
||
Fix: | ||
|
||
autoreconf: running: gnu-configize | ||
gnu-configize: 'configure.ac' or 'configure.in' is required | ||
autoreconf: gnu-configize failed with exit status: 1 | ||
|
||
We're not pulling in the ext/tinydtls submodule, so this fails. | ||
|
||
Upstream-Status: Inappropriate [oe-specific] | ||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
Signed-off-by: Alex Kiernan <alexk@zuma.ai> | ||
--- | ||
configure.ac | 13 ------------- | ||
1 file changed, 13 deletions(-) | ||
|
||
diff --git a/configure.ac b/configure.ac | ||
index 9f51f4c67557..559808e03aa2 100644 | ||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -472,19 +472,6 @@ if test "x$build_dtls" = "xyes"; then | ||
have_tinydtls="no" # don't confuse AC_MSG_RESULT at the end of the script | ||
fi | ||
|
||
- # The user wants to use explicit TinyDTLS if '--with-tinydtls was set'. | ||
- if test "x$with_tinydtls" = "xyes" ; then | ||
- if test -d "$srcdir/ext/tinydtls"; then | ||
- AC_CONFIG_SUBDIRS([ext/tinydtls]) | ||
- have_tinydtls="yes" | ||
- else | ||
- have_tinydtls="no" # don't confuse AC_MSG_RESULT at the end of the script | ||
- fi | ||
- have_gnutls="no" # don't confuse AC_MSG_RESULT at the end of the script | ||
- have_openssl="no" # don't confuse AC_MSG_RESULT at the end of the script | ||
- have_mbedtls="no" # don't confuse AC_MSG_RESULT at the end of the script | ||
- fi | ||
- | ||
if test "$TLSCOUNT" -eq 0; then | ||
# The user hasn't requested the use of a specific cryptography library | ||
# we try first GnuTLS for usability ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/sh | ||
|
||
if /usr/lib/libcoap/ptest/testdriver; then | ||
echo "PASS: libcoap" | ||
else | ||
echo "FAIL: libcoap" | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
SUMMARY = "A C implementation of the Constrained Application Protocol" | ||
DESCRIPTION = "libcoap implements a lightweight application-protocol for \ | ||
devices that are constrained their resources such as computing power, \ | ||
RF range, memory, bandwith, or network packet sizes." | ||
HOMEPAGE ="https://libcoap.net/" | ||
|
||
LICENSE = "BSD-2-Clause & BSD-1-Clause" | ||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e44b3af4925ec58e9f49b9ff143b5493" | ||
|
||
SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \ | ||
file://0001-libcoap-Fix-gnu-configize-error.patch \ | ||
file://0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch \ | ||
file://run-ptest \ | ||
" | ||
SRCREV = "1da37b9abbe871675d5939395b498324ccc8ecfe" | ||
|
||
S = "${WORKDIR}/git" | ||
|
||
inherit autotools manpages pkgconfig ptest | ||
|
||
PACKAGECONFIG ?= "\ | ||
async openssl tcp \ | ||
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ | ||
" | ||
PACKAGECONFIG[async] = "--enable-async,--disable-async" | ||
PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,openssl mbedtls" | ||
PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native" | ||
PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,gnutls openssl" | ||
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,gnutls mbedtls" | ||
PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack" | ||
PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp" | ||
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit" | ||
|
||
EXTRA_OECONF = "\ | ||
--with-epoll --enable-add-default-names \ | ||
--without-tinydtls \ | ||
${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \ | ||
" | ||
|
||
python () { | ||
if d.getVar('PTEST_ENABLED') == "1": | ||
d.setVar('DISABLE_STATIC', '') | ||
} | ||
|
||
export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" | ||
|
||
do_install_ptest () { | ||
install -d ${D}${PTEST_PATH} | ||
install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest | ||
install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver | ||
} | ||
|
||
PACKAGE_BEFORE_PN += "\ | ||
${PN}-bin \ | ||
" | ||
|
||
FILES:${PN}-bin = "${bindir}" | ||
FILES:${PN}-dev += "${datadir}/${BPN}/examples" |