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,47 @@
From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
From: Zhenhua Luo <zhenhua.luo@freescale.com>
Date: Thu, 10 Apr 2014 11:26:39 +0800
Subject: [PATCH] Correct the path of header files check in Yocto build env
Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
Current Makefile will check headers on host instead of Yocto sysroot, following
error appears. Change the path of header check.
| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
| #include <libaio.h>
| ^
| compilation terminated.
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
---
usr/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/usr/Makefile b/usr/Makefile
index decf13c..9ff8f15 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -1,11 +1,11 @@
sbindir ?= $(PREFIX)/sbin
libdir ?= $(PREFIX)/lib/tgt
-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
+ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h && echo 1),)
CFLAGS += -DUSE_SIGNALFD
endif
-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" | head -n1) && echo 1),)
+ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name "timerfd.h" | head -n1) && echo 1),)
CFLAGS += -DUSE_TIMERFD
endif
@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
CFLAGS += -DUSE_SYSTEMD
endif
-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e /usr/include/libaio.h && echo 1),)
+ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
CFLAGS += -DUSE_EVENTFD
TGTD_OBJS += bs_aio.o
LIBS += -laio

View File

@@ -0,0 +1,29 @@
From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
From: Li xin <lixin.fnst@cn.fujitsu.com>
Date: Sun, 26 Jul 2015 04:23:51 +0900
Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
/work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH /usr/lib
[useless-rpaths]
Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
usr/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/usr/Makefile b/usr/Makefile
index 9ff8f15..cc8df11 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
TGTD_DEP = $(TGTD_OBJS:.o=.d)
-LDFLAGS = -Wl,-E,-rpath=$(libdir)
+LDFLAGS += -Wl,-E
.PHONY:all
all: $(PROGRAMS) $(MODULES)

View File

