Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
From 42f7bbc1ce4913fe2c0bc76293c5445d31690f5d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 7 Mar 2024 21:02:07 -0800
Subject: [PATCH] configure.ac: do not run conftest in case of cross
compilation
It'll give us nothing but error like below:
./conftest: cannot execute binary file: Exec format error
...
./configure: line 23950: test: -eq: unary operator expected
The version check only has effect on Apple systems. We'd better
avoid error like above when cross compilation.
Also, in case of cross compilation, instead of having the above
Exec format error and resulting in unaligned_cv_fail to yes, set
it directly to yes.
Upstream-Status: Submitted [https://github.com/appneta/tcpreplay/pull/849]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 387219de..15201601 100644
--- a/configure.ac
+++ b/configure.ac
@@ -928,7 +928,7 @@ cat >conftest.c <<EOF
EOF
${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LPCAPLIB \
conftest.c $LIBS >/dev/null 2>&1
-if test -x conftest ; then
+if test -x conftest -a "$cross_compiling" != "yes"; then
full_libpcap_version=$(LD_LIBRARY_PATH="$LPCAP_LD_LIBRARY_PATH" ./conftest)
libpcap_version=$(echo "$full_libpcap_version" | ${CUT} -d' ' -f3)
pcap_version_ok=yes
@@ -1709,7 +1709,7 @@ case "$host_os" in
EOF
${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \
conftest.c $LIBS >/dev/null 2>&1
- if test ! -x conftest ; then
+ if test ! -x conftest -o "$cross_compiling" = "yes" ; then
dnl failed to compile for some reason
unaligned_cv_fail=yes
else
--
2.42.0

View File

@@ -0,0 +1,82 @@
From 5f8c78362b3b1e06f5adff2d4b140509c4799894 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 3 Sep 2023 12:31:59 +0200
Subject: [PATCH] configure.ac: unify search dirs for pcap and add lib32
* add lib32 because when building lib32-tcpreplay it's
impossible to set --with-libpcap so that it would find
both include files as well as the library in lib32 directory
* maybe it would be beneficial to split --with-libpcap
into --with-libpcap-includedir --with-libpcap-libdir as this
already searches in the --with-libpcap value with and
without any "lib" prefix, but include files always expect
"include" dir there
* most of this code was added in:
https://github.com/appneta/tcpreplay/commit/202b8e82f9fd3c84ce5804577caeb36a33baabe7#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R570
* then search for
${host_cpu} lib/${host_cpu} (without -${host_os} suffix)
and ${build_arch}-${host_os} lib/${build_arch}-${host_os}
was added, but only for search of dynamic library in:
https://github.com/appneta/tcpreplay/commit/c3d5236563985a99f8bb02c3f1bd6950e3929047
* ${build_arch}-${host_os} lib/${build_arch}-${host_os}
was later replaced with:
lib/${MULTIARCH} ${MULTIARCH}
and it was added to static library search as well
but for dynamic library it was searching in reversed order:
${MULTIARCH} lib/${MULTIARCH}
https://github.com/appneta/tcpreplay/commit/ed9e3a818bde04813144014561e62f018c9eb85f
I don't think this reversed order was intentional, just unify all 4 cases
to use the same directories in the same order
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Upstream-Status: Submitted [https://github.com/appneta/tcpreplay/pull/819]
---
configure.ac | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 387219de..26ba31a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -671,7 +671,7 @@ AC_ARG_WITH(libpcap,
LPCAPINCDIR=${testdir}
if test $dynamic_link = yes; then
for ext in .dylib .so .tbd ; do
- for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
sharefile=$(ls ${testdir}/$dir/libpcap${ext}* 2> /dev/null | sort | head -n1)
if test -n "${sharefile}"; then
LPCAP_LD_LIBRARY_PATH="$(dirname ${sharefile})"
@@ -690,7 +690,7 @@ AC_ARG_WITH(libpcap,
dnl If dynamic library not found, try static
dnl
for ext in ${libext} .a .A.tbd ; do
- for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
staticfile=$(ls ${testdir}/$dir/libpcap${ext} 2> /dev/null | sort | head -n1)
if test -n "${staticfile}"; then
LPCAPLIB="${staticfile}"
@@ -771,7 +771,7 @@ AC_ARG_WITH(libpcap,
LPCAPINCDIR="${testdir}/include"
if test $dynamic_link = yes; then
for ext in .dylib .so .tbd; do
- for dir in . lib lib64 ${host_cpu} lib/${host_cpu} ${host_cpu}-${host_os} lib/${host_cpu}-${host_os} ${MULTIARCH} lib/${MULTIARCH}; do
+ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
sharefile=$(ls "${testdir}/$dir/libpcap${ext}" 2> /dev/null | sort | head -n1)
if test -n "${sharefile}"; then
LPCAPLIB="-L$(dirname ${sharefile}) -lpcap"
@@ -790,7 +790,7 @@ AC_ARG_WITH(libpcap,
dnl If dynamic library not found, try static
dnl
for ext in ${libext} .a .A.tbd ; do
- for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
staticfile=$(ls "${testdir}/$dir/libpcap${ext}" 2> /dev/null | sort | head -n1)
if test -n "${staticfile}"; then
LPCAPLIB="${staticfile}"

View File

@@ -0,0 +1,45 @@
From 769e96b60f631e8c208fd7f72900d0bb17760f88 Mon Sep 17 00:00:00 2001
From: Yi Zhao <yi.zhao@windriver.com>
Date: Tue, 30 Aug 2022 09:54:11 +0800
Subject: [PATCH] libopts.m4: set POSIX_SHELL to /bin/sh
POSIX_SHELL is specified a host tool path as it searches path on build
host using `which` when configure. Set it to a fixed path '/bin/sh'.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
m4/libopts.m4 | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/m4/libopts.m4 b/m4/libopts.m4
index cfbd477..c8047eb 100644
--- a/m4/libopts.m4
+++ b/m4/libopts.m4
@@ -111,21 +111,7 @@ AC_DEFUN([INVOKE_LIBOPTS_MACROS_FIRST],[
AC_CHECK_FUNCS([mmap canonicalize_file_name snprintf strdup strchr \
strrchr strsignal fchmod fstat chmod])
AC_PROG_SED
- [while :
- do
- POSIX_SHELL=`which bash`
- test -x "$POSIX_SHELL" && break
- POSIX_SHELL=`which dash`
- test -x "$POSIX_SHELL" && break
- POSIX_SHELL=/usr/xpg4/bin/sh
- test -x "$POSIX_SHELL" && break
- POSIX_SHELL=`/bin/sh -c '
- exec 2>/dev/null
- if ! true ; then exit 1 ; fi
- echo /bin/sh'`
- test -x "$POSIX_SHELL" && break
- ]AC_MSG_ERROR([cannot locate a working POSIX shell])[
- done]
+ POSIX_SHELL='/bin/sh'
AC_DEFINE_UNQUOTED([POSIX_SHELL], ["${POSIX_SHELL}"],
[define to a working POSIX compliant shell])
AC_SUBST([POSIX_SHELL])
--
2.25.1

View File

@@ -0,0 +1,27 @@
From 62bc10d4f1d2c9e2833ef2898fb0170e9300a9dd Mon Sep 17 00:00:00 2001
From: Marsman1996 <lqliuyuwei@outlook.com>
Date: Tue, 2 Apr 2024 17:29:21 +0800
Subject: [PATCH] dlt_jnpr_ether_cleanup: check config before cleanup
CVE: CVE-2023-4256
Upstream-Status: Backport [https://github.com/appneta/tcpreplay/pull/851]
Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
---
src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c b/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c
index c53ec297..9642a2c2 100644
--- a/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c
+++ b/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c
@@ -164,8 +164,9 @@ dlt_jnpr_ether_cleanup(tcpeditdlt_t *ctx)
jnpr_ether_config_t *config;
config = (jnpr_ether_config_t *)ctx->encoder->config;
- if (config->subctx != NULL)
+ if (config != NULL && config->subctx != NULL) {
tcpedit_dlt_cleanup(config->subctx);
+ }
safe_free(plugin->config);
plugin->config = NULL;
plugin->config_size = 0;

View File

@@ -0,0 +1,39 @@
From 3164a75f2660a5c3537feff9fd8751346cf5ca57 Mon Sep 17 00:00:00 2001
From: Gabriel Ganne <gabriel.ganne@gmail.com>
Date: Sun, 21 Jan 2024 09:16:38 +0100
Subject: [PATCH] add check for empty cidr
This causes tcprewrite to exit with an error instead of crashing.
Fixes: #824
Upstream-Status: Backport
CVE: CVE-2023-43279
Reference to upstream patch:
https://github.com/appneta/tcpreplay/pull/860/commits/963842ceca79e97ac3242448a0de94fb901d3560
Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
src/common/cidr.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/common/cidr.c b/src/common/cidr.c
index 687fd04..9afbfec 100644
--- a/src/common/cidr.c
+++ b/src/common/cidr.c
@@ -249,6 +249,10 @@ parse_cidr(tcpr_cidr_t **cidrdata, char *cidrin, char *delim)
char *network;
char *token = NULL;
+ if (cidrin == NULL) {
+ errx(-1, "%s", "Unable to parse empty CIDR");
+ }
+
mask_cidr6(&cidrin, delim);
/* first iteration of input using strtok */
--
2.25.1

View File

@@ -0,0 +1,90 @@
From 5b5644356693f5c68dd4295e86f24f1d0a515d60 Mon Sep 17 00:00:00 2001
From: Fred Klassen <fred.klassen@broadcom.com>
Date: Sat, 1 Jun 2024 11:46:10 -0700
Subject: [PATCH 1/2] Bug #827 PR# 842: add check for IPv6 extension header
length
CVE: CVE-2024-22654
Upstream-Status: Backport [https://github.com/appneta/tcpreplay/commit/5b5644356693f5c68dd4295e86f24f1d0a515d60]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/common/get.c | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/src/common/get.c b/src/common/get.c
index 2d91116..89fe95b 100644
--- a/src/common/get.c
+++ b/src/common/get.c
@@ -41,8 +41,8 @@ extern const char pcap_version[];
static void *get_ipv6_next(struct tcpr_ipv6_ext_hdr_base *exthdr, const u_char *end_ptr);
/**
- * Depending on what version of libpcap/WinPcap there are different ways to get
- * the version of the libpcap/WinPcap library. This presents a unified way to
+ * Depending on what version of libpcap there are different ways to get
+ * the version of the libpcap library. This presents a unified way to
* get that information.
*/
const char *
@@ -196,8 +196,15 @@ parse_metadata(const u_char *pktdata,
uint32_t *vlan_offset)
{
bool done = false;
- int res = 0;
- while (!done && res == 0) {
+ assert(next_protocol);
+ assert(l2len);
+ assert(l2offset);
+ assert(vlan_offset);
+
+ if (!pktdata || !datalen)
+ errx(-1, "parse_metadata: invalid L2 parameters: pktdata=0x%p len=%d", pktdata, datalen);
+
+ while (!done) {
switch (*next_protocol) {
case ETHERTYPE_VLAN:
case ETHERTYPE_Q_IN_Q:
@@ -205,18 +212,22 @@ parse_metadata(const u_char *pktdata,
if (*vlan_offset == 0)
*vlan_offset = *l2len;
- res = parse_vlan(pktdata, datalen, next_protocol, l2len);
+ if (parse_vlan(pktdata, datalen, next_protocol, l2len))
+ return -1;
+
break;
case ETHERTYPE_MPLS:
case ETHERTYPE_MPLS_MULTI:
- res = parse_mpls(pktdata, datalen, next_protocol, l2len, l2offset);
+ if (parse_mpls(pktdata, datalen, next_protocol, l2len, l2offset))
+ return -1;
+
break;
default:
done = true;
}
}
- return res;
+ return 0;
}
/*
@@ -605,9 +616,11 @@ get_layer4_v6(const ipv6_hdr_t *ip6_hdr, const u_char *end_ptr)
* no further processing, either TCP, UDP, ICMP, etc...
*/
default:
- if (proto != ip6_hdr->ip_nh) {
+ if (proto != ip6_hdr->ip_nh && next) {
dbgx(3, "Returning byte offset of this ext header: %u", IPV6_EXTLEN_TO_BYTES(next->ip_len));
next = (void *)((u_char *)next + IPV6_EXTLEN_TO_BYTES(next->ip_len));
+ if ((u_char*)next > end_ptr)
+ return NULL;
} else {
dbgx(3, "%s", "Returning end of IPv6 Header");
}
--
2.40.0

View File

@@ -0,0 +1,35 @@
From 52ed63329b37ae83cb86504db2c9deb6a91e2fe9 Mon Sep 17 00:00:00 2001
From: Gabriel Ganne <gabriel.ganne@gmail.com>
Date: Sun, 21 Jan 2024 08:59:10 +0100
Subject: [PATCH 2/2] ipv6 - add check for extension header length
Fixes #827
Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
CVE: CVE-2024-22654
Upstream-Status: Backport [https://github.com/appneta/tcpreplay/commit/52ed63329b37ae83cb86504db2c9deb6a91e2fe9]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/common/get.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/common/get.c b/src/common/get.c
index 89fe95b..c31de5d 100644
--- a/src/common/get.c
+++ b/src/common/get.c
@@ -676,6 +676,10 @@ get_ipv6_next(struct tcpr_ipv6_ext_hdr_base *exthdr, const u_char *end_ptr)
case TCPR_IPV6_NH_HBH:
case TCPR_IPV6_NH_AH:
extlen = IPV6_EXTLEN_TO_BYTES(exthdr->ip_len);
+ if (extlen == 0) {
+ dbg(3, "Malformed IPv6 extension header...");
+ return NULL;
+ }
dbgx(3,
"Looks like we're an ext header (0x%hhx). Jumping %u bytes"
" to the next",
--
2.40.0

View File

@@ -0,0 +1,32 @@
SUMMARY = "Use previously captured traffic to test network devices"
HOMEPAGE = "https://tcpreplay.appneta.com/"
SECTION = "net"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8"
SRC_URI = "https://github.com/appneta/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
file://0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch \
file://0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch \
file://0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch \
file://CVE-2023-4256.patch \
file://CVE-2023-43279.patch \
file://CVE-2024-22654-0001.patch \
file://CVE-2024-22654-0002.patch \
"
SRC_URI[sha256sum] = "44f18fb6d3470ecaf77a51b901a119dae16da5be4d4140ffbb2785e37ad6d4bf"
UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases"
DEPENDS = "libpcap"
EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}${prefix}"
inherit siteinfo autotools-brokensep
do_install:append() {
sed -i -e 's:${RECIPE_SYSROOT}::g' ${S}/src/defines.h
}