freediameter: Upgrade to latest on master 1.5.0+

This also fixes all ptests, therefore move freediameter
out of PTESTS_PROBLEMS_META_NETWORKING to PTESTS_FAST_META_NETWORKING

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2024-04-14 08:20:27 -07:00
parent 6f31534c9f
commit 47ccb88d94
No known key found for this signature in database
GPG Key ID: BB053355919D3314
4 changed files with 14 additions and 107 deletions

View File

@ -7,6 +7,7 @@
# ptests which take less than ~30s each
PTESTS_FAST_META_NETWORKING = "\
freediameter \
geoip \
libcoap \
libldb \
@ -27,7 +28,6 @@ PTESTS_SLOW_META_NETWORKING = "\
"
PTESTS_PROBLEMS_META_NETWORKING = "\
freediameter \
geoip-perl \
libtevent \
lksctp-tools \

View File

@ -1,97 +0,0 @@
From d527a0b7b63e43263384540b5525714484bb089f Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
Date: Mon, 3 Sep 2018 14:40:56 +0800
Subject: [PATCH] libfdcore/sctp.c: update the old sctp api check
The initial sctp api check for freediameter as below:
===
commit d3c5e991cb532ea09684d69fb4d0d58e9bc39a0c
Author: Sebastien Decugis <sdecugis@freediameter.net>
Date: Mon Jun 3 12:05:37 2013 +0800
Add some compliancy to RFC6458. Not tested however as Ubuntu does not support this yet
[snip]
+/* Use old draft-ietf-tsvwg-sctpsocket-17 API ? If not defined, RFC6458 API will be used */
+/* #define OLD_SCTP_SOCKET_API */
+
+/* Automatically fallback to old API if some of the new symbols are not defined */
+#if (!defined(SCTP_CONNECTX_4_ARGS) || (!defined(SCTP_RECVRCVINFO)) || (!defined(SCTP_SNDINFO)))
+# define OLD_SCTP_SOCKET_API
+#endif
===
SCTP_RECVRCVINFO is defined in <linux/sctp.h>,
but <linux/sctp.h> is't included in the source code
previouly. So defined(SCTP_RECVRCVINFO) can be 0
and it make old sctp socket api definiton in effect
as below:
# define OLD_SCTP_SOCKET_API
After lksctp-tools upgrade to 1.0.18, there is below
commit introduced:
===
commit 3c8bd0d26b64611c690f33f5802c734b0642c1d8
Author: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date: Tue Apr 17 20:17:14 2018 -0300
sctp.h: make use kernel UAPI header
and with that, remove tons of duplicated declarations. These were
lagging behind the kernel header, which is always the most updated one,
and as the library is intended to be run only on Linux, there is no
reason that we cannot re-use what is in there.
That said, this patch drops all duplicated declarations and includes
linux/sctp.h to bring them into lksctp-tools.
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
[snip]
#include <stdint.h>
#include <linux/types.h>
#include <sys/socket.h>
+#include <linux/sctp.h>
[snip]
===
And above logic make defined(SCTP_RECVRCVINFO) to
be 1 and the old sctp socket api macro as below
won't be defined.
# define OLD_SCTP_SOCKET_API
And it encouters below build error:
| /build/freediameter/1.2.1-r0/freeDiameter-1.2.1/libfdcore/sctp.c:1262:9: error: 'SCTP_SEND_FAILED_EVENT' undeclared (first use in this function); did you mean 'SCTP_SEND_FAILED'?
case SCTP_SEND_FAILED_EVENT:
^~~~~~~~~~~~~~~~~~~~~~
SCTP_SEND_FAILED
| /build/freediameter/1.2.1-r0/freeDiameter-1.2.1/libfdcore/sctp.c:1262:9: note: each undeclared identifier is reported only once for each function it appears in
| /build/freediameter/1.2.1-r0/freeDiameter-1.2.1/libfdcore/sctp.c:1274:9: error: 'SCTP_NOTIFICATIONS_STOPPED_EVENT' undeclared (first use in this function); did you mean 'SCTP_AUTHENTICATION_EVENT'?
case SCTP_NOTIFICATIONS_STOPPED_EVENT:
Update the old sctp socket api check to fix
the above build error.
Upstream-Status: Pending
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
---
libfdcore/sctp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libfdcore/sctp.c b/libfdcore/sctp.c
index c80a497..83440c7 100644
--- a/libfdcore/sctp.c
+++ b/libfdcore/sctp.c
@@ -48,7 +48,7 @@
/* #define OLD_SCTP_SOCKET_API */
/* Automatically fallback to old API if some of the new symbols are not defined */
-#if (!defined(SCTP_CONNECTX_4_ARGS) || (!defined(SCTP_RECVRCVINFO)) || (!defined(SCTP_SNDINFO)))
+#if (!defined(SCTP_CONNECTX_4_ARGS) || (!defined(SCTP_NOTIFICATIONS_STOPPED_EVENT)) || (!defined(SCTP_SNDINFO)))
# define OLD_SCTP_SOCKET_API
#endif
--
2.7.4

View File

@ -7,4 +7,8 @@ if ! lsmod | grep -q sctp && ! modprobe sctp 2>/dev/null; then
fi
cmake -E cmake_echo_color --cyan "Running tests..."
ctest --force-new-ctest-process
if ctest --force-new-ctest-process ; then
echo "PASS: freediameter"
else
echo "FAIL: freediameter"
fi

View File

@ -13,22 +13,22 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
fd_pkgname = "freeDiameter"
SRC_URI = "\
http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \
PV .= "+git"
SRCREV = "f9f1e464e6c675d222b3be4cab9c13408d544c83"
SRC_URI = "git://github.com/freeDiameter/freeDiameter;protocol=https;branch=master \
file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
file://run-ptest \
file://freediameter.service \
file://freediameter.init \
${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://0001-tests-use-EXTENSIONS_DIR.patch', '', d)} \
file://freeDiameter.conf \
file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \
file://install_test.patch \
file://0001-tests-use-EXTENSIONS_DIR.patch \
"
SRC_URI[sha256sum] = "7a537401bd110c606594b7c6be71b993f0ccc73ae151ad68040979286ba4e50e"
S = "${WORKDIR}/${fd_pkgname}-${PV}"
S = "${WORKDIR}/git"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=69bdc1d97648a2d35914563fcbbb361a"
LIC_FILES_CHKSUM = "file://LICENSE;md5=868c059b6147748b1d621e500feeac4f"
PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"