@@ -0,0 +1,71 @@
From abd8e0d987ab56013d360077202bf2aca20a42dd Mon Sep 17 00:00:00 2001
From: Richard Weinberger <richard@nod.at>
Date: Tue, 3 Sep 2024 16:14:58 +0200
Subject: [PATCH] chap: Use proper entropy source
The challenge sent to the initiator is based on a poor
source of randomness, it uses rand() without seeding it by srand().
So the glibc PRNG is always seeded with 1 and as a consequence the
sequence of challenges is always the same.
An attacker which is able to monitor network traffic can apply a replay
attack to bypass the CHAP authentication. All the attacker has to do
is waiting for the server or the service to restart and replay with a
previously record CHAP session which fits into the sequence.
To overcome the issue, use getrandom() to query the kernel random
number generator.
Also always send a challenge of length CHAP_CHALLENGE_MAX, there is no
benefit in sending a variable length challenge.
Signed-off-by: Richard Weinberger <richard@nod.at>
Upstream-Status: Backport [https://github.com/fujita/tgt/commit/abd8e0d987ab56013d360077202bf2aca20a42dd]
CVE: CVE-2024-45751
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
usr/iscsi/chap.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/usr/iscsi/chap.c b/usr/iscsi/chap.c
index aa0fc67..b89ecab 100644
--- a/usr/iscsi/chap.c
+++ b/usr/iscsi/chap.c
@@ -28,6 +28,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/random.h>
#include "iscsid.h"
#include "tgtd.h"
@@ -359,22 +360,19 @@ static int chap_initiator_auth_create_challenge(struct iscsi_connection *conn)
sprintf(text, "%u", (unsigned char)conn->auth.chap.id);
text_key_add(conn, "CHAP_I", text);
- /*
- * FIXME: does a random challenge length provide any benefits security-
- * wise, or should we rather always use the max. allowed length of
- * 1024 for the (unencoded) challenge?
- */
- conn->auth.chap.challenge_size = (rand() % (CHAP_CHALLENGE_MAX / 2)) + CHAP_CHALLENGE_MAX / 2;
+ conn->auth.chap.challenge_size = CHAP_CHALLENGE_MAX;
conn->auth.chap.challenge = malloc(conn->auth.chap.challenge_size);
if (!conn->auth.chap.challenge)
return CHAP_TARGET_ERROR;
+ if (getrandom(conn->auth.chap.challenge, conn->auth.chap.challenge_size, 0) != conn->auth.chap.challenge_size)
+ return CHAP_TARGET_ERROR;
+
p = text;
strcpy(p, "0x");
p += 2;
for (i = 0; i < conn->auth.chap.challenge_size; i++) {
- conn->auth.chap.challenge[i] = rand();
sprintf(p, "%.2hhx", conn->auth.chap.challenge[i]);
p += 2;
}
--
2.25.1

View File

@@ -0,0 +1,41 @@
The definition of __WORDSIZE is found in <sys/reg.h>
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/usr/iscsi/iscsid.h
+++ b/usr/iscsi/iscsid.h
@@ -22,6 +22,9 @@
#include <stdint.h>
#include <inttypes.h>
#include <netdb.h>
+#if !defined(__GLIBC__)
+#include <sys/reg.h>
+#endif
#include "transport.h"
#include "list.h"
--- a/usr/tgtd.h
+++ b/usr/tgtd.h
@@ -1,6 +1,9 @@
#ifndef __TARGET_DAEMON_H
#define __TARGET_DAEMON_H
+#if !defined(__GLIBC__)
+#include <sys/reg.h>
+#endif
#include "log.h"
#include "scsi_cmnd.h"
#include "tgtadm_error.h"
--- a/usr/util.h
+++ b/usr/util.h
@@ -19,6 +19,9 @@
#include <linux/fs.h>
#include <sys/types.h>
#include <sys/stat.h>
+#if !defined(__GLIBC__)
+#include <sys/reg.h>
+#endif
#include "be_byteshift.h"

View File

@@ -0,0 +1,5 @@
# options for tgtd
TGTD_OPTS=""
# configuration file
TGTD_CONFIG=/etc/tgt/targets.conf

View File

@@ -0,0 +1,116 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: tgtd
# Required-Start: $remote_fs $network $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: SCSI target daemon
# Description: Linux SCSI target framework (tgt)
### END INIT INFO
DESC="tgtd"
DAEMON="/usr/sbin/tgtd"
TGTD_CONFIG=/etc/tgt/targets.conf
start ()
{
echo -n "Starting $DESC..."
# Ensure service isn't running
tgt-admin -s >/dev/null 2>&1
RETVAL=$?
if [ "$RETVAL" -ne 107 ] ; then
echo "$DESC is already running."
exit 1
fi
# Start tgtd first
$DAEMON &>/dev/null
RETVAL=$?
if [ "$RETVAL" -ne 0 ]; then
echo "failed."
exit 1
fi
# Put tgtd into "offline" state until all the targets are configured.
# We don't want initiators to (re)connect and fail the connection
# if it's not ready.
tgtadm --op update --mode sys --name State -v offline
# Configure the targets.
tgt-admin -f -e -c $TGTD_CONFIG
# Put tgtd into "ready" state.
tgtadm --op update --mode sys --name State -v ready
echo "done."
}
stop ()
{
echo -n "Stopping $DESC..."
# Remove all targets. It only removes targets which are not in use.
tgt-admin --update ALL -c /dev/null &>/dev/null
# tgtd will exit if all targets were removed
tgtadm --op delete --mode system &>/dev/null
RETVAL=$?
if [ "$RETVAL" -eq 107 ] ; then
if [ "$TASK" != "restart" ] ; then
return 1
fi
elif [ "$RETVAL" -ne 0 ] ; then
echo "Some initiators are still connected - could not stop tgtd"
return 2
fi
echo -n
}
reload()
{
echo "Reloading configuration of $DESC" "$NAME"
# Update configuration for targets. Only targets which
# are not in use will be updated.
tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
RETVAL=$?
if [ "$RETVAL" -eq 107 ] ; then
echo "tgtd is not running"
exit 1
fi
}
status()
{
tgt-admin -s >/dev/null 2>&1
RETVAL=$?
if [ "$RETVAL" -eq 107 ] ; then
echo "tgtd is not running"
else
echo "tgtd is running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
stop
start
;;
reload)
reload
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|force-reload|restart|status|reload}"
exit 1
;;
esac
exit 0

View File

