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:
@@ -0,0 +1,35 @@
|
||||
From de9639baac792327c701e509258b8a13f6959e82 Mon Sep 17 00:00:00 2001
|
||||
From: Danilo Spinella <danyspin97@protonmail.com>
|
||||
Date: Thu, 21 Mar 2019 14:19:26 +0100
|
||||
Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Submitted [1]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
|
||||
[1] https://gitlab.gnome.org/GNOME/vte/issues/72
|
||||
---
|
||||
src/widget.cc | 4 +++
|
||||
1 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/widget.cc b/src/widget.cc
|
||||
index 07f7cabf..31a77f68 100644
|
||||
--- a/src/widget.cc
|
||||
+++ b/src/widget.cc
|
||||
@@ -16,6 +16,10 @@
|
||||
* along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
+#ifndef W_EXITCODE
|
||||
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
|
||||
+#endif
|
||||
+
|
||||
#include "config.h"
|
||||
|
||||
#include "widget.hh"
|
||||
--
|
||||
2.42.0
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From 036bc3ddcbb56f05c6ca76712a53b89dee1369e2 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Persch <chpe@src.gnome.org>
|
||||
Date: Sun, 2 Jun 2024 19:19:35 +0200
|
||||
Subject: [PATCH] emulation: Restrict resize request to sane numbers
|
||||
|
||||
Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2786
|
||||
(cherry picked from commit fd5511f24b7269195a7083f409244e9787c705dc)
|
||||
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/vte/-/commit/036bc3ddcbb56f05c6ca76712a53b89dee1369e2]
|
||||
CVE: CVE-2024-37535
|
||||
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
|
||||
---
|
||||
src/vteseq.cc | 20 ++++++++++++--------
|
||||
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/vteseq.cc b/src/vteseq.cc
|
||||
index 8d1c2e1..1c73dad 100644
|
||||
--- a/src/vteseq.cc
|
||||
+++ b/src/vteseq.cc
|
||||
@@ -208,9 +208,18 @@ Terminal::emit_bell()
|
||||
/* Emit a "resize-window" signal. (Grid size.) */
|
||||
void
|
||||
Terminal::emit_resize_window(guint columns,
|
||||
- guint rows)
|
||||
-{
|
||||
- _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `resize-window'.\n");
|
||||
+ guint rows)
|
||||
+{
|
||||
+ // Ignore resizes with excessive number of rows or columns,
|
||||
+ // see https://gitlab.gnome.org/GNOME/vte/-/issues/2786
|
||||
+ if (columns < VTE_MIN_GRID_WIDTH ||
|
||||
+ columns > 511 ||
|
||||
+ rows < VTE_MIN_GRID_HEIGHT ||
|
||||
+ rows > 511)
|
||||
+ return;
|
||||
+
|
||||
+ _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `resize-window' %d columns %d rows.\n",
|
||||
+ columns, rows);
|
||||
g_signal_emit(m_terminal, signals[SIGNAL_RESIZE_WINDOW], 0, columns, rows);
|
||||
}
|
||||
|
||||
@@ -4457,8 +4466,6 @@ Terminal::DECSLPP(vte::parser::Sequence const& seq)
|
||||
else if (param < 24)
|
||||
return;
|
||||
|
||||
- _vte_debug_print(VTE_DEBUG_EMULATION, "Resizing to %d rows.\n", param);
|
||||
-
|
||||
emit_resize_window(m_column_count, param);
|
||||
}
|
||||
|
||||
@@ -8917,9 +8924,6 @@ Terminal::XTERM_WM(vte::parser::Sequence const& seq)
|
||||
seq.collect(1, {&height, &width});
|
||||
|
||||
if (width != -1 && height != -1) {
|
||||
- _vte_debug_print(VTE_DEBUG_EMULATION,
|
||||
- "Resizing window to %d columns, %d rows.\n",
|
||||
- width, height);
|
||||
emit_resize_window(width, height);
|
||||
}
|
||||
break;
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
rom c313849c2e5133802e21b13fa0b141b360171d39 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Persch <chpe@src.gnome.org>
|
||||
Date: Sun, 2 Jun 2024 19:19:35 +0200
|
||||
Subject: [PATCH] widget: Add safety limit to widget size requests
|
||||
|
||||
https://gitlab.gnome.org/GNOME/vte/-/issues/2786
|
||||
(cherry picked from commit 1803ba866053a3d7840892b9d31fe2944a183eda)
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/vte/-/commit/c313849c2e5133802e21b13fa0b141b360171d39]
|
||||
CVE: CVE-2024-37535
|
||||
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
|
||||
---
|
||||
src/vtegtk.cc | 35 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 35 insertions(+)
|
||||
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index 0f4641d..060d27e 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -91,6 +91,38 @@
|
||||
template<typename T>
|
||||
constexpr bool check_enum_value(T value) noexcept;
|
||||
|
||||
+static inline void
|
||||
+sanitise_widget_size_request(int* minimum,
|
||||
+ int* natural) noexcept
|
||||
+{
|
||||
+ // Overly large size requests will make gtk happily allocate
|
||||
+ // a window size over the window system's limits (see
|
||||
+ // e.g. https://gitlab.gnome.org/GNOME/vte/-/issues/2786),
|
||||
+ // leading to aborting the whole process.
|
||||
+ // The toolkit should be in a better position to know about
|
||||
+ // these limits and not exceed them (which here is certainly
|
||||
+ // possible since our minimum sizes are very small), let's
|
||||
+ // limit the widget's size request to some large value
|
||||
+ // that hopefully is within the absolute limits of
|
||||
+ // the window system (assumed here to be int16 range,
|
||||
+ // and leaving some space for the widgets that contain
|
||||
+ // the terminal).
|
||||
+ auto const limit = (1 << 15) - (1 << 12);
|
||||
+
|
||||
+ if (*minimum > limit || *natural > limit) {
|
||||
+ static auto warned = false;
|
||||
+
|
||||
+ if (!warned) {
|
||||
+ g_warning("Widget size request (minimum %d, natural %d) exceeds limits\n",
|
||||
+ *minimum, *natural);
|
||||
+ warned = true;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ *minimum = std::min(*minimum, limit);
|
||||
+ *natural = std::clamp(*natural, *minimum, limit);
|
||||
+}
|
||||
+
|
||||
struct _VteTerminalClassPrivate {
|
||||
GtkStyleProvider *style_provider;
|
||||
};
|
||||
@@ -497,6 +529,7 @@ try
|
||||
{
|
||||
VteTerminal *terminal = VTE_TERMINAL(widget);
|
||||
WIDGET(terminal)->get_preferred_width(minimum_width, natural_width);
|
||||
+ sanitise_widget_size_request(minimum_width, natural_width);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
@@ -511,6 +544,7 @@ try
|
||||
{
|
||||
VteTerminal *terminal = VTE_TERMINAL(widget);
|
||||
WIDGET(terminal)->get_preferred_height(minimum_height, natural_height);
|
||||
+ sanitise_widget_size_request(minimum_height, natural_height);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
@@ -748,6 +782,7 @@ try
|
||||
WIDGET(terminal)->measure(orientation, for_size,
|
||||
minimum, natural,
|
||||
minimum_baseline, natural_baseline);
|
||||
+ sanitise_widget_size_request(minimum, natural);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
--
|
||||
2.25.1
|
||||
|
||||
59
sources/poky/meta/recipes-support/vte/vte_0.74.2.bb
Normal file
59
sources/poky/meta/recipes-support/vte/vte_0.74.2.bb
Normal file
@@ -0,0 +1,59 @@
|
||||
SUMMARY = "Virtual terminal emulator GTK+ widget library"
|
||||
DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications."
|
||||
HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
|
||||
LICENSE = "GPL-3.0-only & LGPL-3.0-or-later & MIT"
|
||||
LICENSE:libvte = "LGPL-3.0-or-later"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \
|
||||
file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \
|
||||
file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
|
||||
"
|
||||
|
||||
DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
|
||||
|
||||
GIR_MESON_OPTION = 'gir'
|
||||
GIDOCGEN_MESON_OPTION = "docs"
|
||||
|
||||
inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection systemd vala
|
||||
|
||||
SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
|
||||
file://CVE-2024-37535-01.patch \
|
||||
file://CVE-2024-37535-02.patch \
|
||||
"
|
||||
SRC_URI[archive.sha256sum] = "a535fb2a98fea8a2449cd1a02cccf5190131dddff52e715afdace3feb536eae7"
|
||||
|
||||
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
|
||||
|
||||
EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
|
||||
EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
gnutls \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gtk4', '', d)} \
|
||||
"
|
||||
PACKAGECONFIG[fribidi] = "-Dfribidi=true,-Dfribidi=false,fribidi"
|
||||
PACKAGECONFIG[gtk4] = "-Dgtk4=true,-Dgtk4=false,gtk4"
|
||||
PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
|
||||
PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
|
||||
|
||||
PACKAGES =+ "libvte-gtk4 ${PN}-gtk4 ${PN}-gtk4-dev libvte ${PN}-prompt"
|
||||
FILES:libvte-gtk4 = "${libdir}/lib*gtk4.so.* ${libdir}/girepository-1.0/Vte-3.91.typelib"
|
||||
FILES:${PN}-gtk4 ="${bindir}/vte-2.91-gtk4"
|
||||
FILES:${PN}-gtk4-dev = "${libdir}/lib*gtk4.so \
|
||||
${libdir}/pkgconfig/vte-2.91-gtk4.pc \
|
||||
${datadir}/gir-1.0/Vte-3.91.gir \
|
||||
${datadir}/vala/vapi/vte-2.91-gtk4.deps \
|
||||
${datadir}/vala/vapi/vte-2.91-gtk4.vapi \
|
||||
${includedir}/vte-2.91-gtk4 \
|
||||
"
|
||||
FILES:${PN} +="${systemd_user_unitdir}"
|
||||
FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
|
||||
FILES:${PN}-prompt = " \
|
||||
${sysconfdir}/profile.d \
|
||||
${libexecdir}/vte-urlencode-cwd \
|
||||
"
|
||||
|
||||
FILES:${PN}-dev += "${datadir}/glade/"
|
||||
Reference in New Issue
Block a user