@@ -0,0 +1,33 @@
[Unit]
Description=tgtd iSCSI target daemon
After=network.target
[Service]
EnvironmentFile=@SYSCONFDIR@/sysconfig/tgtd
ExecStart=@SBINDIR@/tgtd -f $TGTD_OPTS
# see bz 848942. workaround for a race for now.
ExecStartPost=@BASE_BINDIR@/sleep 5
# Put tgtd into "offline" state until all the targets are configured.
# We don't want initiators to (re)connect and fail the connection
# if it's not ready.
ExecStartPost=@SBINDIR@/tgtadm --op update --mode sys --name State -v offline
# Configure the targets.
ExecStartPost=@SBINDIR@/tgt-admin -e -c $TGTD_CONFIG
# Put tgtd into "ready" state.
ExecStartPost=@SBINDIR@/tgtadm --op update --mode sys --name State -v ready
# Update configuration for targets. Only targets which
# are not in use will be updated.
ExecReload=@SBINDIR@/tgt-admin --update ALL -c $TGTD_CONFIG
# NOTE: Shutdown of the iscsi target may cause data corruption
# for initiators that are connected.
ExecStop=@SBINDIR@/tgtadm --op update --mode sys --name State -v offline
# Remove all targets. It only removes targets which are not in use.
ExecStop=@SBINDIR@/tgt-admin --update ALL -c /dev/null
# tgtd will exit if all targets were removed
ExecStop=@SBINDIR@/tgtadm --op delete --mode system
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,37 @@
From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine@windriver.com>
Date: Thu, 5 Jan 2017 11:07:51 -0500
Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
---
Upstream-Status: Pending
usr/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/usr/Makefile b/usr/Makefile
index cc8df11..c55fd68 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
tgtadm: $(TGTADM_OBJS)
- $(CC) $^ -o $@
+ $(CC) $^ -o $@ $(LDFLAGS)
-include $(TGTADM_DEP)
@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
tgtimg: $(TGTIMG_OBJS)
- $(CC) $^ -o $@
+ $(CC) $^ -o $@ $(LDFLAGS)
-include $(TGTIMG_DEP)
--
2.7.4

View File

@@ -0,0 +1,94 @@
DESCRIPTION = "Linux SCSI target framework (tgt)"
HOMEPAGE = "http://stgt.sourceforge.net"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
DEPENDS = "sg3-utils libaio"
SRCREV = "df991fa788e22cd8b8e3013cfae306988c19c3d0"
SRC_URI = "git://github.com/fujita/tgt.git;branch=master;protocol=https \
file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
file://0001-usr-Makefile-WARNING-fix.patch \
file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
file://musl-__wordsize.patch \
file://CVE-2024-45751.patch \
"
SRC_URI += "file://tgtd.init \
file://tgtd.service \
file://tgtd \
"
S = "${WORKDIR}/git"
CONFFILES:${PN} += "${sysconfdir}/tgt/targets.conf"
inherit update-rc.d systemd
SYSTEMD_SERVICE:${PN} = "tgtd.service"
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE"
#do_compile() {
# oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf scripts
#}
EXTRA_OEMAKE = "-e programs conf scripts"
do_install() {
oe_runmake -e DESTDIR="${D}" install-programs install-conf install-scripts
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/tgtd.init ${D}${sysconfdir}/init.d/tgtd
elif ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/tgtd.service ${D}${systemd_unitdir}/system/tgtd.service
install -d ${D}${sysconfdir}/sysconfig
install -m 0644 ${WORKDIR}/tgtd ${D}${sysconfdir}/sysconfig/tgtd
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tgtd.service
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/tgtd.service
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/tgtd.service
fi
}
FILES:${PN} += "${systemd_unitdir}/system/tgtd.service \
${sysconfdir}/sysconfig/tgtd \
"
RDEPENDS:${PN} = " \
bash \
libaio \
libconfig-general-perl \
perl \
perl-module-english \
perl-module-tie-hash-namedcapture \
perl-module-xsloader \
perl-module-carp \
perl-module-exporter \
perl-module-errno \
perl-module-exporter-heavy \
perl-module-symbol \
perl-module-selectsaver \
perl-module-dynaloader \
perl-module-carp-heavy \
perl-module-filehandle \
perl-module-feature \
perl-module-overload \
perl-module-fcntl \
perl-module-io \
perl-module-io-file \
perl-module-io-handle \
perl-module-io-seekable \
perl-module-file-glob \
perl-module-base \
perl-module-encoding-warnings \
perl-module-file-spec-unix \
perl-module-file-spec \
perl-module-file-spec-functions \
perl-module-getopt-long \
perl-module-constant \
"
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME:${PN} = "tgtd"