Compare commits
125
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9266ab06e0 | ||
|
|
4e7856226c | ||
|
|
ef266a16b9 | ||
|
|
f4c3e4a55e | ||
|
|
9c4ef96fe8 | ||
|
|
7efe2b30fe | ||
|
|
cb7613ffb7 | ||
|
|
175260e1e7 | ||
|
|
335dbb595a | ||
|
|
44291c61cd | ||
|
|
e69fb48640 | ||
|
|
f35f7c3eab | ||
|
|
0dcf973e55 | ||
|
|
7b548ebabe | ||
|
|
bfcc79b2ae | ||
|
|
20ffaad8b6 | ||
|
|
4bec4ef23f | ||
|
|
93921d96d5 | ||
|
|
1c896ee8c8 | ||
|
|
b84098a622 | ||
|
|
0919c5de19 | ||
|
|
3de9a93b42 | ||
|
|
f461cbde02 | ||
|
|
f937198512 | ||
|
|
0f94ba0ff3 | ||
|
|
3ab385d89c | ||
|
|
6b42533bf8 | ||
|
|
bdc70c3c0a | ||
|
|
b5346874e5 | ||
|
|
10a31b5be8 | ||
|
|
6c7e79cca3 | ||
|
|
c890cf539b | ||
|
|
cd75458a17 | ||
|
|
e1cbd0808b | ||
|
|
263c07fb96 | ||
|
|
0bc624c6cc | ||
|
|
7acbed4763 | ||
|
|
0998d2c3e2 | ||
|
|
a0aad25941 | ||
|
|
e7213929ba | ||
|
|
a4a6bb61fa | ||
|
|
d4a6583f79 | ||
|
|
8a3260bbc5 | ||
|
|
8acfae6962 | ||
|
|
8e524bc41a | ||
|
|
1a5c0387b3 | ||
|
|
4093b3046b | ||
|
|
2f529f1f9c | ||
|
|
58b385e557 | ||
|
|
81203379df | ||
|
|
775d2ef83e | ||
|
|
a04464807a | ||
|
|
1147afc117 | ||
|
|
a55fe7c69a | ||
|
|
2e9bc6e8fb | ||
|
|
934e95457d | ||
|
|
90df3c558b | ||
|
|
3e87fa6c67 | ||
|
|
1ff517bd9a | ||
|
|
5b0caa8efb | ||
|
|
2d138272ef | ||
|
|
79f0c91b79 | ||
|
|
589ef7294a | ||
|
|
9d5c4d4cb5 | ||
|
|
122e3258b9 | ||
|
|
d67bab2873 | ||
|
|
500723f9fc | ||
|
|
8dd87af9c8 | ||
|
|
e9df0c5363 | ||
|
|
3e24fcfb15 | ||
|
|
5f09ce4e66 | ||
|
|
424a575cde | ||
|
|
53b78df10f | ||
|
|
6bd6b4c2cf | ||
|
|
afdd2760e6 | ||
|
|
44919c0a6e | ||
|
|
a256ff6080 | ||
|
|
15639f4299 | ||
|
|
1c6e9cd37f | ||
|
|
995a61e958 | ||
|
|
6fb61f11b7 | ||
|
|
73554da86f | ||
|
|
999cf19465 | ||
|
|
37b44df9af | ||
|
|
2b72f1d167 | ||
|
|
4fd72a713a | ||
|
|
c4a7dee1c2 | ||
|
|
d8ce1deff9 | ||
|
|
79c7a67a4c | ||
|
|
0ef48995a1 | ||
|
|
b7488b4d68 | ||
|
|
19921699b3 | ||
|
|
a9c74c5b7f | ||
|
|
317c4b8f60 | ||
|
|
57229c22f1 | ||
|
|
2397349fa9 | ||
|
|
f3ab33c62f | ||
|
|
fea8852c68 | ||
|
|
7ec2df1e9a | ||
|
|
cb4e9360b4 | ||
|
|
84b0d834a4 | ||
|
|
39ae14faab | ||
|
|
855f78edd4 | ||
|
|
99674f64ba | ||
|
|
d44a888c32 | ||
|
|
aab82a29bc | ||
|
|
698562e7f5 | ||
|
|
7dd5233b55 | ||
|
|
bf7926230c | ||
|
|
fbcc1bf533 | ||
|
|
d283473ae4 | ||
|
|
1f137a03ea | ||
|
|
386b72ca22 | ||
|
|
16c3b4b92b | ||
|
|
3c8d890c19 | ||
|
|
6fa3a239ac | ||
|
|
8997c746fa | ||
|
|
829610c701 | ||
|
|
94716fdb48 | ||
|
|
cf686670b9 | ||
|
|
6bee7c3eb2 | ||
|
|
65c99394ff | ||
|
|
60f50a5e34 | ||
|
|
c1038fe47c | ||
|
|
47b79476fb |
+2
-10
@@ -107,7 +107,6 @@ boot/at91bootstrap/0003-u-boot-relocation-fix.patch Upstream
|
||||
boot/at91dataflashboot/0001-do-not-install.patch Upstream
|
||||
boot/at91dataflashboot/0002-eabi-fixes.patch Upstream
|
||||
boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch Upstream
|
||||
boot/grub2/0002-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch Upstream
|
||||
boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch Upstream
|
||||
boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch Upstream
|
||||
boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch Upstream
|
||||
@@ -455,7 +454,6 @@ package/freeradius-client/0001-fix-for-nettle.patch Upstream
|
||||
package/freerdp/0001-Fix-variable-declaration-in-loop.patch Upstream
|
||||
package/freerdp/0002-Fixed-variable-declaration-in-loop.patch Upstream
|
||||
package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch Upstream
|
||||
package/freerdp/0004-Fix-8702-Disable-sha3-and-shake-hashes-for-libressl.patch Upstream
|
||||
package/freescale-imx/imx-kobs/0001-Fix-musl-build.patch Upstream
|
||||
package/freescale-imx/imx-kobs/0002-Fix-build-for-recent-toolchains.patch Upstream
|
||||
package/freescale-imx/imx-uuc/S80imx-uuc Indent Shellcheck Variables
|
||||
@@ -756,12 +754,9 @@ package/liboping/0004-Fix-compile-error-on-GCC-7.patch Upstream
|
||||
package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch Upstream
|
||||
package/libp11/0001-src-p11_attr.c-fix-build-with-gcc-4.8.patch Upstream
|
||||
package/libpam-tacplus/0001-Add-an-option-to-disable-Werror.patch Upstream
|
||||
package/libpjsip/0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch Upstream
|
||||
package/libpjsip/0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch Upstream
|
||||
package/libplatform/0001-cmake-require-c-11-as-the-minimum-standard.patch Upstream
|
||||
package/libpng/0001-Disable-pngfix-and-png-fix-itxt.patch Upstream
|
||||
package/libpthsem/0001-fix-build-on-linux-3.x-host.patch Upstream
|
||||
package/libqb/0001-Add-disable-tests-option.patch Upstream
|
||||
package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch Upstream
|
||||
package/libroxml/0001-src-roxml_mem.h-add-missing-extern.patch Upstream
|
||||
package/librsvg/0001-gdk-pixbuf-loader-Makefile.am-set-GDK_PIXBUF_MODULED.patch Upstream
|
||||
@@ -969,8 +964,6 @@ package/neard/S53neard Indent Shellcheck Variables
|
||||
package/neardal/0001-lib-neardal.h-fix-build-with-gcc-10.patch Upstream
|
||||
package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch Upstream
|
||||
package/neon/0002-configure.ac-fix-autoreconf.patch Upstream
|
||||
package/netatalk/0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch Upstream
|
||||
package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch Upstream
|
||||
package/netatalk/S50netatalk EmptyLastLine Indent Variables
|
||||
package/netcat/0001-signed-bit-counting.patch Sob Upstream
|
||||
package/netopeer2/S52netopeer2 Shellcheck Variables
|
||||
@@ -1052,7 +1045,7 @@ package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch Ups
|
||||
package/open-iscsi/0001-SHA3-is-not-supported-by-libressl.patch Upstream
|
||||
package/open-plc-utils/0001-Remove-OWNER-and-GROUPS-parameters-to-install.patch Upstream
|
||||
package/open2300/0001-fix-makefile.patch Upstream
|
||||
package/openjdk/17.0.7+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch Upstream
|
||||
package/openjdk/17.0.8+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch Upstream
|
||||
package/openldap/0001-fix_cross_strip.patch Upstream
|
||||
package/openldap/0002-fix-bignum.patch Upstream
|
||||
package/openldap/0003-disable-docs.patch Upstream
|
||||
@@ -1416,7 +1409,7 @@ package/taskd/0001-Fix-missing-cmakedefine-HAVE_GET_CURRENT_DIR_NAME.patch Upstr
|
||||
package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch Upstream
|
||||
package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch Upstream
|
||||
package/tcf-agent/S55tcf-agent Shellcheck Variables
|
||||
package/tcl/0001-dont-build-compat.patch Upstream
|
||||
package/tcl/0001-Disable-tcl-compatibility-layers.patch Upstream
|
||||
package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch Upstream
|
||||
package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch Upstream
|
||||
package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch Upstream
|
||||
@@ -1638,7 +1631,6 @@ support/download/check-hash Shellcheck
|
||||
support/download/cvs Shellcheck
|
||||
support/download/dl-wrapper Shellcheck
|
||||
support/download/file Shellcheck
|
||||
support/download/git Shellcheck
|
||||
support/download/go-post-process Shellcheck
|
||||
support/download/hg Shellcheck
|
||||
support/download/scp Shellcheck
|
||||
|
||||
@@ -1,3 +1,40 @@
|
||||
2023.08.1, released September 27th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Updated/fixed packages: agentpp, asterisk, bind, binutils,
|
||||
conmon, cpio, docker-cli, docker-engine, e2fsprogs, erlang,
|
||||
esp-hosted, expect, fail2ban, fio, freerdp, fstrcmp, gcc, gdb,
|
||||
ghostscript, go, haproxy, hwloc, icu, irssi, libcoap, libcurl,
|
||||
libde265, libheif, libiec61850, libjxl, libopenssl, libpjsip,
|
||||
libqb, libraw, libssh, libuv, lldpd, mdadm, mutt, ne10,
|
||||
netatalk, nodejs, nut, openblas, opensc, openvpn, petitboot,
|
||||
php, pound, pppd, python-pytest, python3, qt5,
|
||||
rtl8812au-aircrack-ng, sngrep, stress-ng, strongswan, sysstat,
|
||||
tar, tcl, timescaledb, util-linux, vim, webkitgtk, webp,
|
||||
wireshark, xserver_xorg-server, xterm, zbar, zxing-cpp,
|
||||
zynaddsubfx
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#14366: Nodejs fails with "version `GLIBC_2.34' not found"..
|
||||
#15787: atmel_sama5d3_xplained_mmc_defconfig: Missing...
|
||||
#15790: at91sam9x5ek_dev_defconfig: Missing...
|
||||
|
||||
2023.08, released September 6th, 2023
|
||||
|
||||
Various fixes.
|
||||
|
||||
Defconfigs: BeagleV: Fix build issue with binutils >=
|
||||
2.38. Hifive unleashed: U-Boot needs OpenSSL
|
||||
|
||||
Updated/fixed packages: dt, grub2, heirloom-mailx, libgpgme,
|
||||
libtommath, libxcrypt, log4cxx, mesa3d-demos, openjdk,
|
||||
openjdk-bin, pam, pcm-tools, pixman, poppler, python-django,
|
||||
python-ipython, python-pip, python-tornado, zeromq
|
||||
|
||||
New packages: libdecor
|
||||
|
||||
2023.08-rc3, released August 29th, 2023
|
||||
|
||||
Fixes all over the tree.
|
||||
@@ -80,6 +117,38 @@
|
||||
|
||||
Removed packages: libasplib, ocf-linux, tovid
|
||||
|
||||
2023.05.2, released August 31th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Toolchains: Correctly mark Bootlin external toolchains as
|
||||
having OpenMP support.
|
||||
|
||||
Arch: Mark Alderlake x86 variants as no AVX512 support.
|
||||
|
||||
Utils: Ensure utils/docker-run correctly supports git
|
||||
worktrees.
|
||||
|
||||
Defconfigs: Beaglebone: U-Boot needs OpenSSL. Beaglebone qt5:
|
||||
Enable support for green wireless variant.
|
||||
|
||||
Updated/fixed packages: arm-trusted-firmware, bind, cairo,
|
||||
cmocka, containerd, crudini, cryptodev-linux, dmidecode,
|
||||
ffmpeg, firmware-imx, gcc, gdb, ghostscript, gkrellm,
|
||||
gnuradio, go, igh-ethercat, iperf3, kodi, libcurl, libopenssl,
|
||||
libssh, libubootenv, libuhttpd, linux-tools, mali-driver,
|
||||
nfs-utils, ntp, openssh, php, pipewire, python-pysmb,
|
||||
python-iniparse, python-iptables, rtl8189es, rtl8189fs,
|
||||
sam-ba, samba4, seatd, shadow, speex,
|
||||
sunxi-mali-utgard-driver, supertuxkart, sysdig, systemd, tor,
|
||||
tpm2-tss, transmission, uboot, unzip, webkitgtk,
|
||||
wireless-regdb, wolfssl, wpebackend-fdo, wpewebkit, xenomai,
|
||||
yaml-cpp, yavta
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#15634: fluidsynths refers to missing libgomp.so.1
|
||||
|
||||
2023.05.1, released July 17th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
@@ -185,6 +254,35 @@
|
||||
#15376: Libiconv config
|
||||
#15461: QtVirtualKeyboard segfaults
|
||||
|
||||
2023.02.4, released August 31th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Toolchains: Correctly mark Bootlin external toolchains as
|
||||
having OpenMP support.
|
||||
|
||||
Arch: Mark Alderlake x86 variants as having no AVX512 support.
|
||||
|
||||
Utils: Ensure utils/docker-run correctly supports git
|
||||
worktrees.
|
||||
|
||||
Defconfigs: Beaglebone qt5: Enable support for green wireless
|
||||
variant.
|
||||
|
||||
Updated/fixed packages: arm-trusted-firmware, bind, cairo,
|
||||
cmocka, containerd, crudini, dmidecode, ffmpeg, freescale-imx,
|
||||
gcc, gdb, ghostscript, gkrellm, gnuradio, go, heimdall,
|
||||
iperf3, libcurl, libmodsecurity, libopenssl, libssh,
|
||||
libubootenv, libuhttpd, linux-tools, ntp, openssh, php,
|
||||
pipewire, python-iniparse, python-iptables, python-pysmb,
|
||||
rtl8189fs, sam-ba, samba4, seatd, speex, supertuxkart, sysdig,
|
||||
tor, tpm2-tss, uboot, unzip, webkitgtk, wireless-regdb,
|
||||
wolfssl, wpebackend-fdo wpewebkit, xenomai, yaml-cpp, yavta
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#15634: fluidsynths refers to missing libgomp.so.1
|
||||
|
||||
2023.02.3, released July 17th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -365,6 +365,7 @@ F: package/libcec/
|
||||
F: package/libcodec2/
|
||||
F: package/libcrossguid/
|
||||
F: package/libde265/
|
||||
F: package/libdecor/
|
||||
F: package/libdeflate/
|
||||
F: package/libdisplay-info/
|
||||
F: package/libdrm/
|
||||
|
||||
@@ -90,9 +90,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2023.08-rc3
|
||||
export BR2_VERSION := 2023.08.1
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1693313000
|
||||
BR2_VERSION_EPOCH = 1695852000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -927,14 +927,6 @@ pkg-stats:
|
||||
--html $(O)/pkg-stats.html \
|
||||
--nvd-path $(DL_DIR)/buildroot-nvd
|
||||
|
||||
.PHONY: missing-cpe
|
||||
missing-cpe:
|
||||
$(Q)mkdir -p $(CPE_UPDATES_DIR)
|
||||
$(Q)cd "$(CONFIG_DIR)" ; \
|
||||
$(TOPDIR)/support/scripts/gen-missing-cpe \
|
||||
--nvd-path $(DL_DIR)/buildroot-nvd \
|
||||
--output $(CPE_UPDATES_DIR)
|
||||
|
||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
# Some subdirectories are also package names. To avoid that "make linux"
|
||||
@@ -1191,7 +1183,6 @@ help:
|
||||
@echo ' legal-info - generate info about license compliance'
|
||||
@echo ' show-info - generate info about packages, as a JSON blurb'
|
||||
@echo ' pkg-stats - generate info about packages as JSON and HTML'
|
||||
@echo ' missing-cpe - generate XML snippets for missing CPE identifiers'
|
||||
@echo ' printvars - dump internal variables selected with VARS=...'
|
||||
@echo ' show-vars - dump all internal variables as a JSON blurb; use VARS=...'
|
||||
@echo ' to limit the list to variables names matching that pattern'
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From 0cf11f3c0478f4286adcfb09bf9137f8b00212e3 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Ghiti <alexandre.ghiti@canonical.com>
|
||||
Date: Mon, 3 Oct 2022 18:07:54 +0200
|
||||
Subject: [PATCH] riscv: Fix build against binutils 2.38
|
||||
|
||||
The following description is copied from the equivalent patch for the
|
||||
Linux Kernel proposed by Aurelien Jarno:
|
||||
|
||||
>From version 2.38, binutils default to ISA spec version 20191213. This
|
||||
means that the csr read/write (csrr*/csrw*) instructions and fence.i
|
||||
instruction has separated from the `I` extension, become two standalone
|
||||
extensions: Zicsr and Zifencei. As the kernel uses those instruction,
|
||||
this causes the following build failure:
|
||||
|
||||
arch/riscv/cpu/mtrap.S: Assembler messages:
|
||||
arch/riscv/cpu/mtrap.S:65: Error: unrecognized opcode `csrr a0,scause'
|
||||
arch/riscv/cpu/mtrap.S:66: Error: unrecognized opcode `csrr a1,sepc'
|
||||
arch/riscv/cpu/mtrap.S:67: Error: unrecognized opcode `csrr a2,stval'
|
||||
arch/riscv/cpu/mtrap.S:70: Error: unrecognized opcode `csrw sepc,a0'
|
||||
|
||||
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
|
||||
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
|
||||
Tested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
|
||||
Tested-by: Heiko Stuebner <heiko@sntech.de>
|
||||
Tested-by: Christian Stewart <christian@paral.in>
|
||||
Reviewed-by: Rick Chen <rick@andestech.com>
|
||||
(cherry picked from commit 1dde977518f13824b847e23275001191139bc384)
|
||||
Upstream: https://gitlab.com/u-boot/u-boot/-/commit/1dde977518f13824b847e23275001191139bc384
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
arch/riscv/Makefile | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
|
||||
index 0b80eb8d864..53d1194ffb6 100644
|
||||
--- a/arch/riscv/Makefile
|
||||
+++ b/arch/riscv/Makefile
|
||||
@@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y)
|
||||
CMODEL = medany
|
||||
endif
|
||||
|
||||
-ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \
|
||||
+RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_C)
|
||||
+
|
||||
+# Newer binutils versions default to ISA spec version 20191213 which moves some
|
||||
+# instructions from the I extension to the Zicsr and Zifencei extensions.
|
||||
+toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei)
|
||||
+ifeq ($(toolchain-need-zicsr-zifencei),y)
|
||||
+ RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei
|
||||
+endif
|
||||
+
|
||||
+ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \
|
||||
-mcmodel=$(CMODEL)
|
||||
|
||||
PLATFORM_CPPFLAGS += $(ARCH_FLAGS)
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -6,7 +6,7 @@ buildroot environment for the Orangepi Lite2. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi Lite2 link:
|
||||
http://www.orangepi.org/Orange%20Pi%20Lite%202/
|
||||
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Lite-2.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Lite2
|
||||
|
||||
@@ -6,7 +6,7 @@ buildroot environment for the Orangepi One Plus. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi One Plus link:
|
||||
http://www.orangepi.org/OrangePiOneplus/
|
||||
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-One-Plus.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+One+Plus
|
||||
|
||||
@@ -6,7 +6,7 @@ buildroot environment for the Orangepi Zero Plus. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi Zero Plus link:
|
||||
http://www.orangepi.org/OrangePiZeroPlus/
|
||||
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus.html
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ buildroot environment for the Orangepi Zero Plus2. With the current configuratio
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi Zero Plus2 link:
|
||||
http://www.orangepi.org/OrangePiZeroPlus2/
|
||||
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Zero+Plus2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 8418defaf0902bdd8af188221ae54c5a3d6ad05d Mon Sep 17 00:00:00 2001
|
||||
From 4c1ad500e73d46c83dec369da85db39ae2fe62dd Mon Sep 17 00:00:00 2001
|
||||
From: Michael Chang <mchang@suse.com>
|
||||
Date: Fri, 3 Dec 2021 16:13:28 +0800
|
||||
Subject: [PATCH] grub-mkconfig: Restore umask for the grub.cfg
|
||||
@@ -17,7 +17,7 @@ Fixes: CVE-2021-3981
|
||||
|
||||
Signed-off-by: Michael Chang <mchang@suse.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
[Upstream: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=0adec29674561034771c13e446069b41ef41e4d4]
|
||||
Upstream: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=0adec29674561034771c13e446069b41ef41e4d4
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
util/grub-mkconfig.in | 3 +++
|
||||
@@ -39,5 +39,5 @@ index f8cbb8d7a..84f356ea4 100644
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.37.2
|
||||
2.41.0
|
||||
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
From dfdc742bdb22be468035f96cce0be5fee23b6df5 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Coulson <chris.coulson@canonical.com>
|
||||
Date: Tue, 5 Apr 2022 10:02:04 +0100
|
||||
Subject: [PATCH] loader/efi/chainloader: Simplify the loader state
|
||||
|
||||
The chainloader command retains the source buffer and device path passed
|
||||
to LoadImage(), requiring the unload hook passed to grub_loader_set() to
|
||||
free them. It isn't required to retain this state though - they aren't
|
||||
required by StartImage() or anything else in the boot hook, so clean them
|
||||
up before grub_cmd_chainloader() finishes.
|
||||
|
||||
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 1469983ebb9674753ad333d37087fb8cb20e1dce
|
||||
[Thomas: needed to cherry-pick
|
||||
04c86e0bb7b58fc2f913f798cdb18934933e532d which fixes CVE-2022-28736]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/loader/efi/chainloader.c | 38 +++++++++++++++++-------------
|
||||
1 file changed, 21 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
|
||||
index 2bd80f4db..d1602c89b 100644
|
||||
--- a/grub-core/loader/efi/chainloader.c
|
||||
+++ b/grub-core/loader/efi/chainloader.c
|
||||
@@ -44,25 +44,20 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_dl_t my_mod;
|
||||
|
||||
-static grub_efi_physical_address_t address;
|
||||
-static grub_efi_uintn_t pages;
|
||||
-static grub_efi_device_path_t *file_path;
|
||||
static grub_efi_handle_t image_handle;
|
||||
-static grub_efi_char16_t *cmdline;
|
||||
|
||||
static grub_err_t
|
||||
grub_chainloader_unload (void)
|
||||
{
|
||||
+ grub_efi_loaded_image_t *loaded_image;
|
||||
grub_efi_boot_services_t *b;
|
||||
|
||||
+ loaded_image = grub_efi_get_loaded_image (image_handle);
|
||||
+ if (loaded_image != NULL)
|
||||
+ grub_free (loaded_image->load_options);
|
||||
+
|
||||
b = grub_efi_system_table->boot_services;
|
||||
efi_call_1 (b->unload_image, image_handle);
|
||||
- efi_call_2 (b->free_pages, address, pages);
|
||||
-
|
||||
- grub_free (file_path);
|
||||
- grub_free (cmdline);
|
||||
- cmdline = 0;
|
||||
- file_path = 0;
|
||||
|
||||
grub_dl_unref (my_mod);
|
||||
return GRUB_ERR_NONE;
|
||||
@@ -140,7 +135,7 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename)
|
||||
char *dir_start;
|
||||
char *dir_end;
|
||||
grub_size_t size;
|
||||
- grub_efi_device_path_t *d;
|
||||
+ grub_efi_device_path_t *d, *file_path;
|
||||
|
||||
dir_start = grub_strchr (filename, ')');
|
||||
if (! dir_start)
|
||||
@@ -222,11 +217,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_efi_status_t status;
|
||||
grub_efi_boot_services_t *b;
|
||||
grub_device_t dev = 0;
|
||||
- grub_efi_device_path_t *dp = 0;
|
||||
+ grub_efi_device_path_t *dp = NULL, *file_path = NULL;
|
||||
grub_efi_loaded_image_t *loaded_image;
|
||||
char *filename;
|
||||
void *boot_image = 0;
|
||||
grub_efi_handle_t dev_handle = 0;
|
||||
+ grub_efi_physical_address_t address = 0;
|
||||
+ grub_efi_uintn_t pages = 0;
|
||||
+ grub_efi_char16_t *cmdline = NULL;
|
||||
|
||||
if (argc == 0)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
|
||||
@@ -234,11 +232,6 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
|
||||
grub_dl_ref (my_mod);
|
||||
|
||||
- /* Initialize some global variables. */
|
||||
- address = 0;
|
||||
- image_handle = 0;
|
||||
- file_path = 0;
|
||||
-
|
||||
b = grub_efi_system_table->boot_services;
|
||||
|
||||
file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE);
|
||||
@@ -408,6 +401,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_file_close (file);
|
||||
grub_device_close (dev);
|
||||
|
||||
+ /* We're finished with the source image buffer and file path now. */
|
||||
+ efi_call_2 (b->free_pages, address, pages);
|
||||
+ grub_free (file_path);
|
||||
+
|
||||
grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
|
||||
return 0;
|
||||
|
||||
@@ -419,11 +416,18 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
if (file)
|
||||
grub_file_close (file);
|
||||
|
||||
+ grub_free (cmdline);
|
||||
grub_free (file_path);
|
||||
|
||||
if (address)
|
||||
efi_call_2 (b->free_pages, address, pages);
|
||||
|
||||
+ if (image_handle != NULL)
|
||||
+ {
|
||||
+ efi_call_1 (b->unload_image, image_handle);
|
||||
+ image_handle = NULL;
|
||||
+ }
|
||||
+
|
||||
grub_dl_unref (my_mod);
|
||||
|
||||
return grub_errno;
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
From 8b6336696d93b51703c2015eff3e2d8a02145e43 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Coulson <chris.coulson@canonical.com>
|
||||
Date: Tue, 5 Apr 2022 10:58:28 +0100
|
||||
Subject: [PATCH] commands/boot: Add API to pass context to loader
|
||||
|
||||
Loaders rely on global variables for saving context which is consumed
|
||||
in the boot hook and freed in the unload hook. In the case where a loader
|
||||
command is executed twice, calling grub_loader_set() a second time executes
|
||||
the unload hook, but in some cases this runs when the loader's global
|
||||
context has already been updated, resulting in the updated context being
|
||||
freed and potential use-after-free bugs when the boot hook is subsequently
|
||||
called.
|
||||
|
||||
This adds a new API, grub_loader_set_ex(), which allows a loader to specify
|
||||
context that is passed to its boot and unload hooks. This is an alternative
|
||||
to requiring that loaders call grub_loader_unset() before mutating their
|
||||
global context.
|
||||
|
||||
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 14ceb3b3ff6db664649138442b6562c114dcf56e
|
||||
[Thomas: needed to backport 04c86e0bb7b58fc2f913f798cdb18934933e532d,
|
||||
which fixes CVE-2022-28736]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/commands/boot.c | 66 ++++++++++++++++++++++++++++++++++-----
|
||||
include/grub/loader.h | 5 +++
|
||||
2 files changed, 63 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/grub-core/commands/boot.c b/grub-core/commands/boot.c
|
||||
index bbca81e94..61514788e 100644
|
||||
--- a/grub-core/commands/boot.c
|
||||
+++ b/grub-core/commands/boot.c
|
||||
@@ -27,10 +27,20 @@
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
-static grub_err_t (*grub_loader_boot_func) (void);
|
||||
-static grub_err_t (*grub_loader_unload_func) (void);
|
||||
+static grub_err_t (*grub_loader_boot_func) (void *context);
|
||||
+static grub_err_t (*grub_loader_unload_func) (void *context);
|
||||
+static void *grub_loader_context;
|
||||
static int grub_loader_flags;
|
||||
|
||||
+struct grub_simple_loader_hooks
|
||||
+{
|
||||
+ grub_err_t (*boot) (void);
|
||||
+ grub_err_t (*unload) (void);
|
||||
+};
|
||||
+
|
||||
+/* Don't heap allocate this to avoid making grub_loader_set() fallible. */
|
||||
+static struct grub_simple_loader_hooks simple_loader_hooks;
|
||||
+
|
||||
struct grub_preboot
|
||||
{
|
||||
grub_err_t (*preboot_func) (int);
|
||||
@@ -44,6 +54,29 @@ static int grub_loader_loaded;
|
||||
static struct grub_preboot *preboots_head = 0,
|
||||
*preboots_tail = 0;
|
||||
|
||||
+static grub_err_t
|
||||
+grub_simple_boot_hook (void *context)
|
||||
+{
|
||||
+ struct grub_simple_loader_hooks *hooks;
|
||||
+
|
||||
+ hooks = (struct grub_simple_loader_hooks *) context;
|
||||
+ return hooks->boot ();
|
||||
+}
|
||||
+
|
||||
+static grub_err_t
|
||||
+grub_simple_unload_hook (void *context)
|
||||
+{
|
||||
+ struct grub_simple_loader_hooks *hooks;
|
||||
+ grub_err_t ret;
|
||||
+
|
||||
+ hooks = (struct grub_simple_loader_hooks *) context;
|
||||
+
|
||||
+ ret = hooks->unload ();
|
||||
+ grub_memset (hooks, 0, sizeof (*hooks));
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
int
|
||||
grub_loader_is_loaded (void)
|
||||
{
|
||||
@@ -110,28 +143,45 @@ grub_loader_unregister_preboot_hook (struct grub_preboot *hnd)
|
||||
}
|
||||
|
||||
void
|
||||
-grub_loader_set (grub_err_t (*boot) (void),
|
||||
- grub_err_t (*unload) (void),
|
||||
- int flags)
|
||||
+grub_loader_set_ex (grub_err_t (*boot) (void *context),
|
||||
+ grub_err_t (*unload) (void *context),
|
||||
+ void *context,
|
||||
+ int flags)
|
||||
{
|
||||
if (grub_loader_loaded && grub_loader_unload_func)
|
||||
- grub_loader_unload_func ();
|
||||
+ grub_loader_unload_func (grub_loader_context);
|
||||
|
||||
grub_loader_boot_func = boot;
|
||||
grub_loader_unload_func = unload;
|
||||
+ grub_loader_context = context;
|
||||
grub_loader_flags = flags;
|
||||
|
||||
grub_loader_loaded = 1;
|
||||
}
|
||||
|
||||
+void
|
||||
+grub_loader_set (grub_err_t (*boot) (void),
|
||||
+ grub_err_t (*unload) (void),
|
||||
+ int flags)
|
||||
+{
|
||||
+ grub_loader_set_ex (grub_simple_boot_hook,
|
||||
+ grub_simple_unload_hook,
|
||||
+ &simple_loader_hooks,
|
||||
+ flags);
|
||||
+
|
||||
+ simple_loader_hooks.boot = boot;
|
||||
+ simple_loader_hooks.unload = unload;
|
||||
+}
|
||||
+
|
||||
void
|
||||
grub_loader_unset(void)
|
||||
{
|
||||
if (grub_loader_loaded && grub_loader_unload_func)
|
||||
- grub_loader_unload_func ();
|
||||
+ grub_loader_unload_func (grub_loader_context);
|
||||
|
||||
grub_loader_boot_func = 0;
|
||||
grub_loader_unload_func = 0;
|
||||
+ grub_loader_context = 0;
|
||||
|
||||
grub_loader_loaded = 0;
|
||||
}
|
||||
@@ -158,7 +208,7 @@ grub_loader_boot (void)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
- err = (grub_loader_boot_func) ();
|
||||
+ err = (grub_loader_boot_func) (grub_loader_context);
|
||||
|
||||
for (cur = preboots_tail; cur; cur = cur->prev)
|
||||
if (! err)
|
||||
diff --git a/include/grub/loader.h b/include/grub/loader.h
|
||||
index b20864282..97f231054 100644
|
||||
--- a/include/grub/loader.h
|
||||
+++ b/include/grub/loader.h
|
||||
@@ -40,6 +40,11 @@ void EXPORT_FUNC (grub_loader_set) (grub_err_t (*boot) (void),
|
||||
grub_err_t (*unload) (void),
|
||||
int flags);
|
||||
|
||||
+void EXPORT_FUNC (grub_loader_set_ex) (grub_err_t (*boot) (void *context),
|
||||
+ grub_err_t (*unload) (void *context),
|
||||
+ void *context,
|
||||
+ int flags);
|
||||
+
|
||||
/* Unset current loader, if any. */
|
||||
void EXPORT_FUNC (grub_loader_unset) (void);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
From 583fca49f413e00fe26f8ae7abe0837bbc574f79 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Coulson <chris.coulson@canonical.com>
|
||||
Date: Tue, 5 Apr 2022 11:48:58 +0100
|
||||
Subject: [PATCH] loader/efi/chainloader: Use grub_loader_set_ex()
|
||||
|
||||
This ports the EFI chainloader to use grub_loader_set_ex() in order to fix
|
||||
a use-after-free bug that occurs when grub_cmd_chainloader() is executed
|
||||
more than once before a boot attempt is performed.
|
||||
|
||||
Fixes: CVE-2022-28736
|
||||
|
||||
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 04c86e0bb7b58fc2f913f798cdb18934933e532d
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/loader/efi/chainloader.c | 16 +++++++---------
|
||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
|
||||
index d1602c89b..7557eb269 100644
|
||||
--- a/grub-core/loader/efi/chainloader.c
|
||||
+++ b/grub-core/loader/efi/chainloader.c
|
||||
@@ -44,11 +44,10 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_dl_t my_mod;
|
||||
|
||||
-static grub_efi_handle_t image_handle;
|
||||
-
|
||||
static grub_err_t
|
||||
-grub_chainloader_unload (void)
|
||||
+grub_chainloader_unload (void *context)
|
||||
{
|
||||
+ grub_efi_handle_t image_handle = (grub_efi_handle_t) context;
|
||||
grub_efi_loaded_image_t *loaded_image;
|
||||
grub_efi_boot_services_t *b;
|
||||
|
||||
@@ -64,8 +63,9 @@ grub_chainloader_unload (void)
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
-grub_chainloader_boot (void)
|
||||
+grub_chainloader_boot (void *context)
|
||||
{
|
||||
+ grub_efi_handle_t image_handle = (grub_efi_handle_t) context;
|
||||
grub_efi_boot_services_t *b;
|
||||
grub_efi_status_t status;
|
||||
grub_efi_uintn_t exit_data_size;
|
||||
@@ -225,6 +225,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_efi_physical_address_t address = 0;
|
||||
grub_efi_uintn_t pages = 0;
|
||||
grub_efi_char16_t *cmdline = NULL;
|
||||
+ grub_efi_handle_t image_handle = NULL;
|
||||
|
||||
if (argc == 0)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
|
||||
@@ -405,7 +406,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
efi_call_2 (b->free_pages, address, pages);
|
||||
grub_free (file_path);
|
||||
|
||||
- grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
|
||||
+ grub_loader_set_ex (grub_chainloader_boot, grub_chainloader_unload, image_handle, 0);
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
@@ -423,10 +424,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
efi_call_2 (b->free_pages, address, pages);
|
||||
|
||||
if (image_handle != NULL)
|
||||
- {
|
||||
- efi_call_1 (b->unload_image, image_handle);
|
||||
- image_handle = NULL;
|
||||
- }
|
||||
+ efi_call_1 (b->unload_image, image_handle);
|
||||
|
||||
grub_dl_unref (my_mod);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 1e1b1271b7a7c6ac20a4c5f8e0dc29614b4975d1 Mon Sep 17 00:00:00 2001
|
||||
From: Julian Andres Klode <julian.klode@canonical.com>
|
||||
Date: Thu, 2 Dec 2021 15:03:53 +0100
|
||||
Subject: [PATCH] kern/efi/sb: Reject non-kernel files in the shim_lock
|
||||
verifier
|
||||
|
||||
We must not allow other verifiers to pass things like the GRUB modules.
|
||||
Instead of maintaining a blocklist, maintain an allowlist of things
|
||||
that we do not care about.
|
||||
|
||||
This allowlist really should be made reusable, and shared by the
|
||||
lockdown verifier, but this is the minimal patch addressing
|
||||
security concerns where the TPM verifier was able to mark modules
|
||||
as verified (or the OpenPGP verifier for that matter), when it
|
||||
should not do so on shim-powered secure boot systems.
|
||||
|
||||
Fixes: CVE-2022-28735
|
||||
|
||||
Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 6fe755c5c07bb386fda58306bfd19e4a1c974c53
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/kern/efi/sb.c | 39 ++++++++++++++++++++++++++++++++++++---
|
||||
include/grub/verify.h | 1 +
|
||||
2 files changed, 37 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
|
||||
index c52ec6226..89c4bb3fd 100644
|
||||
--- a/grub-core/kern/efi/sb.c
|
||||
+++ b/grub-core/kern/efi/sb.c
|
||||
@@ -119,10 +119,11 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
|
||||
void **context __attribute__ ((unused)),
|
||||
enum grub_verify_flags *flags)
|
||||
{
|
||||
- *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
|
||||
+ *flags = GRUB_VERIFY_FLAGS_NONE;
|
||||
|
||||
switch (type & GRUB_FILE_TYPE_MASK)
|
||||
{
|
||||
+ /* Files we check. */
|
||||
case GRUB_FILE_TYPE_LINUX_KERNEL:
|
||||
case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
|
||||
case GRUB_FILE_TYPE_BSD_KERNEL:
|
||||
@@ -130,11 +131,43 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
|
||||
case GRUB_FILE_TYPE_PLAN9_KERNEL:
|
||||
case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE:
|
||||
*flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
|
||||
+ return GRUB_ERR_NONE;
|
||||
|
||||
- /* Fall through. */
|
||||
+ /* Files that do not affect secureboot state. */
|
||||
+ case GRUB_FILE_TYPE_NONE:
|
||||
+ case GRUB_FILE_TYPE_LOOPBACK:
|
||||
+ case GRUB_FILE_TYPE_LINUX_INITRD:
|
||||
+ case GRUB_FILE_TYPE_OPENBSD_RAMDISK:
|
||||
+ case GRUB_FILE_TYPE_XNU_RAMDISK:
|
||||
+ case GRUB_FILE_TYPE_SIGNATURE:
|
||||
+ case GRUB_FILE_TYPE_PUBLIC_KEY:
|
||||
+ case GRUB_FILE_TYPE_PUBLIC_KEY_TRUST:
|
||||
+ case GRUB_FILE_TYPE_PRINT_BLOCKLIST:
|
||||
+ case GRUB_FILE_TYPE_TESTLOAD:
|
||||
+ case GRUB_FILE_TYPE_GET_SIZE:
|
||||
+ case GRUB_FILE_TYPE_FONT:
|
||||
+ case GRUB_FILE_TYPE_ZFS_ENCRYPTION_KEY:
|
||||
+ case GRUB_FILE_TYPE_CAT:
|
||||
+ case GRUB_FILE_TYPE_HEXCAT:
|
||||
+ case GRUB_FILE_TYPE_CMP:
|
||||
+ case GRUB_FILE_TYPE_HASHLIST:
|
||||
+ case GRUB_FILE_TYPE_TO_HASH:
|
||||
+ case GRUB_FILE_TYPE_KEYBOARD_LAYOUT:
|
||||
+ case GRUB_FILE_TYPE_PIXMAP:
|
||||
+ case GRUB_FILE_TYPE_GRUB_MODULE_LIST:
|
||||
+ case GRUB_FILE_TYPE_CONFIG:
|
||||
+ case GRUB_FILE_TYPE_THEME:
|
||||
+ case GRUB_FILE_TYPE_GETTEXT_CATALOG:
|
||||
+ case GRUB_FILE_TYPE_FS_SEARCH:
|
||||
+ case GRUB_FILE_TYPE_LOADENV:
|
||||
+ case GRUB_FILE_TYPE_SAVEENV:
|
||||
+ case GRUB_FILE_TYPE_VERIFY_SIGNATURE:
|
||||
+ *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
|
||||
+ return GRUB_ERR_NONE;
|
||||
|
||||
+ /* Other files. */
|
||||
default:
|
||||
- return GRUB_ERR_NONE;
|
||||
+ return grub_error (GRUB_ERR_ACCESS_DENIED, N_("prohibited by secure boot policy"));
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/include/grub/verify.h b/include/grub/verify.h
|
||||
index cd129c398..672ae1692 100644
|
||||
--- a/include/grub/verify.h
|
||||
+++ b/include/grub/verify.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
enum grub_verify_flags
|
||||
{
|
||||
+ GRUB_VERIFY_FLAGS_NONE = 0,
|
||||
GRUB_VERIFY_FLAGS_SKIP_VERIFICATION = 1,
|
||||
GRUB_VERIFY_FLAGS_SINGLE_CHUNK = 2,
|
||||
/* Defer verification to another authority. */
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,689 @@
|
||||
From 1faa412c502c7c4ca1230fc152be30b88847fdd2 Mon Sep 17 00:00:00 2001
|
||||
From: Elyes Haouas <ehaouas@noos.fr>
|
||||
Date: Fri, 4 Mar 2022 07:42:13 +0100
|
||||
Subject: [PATCH] video: Remove trailing whitespaces
|
||||
|
||||
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 1f48917d8ddb490dcdc70176e0f58136b7f7811a
|
||||
[Thomas: needed to backport patches fixing CVEs in the video code]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/bochs.c | 2 +-
|
||||
grub-core/video/capture.c | 2 +-
|
||||
grub-core/video/cirrus.c | 4 ++--
|
||||
grub-core/video/coreboot/cbfb.c | 2 +-
|
||||
grub-core/video/efi_gop.c | 22 +++++++++----------
|
||||
grub-core/video/fb/fbblit.c | 8 +++----
|
||||
grub-core/video/fb/video_fb.c | 10 ++++-----
|
||||
grub-core/video/i386/pc/vbe.c | 34 ++++++++++++++---------------
|
||||
grub-core/video/i386/pc/vga.c | 6 ++---
|
||||
grub-core/video/ieee1275.c | 4 ++--
|
||||
grub-core/video/radeon_fuloong2e.c | 6 ++---
|
||||
grub-core/video/radeon_yeeloong3a.c | 6 ++---
|
||||
grub-core/video/readers/png.c | 2 +-
|
||||
grub-core/video/readers/tga.c | 2 +-
|
||||
grub-core/video/sis315_init.c | 2 +-
|
||||
grub-core/video/sis315pro.c | 8 +++----
|
||||
grub-core/video/sm712.c | 10 ++++-----
|
||||
grub-core/video/video.c | 8 +++----
|
||||
18 files changed, 69 insertions(+), 69 deletions(-)
|
||||
|
||||
diff --git a/grub-core/video/bochs.c b/grub-core/video/bochs.c
|
||||
index 30ea1bd82..edc651697 100644
|
||||
--- a/grub-core/video/bochs.c
|
||||
+++ b/grub-core/video/bochs.c
|
||||
@@ -212,7 +212,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
|
||||
if (((class >> 16) & 0xffff) != 0x0300 || pciid != 0x11111234)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
framebuffer.base = grub_pci_read (addr) & GRUB_PCI_ADDR_MEM_MASK;
|
||||
if (!framebuffer.base)
|
||||
diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c
|
||||
index 4d3195e01..c653d89f9 100644
|
||||
--- a/grub-core/video/capture.c
|
||||
+++ b/grub-core/video/capture.c
|
||||
@@ -92,7 +92,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info,
|
||||
framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch);
|
||||
if (!framebuffer.ptr)
|
||||
return grub_errno;
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target,
|
||||
&framebuffer.mode_info,
|
||||
framebuffer.ptr);
|
||||
diff --git a/grub-core/video/cirrus.c b/grub-core/video/cirrus.c
|
||||
index e2149e8ce..f5542ccdc 100644
|
||||
--- a/grub-core/video/cirrus.c
|
||||
+++ b/grub-core/video/cirrus.c
|
||||
@@ -354,11 +354,11 @@ grub_video_cirrus_setup (unsigned int width, unsigned int height,
|
||||
grub_uint8_t sr_ext = 0, hidden_dac = 0;
|
||||
|
||||
grub_vga_set_geometry (&config, grub_vga_cr_write);
|
||||
-
|
||||
+
|
||||
grub_vga_gr_write (GRUB_VGA_GR_MODE_256_COLOR | GRUB_VGA_GR_MODE_READ_MODE1,
|
||||
GRUB_VGA_GR_MODE);
|
||||
grub_vga_gr_write (GRUB_VGA_GR_GR6_GRAPHICS_MODE, GRUB_VGA_GR_GR6);
|
||||
-
|
||||
+
|
||||
grub_vga_sr_write (GRUB_VGA_SR_MEMORY_MODE_NORMAL, GRUB_VGA_SR_MEMORY_MODE);
|
||||
|
||||
grub_vga_cr_write ((config.pitch >> CIRRUS_CR_EXTENDED_DISPLAY_PITCH_SHIFT)
|
||||
diff --git a/grub-core/video/coreboot/cbfb.c b/grub-core/video/coreboot/cbfb.c
|
||||
index 9af81fa5b..986003c51 100644
|
||||
--- a/grub-core/video/coreboot/cbfb.c
|
||||
+++ b/grub-core/video/coreboot/cbfb.c
|
||||
@@ -106,7 +106,7 @@ grub_video_cbfb_setup (unsigned int width, unsigned int height,
|
||||
|
||||
grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
-
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
|
||||
index b7590dc6c..7a5054631 100644
|
||||
--- a/grub-core/video/efi_gop.c
|
||||
+++ b/grub-core/video/efi_gop.c
|
||||
@@ -273,7 +273,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
|
||||
grub_efi_status_t status;
|
||||
struct grub_efi_gop_mode_info *info = NULL;
|
||||
struct grub_video_mode_info mode_info;
|
||||
-
|
||||
+
|
||||
status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
|
||||
|
||||
if (status)
|
||||
@@ -390,7 +390,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
found = 1;
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
if (!found)
|
||||
{
|
||||
unsigned mode;
|
||||
@@ -399,7 +399,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
{
|
||||
grub_efi_uintn_t size;
|
||||
grub_efi_status_t status;
|
||||
-
|
||||
+
|
||||
status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
|
||||
if (status)
|
||||
{
|
||||
@@ -472,11 +472,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base;
|
||||
framebuffer.offscreen
|
||||
= grub_malloc (framebuffer.mode_info.height
|
||||
- * framebuffer.mode_info.width
|
||||
+ * framebuffer.mode_info.width
|
||||
* sizeof (struct grub_efi_gop_blt_pixel));
|
||||
|
||||
buffer = framebuffer.offscreen;
|
||||
-
|
||||
+
|
||||
if (!buffer)
|
||||
{
|
||||
grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
|
||||
@@ -485,11 +485,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
&framebuffer.mode_info);
|
||||
buffer = framebuffer.ptr;
|
||||
}
|
||||
-
|
||||
+
|
||||
grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n",
|
||||
framebuffer.ptr, framebuffer.mode_info.width,
|
||||
framebuffer.mode_info.height, framebuffer.mode_info.bpp);
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_create_render_target_from_pointer
|
||||
(&framebuffer.render_target, &framebuffer.mode_info, buffer);
|
||||
|
||||
@@ -498,15 +498,15 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
grub_dprintf ("video", "GOP: Couldn't create FB target\n");
|
||||
return err;
|
||||
}
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
{
|
||||
grub_dprintf ("video", "GOP: Couldn't set FB target\n");
|
||||
return err;
|
||||
}
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
|
||||
@@ -514,7 +514,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
grub_dprintf ("video", "GOP: Couldn't set palette\n");
|
||||
else
|
||||
grub_dprintf ("video", "GOP: Success\n");
|
||||
-
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/video/fb/fbblit.c b/grub-core/video/fb/fbblit.c
|
||||
index d55924837..1010ef393 100644
|
||||
--- a/grub-core/video/fb/fbblit.c
|
||||
+++ b/grub-core/video/fb/fbblit.c
|
||||
@@ -466,7 +466,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
for (i = 0; i < width; i++)
|
||||
{
|
||||
register grub_uint32_t col;
|
||||
- if (*srcptr == 0xf0)
|
||||
+ if (*srcptr == 0xf0)
|
||||
col = palette[16];
|
||||
else
|
||||
col = palette[*srcptr & 0xf];
|
||||
@@ -478,7 +478,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
*dstptr++ = col >> 0;
|
||||
*dstptr++ = col >> 8;
|
||||
*dstptr++ = col >> 16;
|
||||
-#endif
|
||||
+#endif
|
||||
srcptr++;
|
||||
}
|
||||
|
||||
@@ -651,7 +651,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
for (i = 0; i < width; i++)
|
||||
{
|
||||
register grub_uint32_t col;
|
||||
- if (*srcptr != 0xf0)
|
||||
+ if (*srcptr != 0xf0)
|
||||
{
|
||||
col = palette[*srcptr & 0xf];
|
||||
#ifdef GRUB_CPU_WORDS_BIGENDIAN
|
||||
@@ -662,7 +662,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
*dstptr++ = col >> 0;
|
||||
*dstptr++ = col >> 8;
|
||||
*dstptr++ = col >> 16;
|
||||
-#endif
|
||||
+#endif
|
||||
}
|
||||
else
|
||||
dstptr += 3;
|
||||
diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c
|
||||
index ae6b89f9a..fa4ebde26 100644
|
||||
--- a/grub-core/video/fb/video_fb.c
|
||||
+++ b/grub-core/video/fb/video_fb.c
|
||||
@@ -754,7 +754,7 @@ grub_video_fb_unmap_color_int (struct grub_video_fbblit_info * source,
|
||||
*alpha = 0;
|
||||
return;
|
||||
}
|
||||
-
|
||||
+
|
||||
/* If we have an out-of-bounds color, return transparent black. */
|
||||
if (color > 255)
|
||||
{
|
||||
@@ -1141,7 +1141,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||
/* If everything is aligned on 32-bit use 32-bit copy. */
|
||||
if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
|
||||
% sizeof (grub_uint32_t) == 0
|
||||
- && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
|
||||
+ && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
|
||||
% sizeof (grub_uint32_t) == 0
|
||||
&& linelen % sizeof (grub_uint32_t) == 0
|
||||
&& linedelta % sizeof (grub_uint32_t) == 0)
|
||||
@@ -1155,7 +1155,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||
else if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
|
||||
% sizeof (grub_uint16_t) == 0
|
||||
&& (grub_addr_t) grub_video_fb_get_video_ptr (&target,
|
||||
- dst_x, dst_y)
|
||||
+ dst_x, dst_y)
|
||||
% sizeof (grub_uint16_t) == 0
|
||||
&& linelen % sizeof (grub_uint16_t) == 0
|
||||
&& linedelta % sizeof (grub_uint16_t) == 0)
|
||||
@@ -1170,7 +1170,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||
{
|
||||
grub_uint8_t *src, *dst;
|
||||
DO_SCROLL
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
|
||||
/* 4. Fill empty space with specified color. In this implementation
|
||||
@@ -1615,7 +1615,7 @@ grub_video_fb_setup (unsigned int mode_type, unsigned int mode_mask,
|
||||
framebuffer.render_target = framebuffer.back_target;
|
||||
return GRUB_ERR_NONE;
|
||||
}
|
||||
-
|
||||
+
|
||||
mode_info->mode_type &= ~(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED
|
||||
| GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP);
|
||||
|
||||
diff --git a/grub-core/video/i386/pc/vbe.c b/grub-core/video/i386/pc/vbe.c
|
||||
index b7f911926..0e65b5206 100644
|
||||
--- a/grub-core/video/i386/pc/vbe.c
|
||||
+++ b/grub-core/video/i386/pc/vbe.c
|
||||
@@ -219,7 +219,7 @@ grub_vbe_disable_mtrr (int mtrr)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f09 to set palette data, return status. */
|
||||
-static grub_vbe_status_t
|
||||
+static grub_vbe_status_t
|
||||
grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
|
||||
grub_uint32_t start_index,
|
||||
struct grub_vbe_palette_data *palette_data)
|
||||
@@ -237,7 +237,7 @@ grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -251,7 +251,7 @@ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_mode_info (grub_uint32_t mode,
|
||||
struct grub_vbe_mode_info_block *mode_info)
|
||||
{
|
||||
@@ -285,7 +285,7 @@ grub_vbe_bios_set_mode (grub_uint32_t mode,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_mode (grub_uint32_t *mode)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -298,7 +298,7 @@ grub_vbe_bios_get_mode (grub_uint32_t *mode)
|
||||
return regs.eax & 0xffff;
|
||||
}
|
||||
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -346,7 +346,7 @@ grub_vbe_bios_get_memory_window (grub_uint32_t window,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_set_scanline_length (grub_uint32_t length)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -354,14 +354,14 @@ grub_vbe_bios_set_scanline_length (grub_uint32_t length)
|
||||
regs.ecx = length;
|
||||
regs.eax = 0x4f06;
|
||||
/* BL = 2, Set Scan Line in Bytes. */
|
||||
- regs.ebx = 0x0002;
|
||||
+ regs.ebx = 0x0002;
|
||||
regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
|
||||
grub_bios_interrupt (0x10, ®s);
|
||||
return regs.eax & 0xffff;
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -377,7 +377,7 @@ grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f07 to set display start, return status. */
|
||||
-static grub_vbe_status_t
|
||||
+static grub_vbe_status_t
|
||||
grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -390,7 +390,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
|
||||
regs.edx = y;
|
||||
regs.eax = 0x4f07;
|
||||
/* BL = 80h, Set Display Start during Vertical Retrace. */
|
||||
- regs.ebx = 0x0080;
|
||||
+ regs.ebx = 0x0080;
|
||||
regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
|
||||
grub_bios_interrupt (0x10, ®s);
|
||||
|
||||
@@ -401,7 +401,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f07 to get display start, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_display_start (grub_uint32_t *x,
|
||||
grub_uint32_t *y)
|
||||
{
|
||||
@@ -419,7 +419,7 @@ grub_vbe_bios_get_display_start (grub_uint32_t *x,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f0a. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_pm_interface (grub_uint16_t *segment, grub_uint16_t *offset,
|
||||
grub_uint16_t *length)
|
||||
{
|
||||
@@ -896,7 +896,7 @@ vbe2videoinfo (grub_uint32_t mode,
|
||||
case GRUB_VBE_MEMORY_MODEL_YUV:
|
||||
mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_YUV;
|
||||
break;
|
||||
-
|
||||
+
|
||||
case GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR:
|
||||
mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_RGB;
|
||||
break;
|
||||
@@ -923,10 +923,10 @@ vbe2videoinfo (grub_uint32_t mode,
|
||||
break;
|
||||
case 8:
|
||||
mode_info->bytes_per_pixel = 1;
|
||||
- break;
|
||||
+ break;
|
||||
case 4:
|
||||
mode_info->bytes_per_pixel = 0;
|
||||
- break;
|
||||
+ break;
|
||||
}
|
||||
|
||||
if (controller_info.version >= 0x300)
|
||||
@@ -976,7 +976,7 @@ grub_video_vbe_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
|
||||
|
||||
static grub_err_t
|
||||
grub_video_vbe_setup (unsigned int width, unsigned int height,
|
||||
- grub_video_mode_type_t mode_type,
|
||||
+ grub_video_mode_type_t mode_type,
|
||||
grub_video_mode_type_t mode_mask)
|
||||
{
|
||||
grub_uint16_t *p;
|
||||
@@ -1193,7 +1193,7 @@ grub_video_vbe_print_adapter_specific_info (void)
|
||||
controller_info.version & 0xFF,
|
||||
controller_info.oem_software_rev >> 8,
|
||||
controller_info.oem_software_rev & 0xFF);
|
||||
-
|
||||
+
|
||||
/* The total_memory field is in 64 KiB units. */
|
||||
grub_printf_ (N_(" total memory: %d KiB\n"),
|
||||
(controller_info.total_memory << 6));
|
||||
diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c
|
||||
index b2f776c99..50d0b5e02 100644
|
||||
--- a/grub-core/video/i386/pc/vga.c
|
||||
+++ b/grub-core/video/i386/pc/vga.c
|
||||
@@ -48,7 +48,7 @@ static struct
|
||||
int back_page;
|
||||
} framebuffer;
|
||||
|
||||
-static unsigned char
|
||||
+static unsigned char
|
||||
grub_vga_set_mode (unsigned char mode)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -182,10 +182,10 @@ grub_video_vga_setup (unsigned int width, unsigned int height,
|
||||
|
||||
is_target = 1;
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
return err;
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
|
||||
diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
|
||||
index 17a3dbbb5..f8cf94d96 100644
|
||||
--- a/grub-core/video/ieee1275.c
|
||||
+++ b/grub-core/video/ieee1275.c
|
||||
@@ -234,7 +234,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
|
||||
/* TODO. */
|
||||
return grub_error (GRUB_ERR_IO, "can't set mode %dx%d", width, height);
|
||||
}
|
||||
-
|
||||
+
|
||||
err = grub_video_ieee1275_fill_mode_info (dev, &framebuffer.mode_info);
|
||||
if (err)
|
||||
{
|
||||
@@ -261,7 +261,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
|
||||
|
||||
grub_video_ieee1275_set_palette (0, framebuffer.mode_info.number_of_colors,
|
||||
grub_video_fbstd_colors);
|
||||
-
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/video/radeon_fuloong2e.c b/grub-core/video/radeon_fuloong2e.c
|
||||
index b4da34b5e..40917acb7 100644
|
||||
--- a/grub-core/video/radeon_fuloong2e.c
|
||||
+++ b/grub-core/video/radeon_fuloong2e.c
|
||||
@@ -75,7 +75,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != 0x515a1002)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -139,7 +139,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
|
||||
framebuffer.mapped = 1;
|
||||
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset (framebuffer.ptr, 0x55,
|
||||
+ grub_memset (framebuffer.ptr, 0x55,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
|
||||
#ifndef TEST
|
||||
@@ -152,7 +152,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
|
||||
return err;
|
||||
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
diff --git a/grub-core/video/radeon_yeeloong3a.c b/grub-core/video/radeon_yeeloong3a.c
|
||||
index 52614feb6..48631c181 100644
|
||||
--- a/grub-core/video/radeon_yeeloong3a.c
|
||||
+++ b/grub-core/video/radeon_yeeloong3a.c
|
||||
@@ -74,7 +74,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != 0x96151002)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -137,7 +137,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
|
||||
#endif
|
||||
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset (framebuffer.ptr, 0,
|
||||
+ grub_memset (framebuffer.ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
|
||||
#ifndef TEST
|
||||
@@ -150,7 +150,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
|
||||
return err;
|
||||
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index 0157ff742..54dfedf43 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -916,7 +916,7 @@ grub_png_convert_image (struct grub_png_data *data)
|
||||
}
|
||||
return;
|
||||
}
|
||||
-
|
||||
+
|
||||
if (data->is_gray)
|
||||
{
|
||||
switch (data->bpp)
|
||||
diff --git a/grub-core/video/readers/tga.c b/grub-core/video/readers/tga.c
|
||||
index 7cb9d1d2a..a9ec3a1b6 100644
|
||||
--- a/grub-core/video/readers/tga.c
|
||||
+++ b/grub-core/video/readers/tga.c
|
||||
@@ -127,7 +127,7 @@ tga_load_palette (struct tga_data *data)
|
||||
|
||||
if (len > sizeof (data->palette))
|
||||
len = sizeof (data->palette);
|
||||
-
|
||||
+
|
||||
if (grub_file_read (data->file, &data->palette, len)
|
||||
!= (grub_ssize_t) len)
|
||||
return grub_errno;
|
||||
diff --git a/grub-core/video/sis315_init.c b/grub-core/video/sis315_init.c
|
||||
index ae5c1419c..09c3c7bbe 100644
|
||||
--- a/grub-core/video/sis315_init.c
|
||||
+++ b/grub-core/video/sis315_init.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
|
||||
+static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
|
||||
{
|
||||
{ 0x28, 0x81 },
|
||||
{ 0x2a, 0x00 },
|
||||
diff --git a/grub-core/video/sis315pro.c b/grub-core/video/sis315pro.c
|
||||
index 22a0c85a6..4d2f9999a 100644
|
||||
--- a/grub-core/video/sis315pro.c
|
||||
+++ b/grub-core/video/sis315pro.c
|
||||
@@ -103,7 +103,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != GRUB_SIS315PRO_PCIID)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -218,7 +218,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
|
||||
|
||||
#ifndef TEST
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset (framebuffer.ptr, 0,
|
||||
+ grub_memset (framebuffer.ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
grub_arch_sync_dma_caches (framebuffer.ptr,
|
||||
framebuffer.mode_info.height
|
||||
@@ -231,7 +231,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
|
||||
| GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
|
||||
| GRUB_VGA_IO_MISC_28MHZ
|
||||
| GRUB_VGA_IO_MISC_ENABLE_VRAM_ACCESS
|
||||
- | GRUB_VGA_IO_MISC_COLOR,
|
||||
+ | GRUB_VGA_IO_MISC_COLOR,
|
||||
GRUB_VGA_IO_MISC_WRITE + GRUB_MACHINE_PCI_IO_BASE);
|
||||
|
||||
grub_vga_sr_write (0x86, 5);
|
||||
@@ -335,7 +335,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
|
||||
{
|
||||
if (read_sis_cmd (0x5) != 0xa1)
|
||||
write_sis_cmd (0x86, 0x5);
|
||||
-
|
||||
+
|
||||
write_sis_cmd (read_sis_cmd (0x20) | 0xa1, 0x20);
|
||||
write_sis_cmd (read_sis_cmd (0x1e) | 0xda, 0x1e);
|
||||
|
||||
diff --git a/grub-core/video/sm712.c b/grub-core/video/sm712.c
|
||||
index 10c46eb65..65f59f84b 100644
|
||||
--- a/grub-core/video/sm712.c
|
||||
+++ b/grub-core/video/sm712.c
|
||||
@@ -167,7 +167,7 @@ enum
|
||||
GRUB_SM712_CR_SHADOW_VGA_VBLANK_START = 0x46,
|
||||
GRUB_SM712_CR_SHADOW_VGA_VBLANK_END = 0x47,
|
||||
GRUB_SM712_CR_SHADOW_VGA_VRETRACE_START = 0x48,
|
||||
- GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
|
||||
+ GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
|
||||
GRUB_SM712_CR_SHADOW_VGA_OVERFLOW = 0x4a,
|
||||
GRUB_SM712_CR_SHADOW_VGA_CELL_HEIGHT = 0x4b,
|
||||
GRUB_SM712_CR_SHADOW_VGA_HDISPLAY_END = 0x4c,
|
||||
@@ -375,7 +375,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != GRUB_SM712_PCIID)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -471,7 +471,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
||||
|
||||
#if !defined (TEST) && !defined(GENINIT)
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset ((void *) framebuffer.cached_ptr, 0,
|
||||
+ grub_memset ((void *) framebuffer.cached_ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
#endif
|
||||
|
||||
@@ -482,7 +482,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
||||
grub_sm712_sr_write (0x2, 0x6b);
|
||||
grub_sm712_write_reg (0, GRUB_VGA_IO_PIXEL_MASK);
|
||||
grub_sm712_sr_write (GRUB_VGA_SR_RESET_ASYNC, GRUB_VGA_SR_RESET);
|
||||
- grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
|
||||
+ grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
|
||||
| GRUB_VGA_IO_MISC_NEGATIVE_HORIZ_POLARITY
|
||||
| GRUB_VGA_IO_MISC_UPPER_64K
|
||||
| GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
|
||||
@@ -694,7 +694,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
||||
for (i = 0; i < ARRAY_SIZE (dda_lookups); i++)
|
||||
grub_sm712_write_dda_lookup (i, dda_lookups[i].compare, dda_lookups[i].dda,
|
||||
dda_lookups[i].vcentering);
|
||||
-
|
||||
+
|
||||
/* Undocumented */
|
||||
grub_sm712_cr_write (0, 0x9c);
|
||||
grub_sm712_cr_write (0, 0x9d);
|
||||
diff --git a/grub-core/video/video.c b/grub-core/video/video.c
|
||||
index 983424107..8937da745 100644
|
||||
--- a/grub-core/video/video.c
|
||||
+++ b/grub-core/video/video.c
|
||||
@@ -491,13 +491,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
|
||||
current_mode);
|
||||
|
||||
param++;
|
||||
-
|
||||
+
|
||||
*width = grub_strtoul (value, 0, 0);
|
||||
if (grub_errno != GRUB_ERR_NONE)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
N_("invalid video mode specification `%s'"),
|
||||
current_mode);
|
||||
-
|
||||
+
|
||||
/* Find height value. */
|
||||
value = param;
|
||||
param = grub_strchr(param, 'x');
|
||||
@@ -513,13 +513,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
|
||||
{
|
||||
/* We have optional color depth value. */
|
||||
param++;
|
||||
-
|
||||
+
|
||||
*height = grub_strtoul (value, 0, 0);
|
||||
if (grub_errno != GRUB_ERR_NONE)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
N_("invalid video mode specification `%s'"),
|
||||
current_mode);
|
||||
-
|
||||
+
|
||||
/* Convert color depth value. */
|
||||
value = param;
|
||||
*depth = grub_strtoul (value, 0, 0);
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
From 91d16e415b79f5080fa2bcc21bff6471f6be9f08 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 14:02:55 +1000
|
||||
Subject: [PATCH] video/readers/png: Abort sooner if a read operation fails
|
||||
|
||||
Fuzzing revealed some inputs that were taking a long time, potentially
|
||||
forever, because they did not bail quickly upon encountering an I/O error.
|
||||
|
||||
Try to catch I/O errors sooner and bail out.
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: d5caac8ab79d068ad9a41030c772d03a4d4fbd7b
|
||||
[Thomas: needed to cherry-pick
|
||||
e623866d9286410156e8b9d2c82d6253a1b22d08, which fixes CVE-2021-3695]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 55 ++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 47 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index 54dfedf43..d715c4629 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -142,6 +142,7 @@ static grub_uint8_t
|
||||
grub_png_get_byte (struct grub_png_data *data)
|
||||
{
|
||||
grub_uint8_t r;
|
||||
+ grub_ssize_t bytes_read = 0;
|
||||
|
||||
if ((data->inside_idat) && (data->idat_remain == 0))
|
||||
{
|
||||
@@ -175,7 +176,14 @@ grub_png_get_byte (struct grub_png_data *data)
|
||||
}
|
||||
|
||||
r = 0;
|
||||
- grub_file_read (data->file, &r, 1);
|
||||
+ bytes_read = grub_file_read (data->file, &r, 1);
|
||||
+
|
||||
+ if (bytes_read != 1)
|
||||
+ {
|
||||
+ grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "png: unexpected end of data");
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
if (data->inside_idat)
|
||||
data->idat_remain--;
|
||||
@@ -231,15 +239,16 @@ grub_png_decode_image_palette (struct grub_png_data *data,
|
||||
if (len == 0)
|
||||
return GRUB_ERR_NONE;
|
||||
|
||||
- for (i = 0; 3 * i < len && i < 256; i++)
|
||||
+ grub_errno = GRUB_ERR_NONE;
|
||||
+ for (i = 0; 3 * i < len && i < 256 && grub_errno == GRUB_ERR_NONE; i++)
|
||||
for (j = 0; j < 3; j++)
|
||||
data->palette[i][j] = grub_png_get_byte (data);
|
||||
- for (i *= 3; i < len; i++)
|
||||
+ for (i *= 3; i < len && grub_errno == GRUB_ERR_NONE; i++)
|
||||
grub_png_get_byte (data);
|
||||
|
||||
grub_png_get_dword (data);
|
||||
|
||||
- return GRUB_ERR_NONE;
|
||||
+ return grub_errno;
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
@@ -256,9 +265,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: invalid image size");
|
||||
|
||||
color_bits = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
data->is_16bit = (color_bits == 16);
|
||||
|
||||
color_type = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
/* According to PNG spec, no other types are valid. */
|
||||
if ((color_type & ~(PNG_COLOR_MASK_ALPHA | PNG_COLOR_MASK_COLOR))
|
||||
@@ -340,14 +353,20 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
if (grub_png_get_byte (data) != PNG_COMPRESSION_BASE)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: compression method not supported");
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if (grub_png_get_byte (data) != PNG_FILTER_TYPE_BASE)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: filter method not supported");
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if (grub_png_get_byte (data) != PNG_INTERLACE_NONE)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: interlace method not supported");
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
/* Skip crc checksum. */
|
||||
grub_png_get_dword (data);
|
||||
@@ -449,7 +468,7 @@ grub_png_get_huff_code (struct grub_png_data *data, struct huff_table *ht)
|
||||
int code, i;
|
||||
|
||||
code = 0;
|
||||
- for (i = 0; i < ht->max_length; i++)
|
||||
+ for (i = 0; i < ht->max_length && grub_errno == GRUB_ERR_NONE; i++)
|
||||
{
|
||||
code = (code << 1) + grub_png_get_bits (data, 1);
|
||||
if (code < ht->maxval[i])
|
||||
@@ -504,8 +523,14 @@ grub_png_init_dynamic_block (struct grub_png_data *data)
|
||||
grub_uint8_t lens[DEFLATE_HCLEN_MAX];
|
||||
|
||||
nl = DEFLATE_HLIT_BASE + grub_png_get_bits (data, 5);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
nd = DEFLATE_HDIST_BASE + grub_png_get_bits (data, 5);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
nb = DEFLATE_HCLEN_BASE + grub_png_get_bits (data, 4);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if ((nl > DEFLATE_HLIT_MAX) || (nd > DEFLATE_HDIST_MAX) ||
|
||||
(nb > DEFLATE_HCLEN_MAX))
|
||||
@@ -533,7 +558,7 @@ grub_png_init_dynamic_block (struct grub_png_data *data)
|
||||
data->dist_offset);
|
||||
|
||||
prev = 0;
|
||||
- for (i = 0; i < nl + nd; i++)
|
||||
+ for (i = 0; i < nl + nd && grub_errno == GRUB_ERR_NONE; i++)
|
||||
{
|
||||
int n, code;
|
||||
struct huff_table *ht;
|
||||
@@ -721,17 +746,21 @@ grub_png_read_dynamic_block (struct grub_png_data *data)
|
||||
len = cplens[n];
|
||||
if (cplext[n])
|
||||
len += grub_png_get_bits (data, cplext[n]);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
n = grub_png_get_huff_code (data, &data->dist_table);
|
||||
dist = cpdist[n];
|
||||
if (cpdext[n])
|
||||
dist += grub_png_get_bits (data, cpdext[n]);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
pos = data->wp - dist;
|
||||
if (pos < 0)
|
||||
pos += WSIZE;
|
||||
|
||||
- while (len > 0)
|
||||
+ while (len > 0 && grub_errno == GRUB_ERR_NONE)
|
||||
{
|
||||
data->slide[data->wp] = data->slide[pos];
|
||||
grub_png_output_byte (data, data->slide[data->wp]);
|
||||
@@ -759,7 +788,11 @@ grub_png_decode_image_data (struct grub_png_data *data)
|
||||
int final;
|
||||
|
||||
cmf = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
flg = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if ((cmf & 0xF) != Z_DEFLATED)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
@@ -774,7 +807,11 @@ grub_png_decode_image_data (struct grub_png_data *data)
|
||||
int block_type;
|
||||
|
||||
final = grub_png_get_bits (data, 1);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
block_type = grub_png_get_bits (data, 2);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
switch (block_type)
|
||||
{
|
||||
@@ -790,7 +827,7 @@ grub_png_decode_image_data (struct grub_png_data *data)
|
||||
grub_png_get_byte (data);
|
||||
grub_png_get_byte (data);
|
||||
|
||||
- for (i = 0; i < len; i++)
|
||||
+ for (i = 0; i < len && grub_errno == GRUB_ERR_NONE; i++)
|
||||
grub_png_output_byte (data, grub_png_get_byte (data));
|
||||
|
||||
break;
|
||||
@@ -1045,6 +1082,8 @@ grub_png_decode_png (struct grub_png_data *data)
|
||||
|
||||
len = grub_png_get_dword (data);
|
||||
type = grub_png_get_dword (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ break;
|
||||
data->next_offset = data->file->offset + len + 4;
|
||||
|
||||
switch (type)
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From e170edd18fcfdd9e6f91ba750fd022cef8d43cd4 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 14:13:40 +1000
|
||||
Subject: [PATCH] video/readers/png: Refuse to handle multiple image headers
|
||||
|
||||
This causes the bitmap to be leaked. Do not permit multiple image headers.
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 166a4d61448f74745afe1dac2f2cfb85d04909bf
|
||||
[Thomas: needed to cherry-pick
|
||||
e623866d9286410156e8b9d2c82d6253a1b22d08, which fixes CVE-2021-3695]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index d715c4629..35ae553c8 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -258,6 +258,9 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
int color_bits;
|
||||
enum grub_video_blit_format blt;
|
||||
|
||||
+ if (data->image_width || data->image_height)
|
||||
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: two image headers found");
|
||||
+
|
||||
data->image_width = grub_png_get_dword (data);
|
||||
data->image_height = grub_png_get_dword (data);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
From 5b42d132a029c1d245d94c813a45836522b46226 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 18:51:35 +1000
|
||||
Subject: [PATCH] video/readers/png: Drop greyscale support to fix heap
|
||||
out-of-bounds write
|
||||
|
||||
A 16-bit greyscale PNG without alpha is processed in the following loop:
|
||||
|
||||
for (i = 0; i < (data->image_width * data->image_height);
|
||||
i++, d1 += 4, d2 += 2)
|
||||
{
|
||||
d1[R3] = d2[1];
|
||||
d1[G3] = d2[1];
|
||||
d1[B3] = d2[1];
|
||||
}
|
||||
|
||||
The increment of d1 is wrong. d1 is incremented by 4 bytes per iteration,
|
||||
but there are only 3 bytes allocated for storage. This means that image
|
||||
data will overwrite somewhat-attacker-controlled parts of memory - 3 bytes
|
||||
out of every 4 following the end of the image.
|
||||
|
||||
This has existed since greyscale support was added in 2013 in commit
|
||||
3ccf16dff98f (grub-core/video/readers/png.c: Support grayscale).
|
||||
|
||||
Saving starfield.png as a 16-bit greyscale image without alpha in the gimp
|
||||
and attempting to load it causes grub-emu to crash - I don't think this code
|
||||
has ever worked.
|
||||
|
||||
Delete all PNG greyscale support.
|
||||
|
||||
Fixes: CVE-2021-3695
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: e623866d9286410156e8b9d2c82d6253a1b22d08
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 87 +++--------------------------------
|
||||
1 file changed, 7 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index 35ae553c8..a3161e25b 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -100,7 +100,7 @@ struct grub_png_data
|
||||
|
||||
unsigned image_width, image_height;
|
||||
int bpp, is_16bit;
|
||||
- int raw_bytes, is_gray, is_alpha, is_palette;
|
||||
+ int raw_bytes, is_alpha, is_palette;
|
||||
int row_bytes, color_bits;
|
||||
grub_uint8_t *image_data;
|
||||
|
||||
@@ -296,13 +296,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
data->bpp = 3;
|
||||
else
|
||||
{
|
||||
- data->is_gray = 1;
|
||||
- data->bpp = 1;
|
||||
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "png: color type not supported");
|
||||
}
|
||||
|
||||
if ((color_bits != 8) && (color_bits != 16)
|
||||
&& (color_bits != 4
|
||||
- || !(data->is_gray || data->is_palette)))
|
||||
+ || !data->is_palette))
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: bit depth must be 8 or 16");
|
||||
|
||||
@@ -331,7 +331,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
}
|
||||
|
||||
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
||||
- if (data->is_16bit || data->is_gray || data->is_palette)
|
||||
+ if (data->is_16bit || data->is_palette)
|
||||
#endif
|
||||
{
|
||||
data->image_data = grub_calloc (data->image_height, data->row_bytes);
|
||||
@@ -899,27 +899,8 @@ grub_png_convert_image (struct grub_png_data *data)
|
||||
int shift;
|
||||
int mask = (1 << data->color_bits) - 1;
|
||||
unsigned j;
|
||||
- if (data->is_gray)
|
||||
- {
|
||||
- /* Generic formula is
|
||||
- (0xff * i) / ((1U << data->color_bits) - 1)
|
||||
- but for allowed bit depth of 1, 2 and for it's
|
||||
- equivalent to
|
||||
- (0xff / ((1U << data->color_bits) - 1)) * i
|
||||
- Precompute the multipliers to avoid division.
|
||||
- */
|
||||
-
|
||||
- const grub_uint8_t multipliers[5] = { 0xff, 0xff, 0x55, 0x24, 0x11 };
|
||||
- for (i = 0; i < (1U << data->color_bits); i++)
|
||||
- {
|
||||
- grub_uint8_t col = multipliers[data->color_bits] * i;
|
||||
- palette[i][0] = col;
|
||||
- palette[i][1] = col;
|
||||
- palette[i][2] = col;
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- grub_memcpy (palette, data->palette, 3 << data->color_bits);
|
||||
+
|
||||
+ grub_memcpy (palette, data->palette, 3 << data->color_bits);
|
||||
d1c = d1;
|
||||
d2c = d2;
|
||||
for (j = 0; j < data->image_height; j++, d1c += data->image_width * 3,
|
||||
@@ -957,60 +938,6 @@ grub_png_convert_image (struct grub_png_data *data)
|
||||
return;
|
||||
}
|
||||
|
||||
- if (data->is_gray)
|
||||
- {
|
||||
- switch (data->bpp)
|
||||
- {
|
||||
- case 4:
|
||||
- /* 16-bit gray with alpha. */
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 4, d2 += 4)
|
||||
- {
|
||||
- d1[R4] = d2[3];
|
||||
- d1[G4] = d2[3];
|
||||
- d1[B4] = d2[3];
|
||||
- d1[A4] = d2[1];
|
||||
- }
|
||||
- break;
|
||||
- case 2:
|
||||
- if (data->is_16bit)
|
||||
- /* 16-bit gray without alpha. */
|
||||
- {
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 4, d2 += 2)
|
||||
- {
|
||||
- d1[R3] = d2[1];
|
||||
- d1[G3] = d2[1];
|
||||
- d1[B3] = d2[1];
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- /* 8-bit gray with alpha. */
|
||||
- {
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 4, d2 += 2)
|
||||
- {
|
||||
- d1[R4] = d2[1];
|
||||
- d1[G4] = d2[1];
|
||||
- d1[B4] = d2[1];
|
||||
- d1[A4] = d2[0];
|
||||
- }
|
||||
- }
|
||||
- break;
|
||||
- /* 8-bit gray without alpha. */
|
||||
- case 1:
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 3, d2++)
|
||||
- {
|
||||
- d1[R3] = d2[0];
|
||||
- d1[G3] = d2[0];
|
||||
- d1[B3] = d2[0];
|
||||
- }
|
||||
- break;
|
||||
- }
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
{
|
||||
/* Only copy the upper 8 bit. */
|
||||
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 43a7d9cb829467993ba683a26c980fcfdaa924c8 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 23:25:07 +1000
|
||||
Subject: [PATCH] video/readers/png: Avoid heap OOB R/W inserting huff table
|
||||
items
|
||||
|
||||
In fuzzing we observed crashes where a code would attempt to be inserted
|
||||
into a huffman table before the start, leading to a set of heap OOB reads
|
||||
and writes as table entries with negative indices were shifted around and
|
||||
the new code written in.
|
||||
|
||||
Catch the case where we would underflow the array and bail.
|
||||
|
||||
Fixes: CVE-2021-3696
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 210245129c932dc9e1c2748d9d35524fb95b5042
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index a3161e25b..d7ed5aa6c 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -438,6 +438,13 @@ grub_png_insert_huff_item (struct huff_table *ht, int code, int len)
|
||||
for (i = len; i < ht->max_length; i++)
|
||||
n += ht->maxval[i];
|
||||
|
||||
+ if (n > ht->num_values)
|
||||
+ {
|
||||
+ grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "png: out of range inserting huffman table item");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
for (i = 0; i < n; i++)
|
||||
ht->values[ht->num_values - i] = ht->values[ht->num_values - i - 1];
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
From 6be7ccfcc33da513de66f71de63fdc129fa019c2 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Wed, 7 Jul 2021 15:38:19 +1000
|
||||
Subject: [PATCH] video/readers/jpeg: Block int underflow -> wild pointer write
|
||||
|
||||
Certain 1 px wide images caused a wild pointer write in
|
||||
grub_jpeg_ycrcb_to_rgb(). This was caused because in grub_jpeg_decode_data(),
|
||||
we have the following loop:
|
||||
|
||||
for (; data->r1 < nr1 && (!data->dri || rst);
|
||||
data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
|
||||
|
||||
We did not check if vb * width >= hb * nc1.
|
||||
|
||||
On a 64-bit platform, if that turns out to be negative, it will underflow,
|
||||
be interpreted as unsigned 64-bit, then be added to the 64-bit pointer, so
|
||||
we see data->bitmap_ptr jump, e.g.:
|
||||
|
||||
0x6180_0000_0480 to
|
||||
0x6181_0000_0498
|
||||
^
|
||||
~--- carry has occurred and this pointer is now far away from
|
||||
any object.
|
||||
|
||||
On a 32-bit platform, it will decrement the pointer, creating a pointer
|
||||
that won't crash but will overwrite random data.
|
||||
|
||||
Catch the underflow and error out.
|
||||
|
||||
Fixes: CVE-2021-3697
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/jpeg.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
|
||||
index e31602f76..1d256af01 100644
|
||||
--- a/grub-core/video/readers/jpeg.c
|
||||
+++ b/grub-core/video/readers/jpeg.c
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <grub/mm.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/bufio.h>
|
||||
+#include <grub/safemath.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
@@ -639,6 +640,7 @@ static grub_err_t
|
||||
grub_jpeg_decode_data (struct grub_jpeg_data *data)
|
||||
{
|
||||
unsigned c1, vb, hb, nr1, nc1;
|
||||
+ unsigned stride_a, stride_b, stride;
|
||||
int rst = data->dri;
|
||||
|
||||
vb = 8 << data->log_vs;
|
||||
@@ -650,8 +652,14 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
|
||||
return grub_error(GRUB_ERR_BAD_FILE_TYPE,
|
||||
"jpeg: attempted to decode data before start of stream");
|
||||
|
||||
+ if (grub_mul(vb, data->image_width, &stride_a) ||
|
||||
+ grub_mul(hb, nc1, &stride_b) ||
|
||||
+ grub_sub(stride_a, stride_b, &stride))
|
||||
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "jpeg: cannot decode image with these dimensions");
|
||||
+
|
||||
for (; data->r1 < nr1 && (!data->dri || rst);
|
||||
- data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
|
||||
+ data->r1++, data->bitmap_ptr += stride * 3)
|
||||
for (c1 = 0; c1 < nc1 && (!data->dri || rst);
|
||||
c1++, rst--, data->bitmap_ptr += hb * 3)
|
||||
{
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From cadde7e36b8797060ac8cdf7cca7d8e1e09697e6 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Mon, 20 Dec 2021 19:41:21 +1100
|
||||
Subject: [PATCH] net/ip: Do IP fragment maths safely
|
||||
|
||||
We can receive packets with invalid IP fragmentation information. This
|
||||
can lead to rsm->total_len underflowing and becoming very large.
|
||||
|
||||
Then, in grub_netbuff_alloc(), we add to this very large number, which can
|
||||
cause it to overflow and wrap back around to a small positive number.
|
||||
The allocation then succeeds, but the resulting buffer is too small and
|
||||
subsequent operations can write past the end of the buffer.
|
||||
|
||||
Catch the underflow here.
|
||||
|
||||
Fixes: CVE-2022-28733
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 3e4817538de828319ba6d59ced2fbb9b5ca13287
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/net/ip.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
|
||||
index ea5edf8f1..74e4e8b06 100644
|
||||
--- a/grub-core/net/ip.c
|
||||
+++ b/grub-core/net/ip.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <grub/net/netbuff.h>
|
||||
#include <grub/mm.h>
|
||||
#include <grub/priority_queue.h>
|
||||
+#include <grub/safemath.h>
|
||||
#include <grub/time.h>
|
||||
|
||||
struct iphdr {
|
||||
@@ -512,7 +513,14 @@ grub_net_recv_ip4_packets (struct grub_net_buff *nb,
|
||||
{
|
||||
rsm->total_len = (8 * (grub_be_to_cpu16 (iph->frags) & OFFSET_MASK)
|
||||
+ (nb->tail - nb->data));
|
||||
- rsm->total_len -= ((iph->verhdrlen & 0xf) * sizeof (grub_uint32_t));
|
||||
+
|
||||
+ if (grub_sub (rsm->total_len, (iph->verhdrlen & 0xf) * sizeof (grub_uint32_t),
|
||||
+ &rsm->total_len))
|
||||
+ {
|
||||
+ grub_dprintf ("net", "IP reassembly size underflow\n");
|
||||
+ return GRUB_ERR_NONE;
|
||||
+ }
|
||||
+
|
||||
rsm->asm_netbuff = grub_netbuff_alloc (rsm->total_len);
|
||||
if (!rsm->asm_netbuff)
|
||||
{
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
From 6bb49bda656e1121fd303cf3e69709172e267718 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 8 Mar 2022 18:17:03 +1100
|
||||
Subject: [PATCH] net/http: Fix OOB write for split http headers
|
||||
|
||||
GRUB has special code for handling an http header that is split
|
||||
across two packets.
|
||||
|
||||
The code tracks the end of line by looking for a "\n" byte. The
|
||||
code for split headers has always advanced the pointer just past the
|
||||
end of the line, whereas the code that handles unsplit headers does
|
||||
not advance the pointer. This extra advance causes the length to be
|
||||
one greater, which breaks an assumption in parse_line(), leading to
|
||||
it writing a NUL byte one byte past the end of the buffer where we
|
||||
reconstruct the line from the two packets.
|
||||
|
||||
It's conceivable that an attacker controlled set of packets could
|
||||
cause this to zero out the first byte of the "next" pointer of the
|
||||
grub_mm_region structure following the current_line buffer.
|
||||
|
||||
Do not advance the pointer in the split header case.
|
||||
|
||||
Fixes: CVE-2022-28734
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: ec6bfd3237394c1c7dbf2fd73417173318d22f4b
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/net/http.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/grub-core/net/http.c b/grub-core/net/http.c
|
||||
index b616cf40b..a19b0a205 100644
|
||||
--- a/grub-core/net/http.c
|
||||
+++ b/grub-core/net/http.c
|
||||
@@ -190,9 +190,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)),
|
||||
int have_line = 1;
|
||||
char *t;
|
||||
ptr = grub_memchr (nb->data, '\n', nb->tail - nb->data);
|
||||
- if (ptr)
|
||||
- ptr++;
|
||||
- else
|
||||
+ if (ptr == NULL)
|
||||
{
|
||||
have_line = 0;
|
||||
ptr = (char *) nb->tail;
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From 2974684d2f7f85a5c57af8155cc3b70c04ec1d6b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 8 Mar 2022 19:04:40 +1100
|
||||
Subject: [PATCH] net/http: Error out on headers with LF without CR
|
||||
|
||||
In a similar vein to the previous patch, parse_line() would write
|
||||
a NUL byte past the end of the buffer if there was an HTTP header
|
||||
with a LF rather than a CRLF.
|
||||
|
||||
RFC-2616 says:
|
||||
|
||||
Many HTTP/1.1 header field values consist of words separated by LWS
|
||||
or special characters. These special characters MUST be in a quoted
|
||||
string to be used within a parameter value (as defined in section 3.6).
|
||||
|
||||
We don't support quoted sections or continuation lines, etc.
|
||||
|
||||
If we see an LF that's not part of a CRLF, bail out.
|
||||
|
||||
Fixes: CVE-2022-28734
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/net/http.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/grub-core/net/http.c b/grub-core/net/http.c
|
||||
index a19b0a205..1fa62b5cb 100644
|
||||
--- a/grub-core/net/http.c
|
||||
+++ b/grub-core/net/http.c
|
||||
@@ -68,7 +68,15 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len)
|
||||
char *end = ptr + len;
|
||||
while (end > ptr && *(end - 1) == '\r')
|
||||
end--;
|
||||
+
|
||||
+ /* LF without CR. */
|
||||
+ if (end == ptr + len)
|
||||
+ {
|
||||
+ data->errmsg = grub_strdup (_("invalid HTTP header - LF without CR"));
|
||||
+ return GRUB_ERR_NONE;
|
||||
+ }
|
||||
*end = 0;
|
||||
+
|
||||
/* Trailing CRLF. */
|
||||
if (data->in_chunk_len == 1)
|
||||
{
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
From 1aefeca0f6304a20c1a3711cb9e89c5fdb901b6b Mon Sep 17 00:00:00 2001
|
||||
From: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Date: Fri, 5 Aug 2022 00:51:20 +0800
|
||||
Subject: [PATCH] font: Fix size overflow in grub_font_get_glyph_internal()
|
||||
|
||||
The length of memory allocation and file read may overflow. This patch
|
||||
fixes the problem by using safemath macros.
|
||||
|
||||
There is a lot of code repetition like "(x * y + 7) / 8". It is unsafe
|
||||
if overflow happens. This patch introduces grub_video_bitmap_calc_1bpp_bufsz().
|
||||
It is safe replacement for such code. It has safemath-like prototype.
|
||||
|
||||
This patch also introduces grub_cast(value, pointer), it casts value to
|
||||
typeof(*pointer) then store the value to *pointer. It returns true when
|
||||
overflow occurs or false if there is no overflow. The semantics of arguments
|
||||
and return value are designed to be consistent with other safemath macros.
|
||||
|
||||
Signed-off-by: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 9c76ec09ae08155df27cd237eaea150b4f02f532
|
||||
[Thomas: needed to backport 768e1ef2fc159f6e14e7246e4be09363708ac39e,
|
||||
which fixes CVE-2022-2601]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/font/font.c | 17 +++++++++++++----
|
||||
include/grub/bitmap.h | 18 ++++++++++++++++++
|
||||
include/grub/safemath.h | 2 ++
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/grub-core/font/font.c b/grub-core/font/font.c
|
||||
index d09bb38d8..876b5b695 100644
|
||||
--- a/grub-core/font/font.c
|
||||
+++ b/grub-core/font/font.c
|
||||
@@ -739,7 +739,8 @@ grub_font_get_glyph_internal (grub_font_t font, grub_uint32_t code)
|
||||
grub_int16_t xoff;
|
||||
grub_int16_t yoff;
|
||||
grub_int16_t dwidth;
|
||||
- int len;
|
||||
+ grub_ssize_t len;
|
||||
+ grub_size_t sz;
|
||||
|
||||
if (index_entry->glyph)
|
||||
/* Return cached glyph. */
|
||||
@@ -766,9 +767,17 @@ grub_font_get_glyph_internal (grub_font_t font, grub_uint32_t code)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- len = (width * height + 7) / 8;
|
||||
- glyph = grub_malloc (sizeof (struct grub_font_glyph) + len);
|
||||
- if (!glyph)
|
||||
+ /* Calculate real struct size of current glyph. */
|
||||
+ if (grub_video_bitmap_calc_1bpp_bufsz (width, height, &len) ||
|
||||
+ grub_add (sizeof (struct grub_font_glyph), len, &sz))
|
||||
+ {
|
||||
+ remove_font (font);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ /* Allocate and initialize the glyph struct. */
|
||||
+ glyph = grub_malloc (sz);
|
||||
+ if (glyph == NULL)
|
||||
{
|
||||
remove_font (font);
|
||||
return 0;
|
||||
diff --git a/include/grub/bitmap.h b/include/grub/bitmap.h
|
||||
index 5728f8ca3..0d9603f61 100644
|
||||
--- a/include/grub/bitmap.h
|
||||
+++ b/include/grub/bitmap.h
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <grub/symbol.h>
|
||||
#include <grub/types.h>
|
||||
#include <grub/video.h>
|
||||
+#include <grub/safemath.h>
|
||||
|
||||
struct grub_video_bitmap
|
||||
{
|
||||
@@ -79,6 +80,23 @@ grub_video_bitmap_get_height (struct grub_video_bitmap *bitmap)
|
||||
return bitmap->mode_info.height;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Calculate and store the size of data buffer of 1bit bitmap in result.
|
||||
+ * Equivalent to "*result = (width * height + 7) / 8" if no overflow occurs.
|
||||
+ * Return true when overflow occurs or false if there is no overflow.
|
||||
+ * This function is intentionally implemented as a macro instead of
|
||||
+ * an inline function. Although a bit awkward, it preserves data types for
|
||||
+ * safemath macros and reduces macro side effects as much as possible.
|
||||
+ *
|
||||
+ * XXX: Will report false overflow if width * height > UINT64_MAX.
|
||||
+ */
|
||||
+#define grub_video_bitmap_calc_1bpp_bufsz(width, height, result) \
|
||||
+({ \
|
||||
+ grub_uint64_t _bitmap_pixels; \
|
||||
+ grub_mul ((width), (height), &_bitmap_pixels) ? 1 : \
|
||||
+ grub_cast (_bitmap_pixels / GRUB_CHAR_BIT + !!(_bitmap_pixels % GRUB_CHAR_BIT), (result)); \
|
||||
+})
|
||||
+
|
||||
void EXPORT_FUNC (grub_video_bitmap_get_mode_info) (struct grub_video_bitmap *bitmap,
|
||||
struct grub_video_mode_info *mode_info);
|
||||
|
||||
diff --git a/include/grub/safemath.h b/include/grub/safemath.h
|
||||
index c17b89bba..bb0f826de 100644
|
||||
--- a/include/grub/safemath.h
|
||||
+++ b/include/grub/safemath.h
|
||||
@@ -30,6 +30,8 @@
|
||||
#define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res)
|
||||
#define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res)
|
||||
|
||||
+#define grub_cast(a, res) grub_add ((a), 0, (res))
|
||||
+
|
||||
#else
|
||||
#error gcc 5.1 or newer or clang 3.8 or newer is required
|
||||
#endif
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
From fefba72d17364d6212cfd3be2232f4ce0ba23b82 Mon Sep 17 00:00:00 2001
|
||||
From: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Date: Fri, 5 Aug 2022 01:58:27 +0800
|
||||
Subject: [PATCH] font: Fix several integer overflows in
|
||||
grub_font_construct_glyph()
|
||||
|
||||
This patch fixes several integer overflows in grub_font_construct_glyph().
|
||||
Glyphs of invalid size, zero or leading to an overflow, are rejected.
|
||||
The inconsistency between "glyph" and "max_glyph_size" when grub_malloc()
|
||||
returns NULL is fixed too.
|
||||
|
||||
Fixes: CVE-2022-2601
|
||||
|
||||
Reported-by: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Signed-off-by: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 768e1ef2fc159f6e14e7246e4be09363708ac39e
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/font/font.c | 29 +++++++++++++++++------------
|
||||
1 file changed, 17 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/grub-core/font/font.c b/grub-core/font/font.c
|
||||
index 876b5b695..0ff552578 100644
|
||||
--- a/grub-core/font/font.c
|
||||
+++ b/grub-core/font/font.c
|
||||
@@ -1515,6 +1515,7 @@ grub_font_construct_glyph (grub_font_t hinted_font,
|
||||
struct grub_video_signed_rect bounds;
|
||||
static struct grub_font_glyph *glyph = 0;
|
||||
static grub_size_t max_glyph_size = 0;
|
||||
+ grub_size_t cur_glyph_size;
|
||||
|
||||
ensure_comb_space (glyph_id);
|
||||
|
||||
@@ -1531,29 +1532,33 @@ grub_font_construct_glyph (grub_font_t hinted_font,
|
||||
if (!glyph_id->ncomb && !glyph_id->attributes)
|
||||
return main_glyph;
|
||||
|
||||
- if (max_glyph_size < sizeof (*glyph) + (bounds.width * bounds.height + GRUB_CHAR_BIT - 1) / GRUB_CHAR_BIT)
|
||||
+ if (grub_video_bitmap_calc_1bpp_bufsz (bounds.width, bounds.height, &cur_glyph_size) ||
|
||||
+ grub_add (sizeof (*glyph), cur_glyph_size, &cur_glyph_size))
|
||||
+ return main_glyph;
|
||||
+
|
||||
+ if (max_glyph_size < cur_glyph_size)
|
||||
{
|
||||
grub_free (glyph);
|
||||
- max_glyph_size = (sizeof (*glyph) + (bounds.width * bounds.height + GRUB_CHAR_BIT - 1) / GRUB_CHAR_BIT) * 2;
|
||||
- if (max_glyph_size < 8)
|
||||
- max_glyph_size = 8;
|
||||
- glyph = grub_malloc (max_glyph_size);
|
||||
+ if (grub_mul (cur_glyph_size, 2, &max_glyph_size))
|
||||
+ max_glyph_size = 0;
|
||||
+ glyph = max_glyph_size > 0 ? grub_malloc (max_glyph_size) : NULL;
|
||||
}
|
||||
if (!glyph)
|
||||
{
|
||||
+ max_glyph_size = 0;
|
||||
grub_errno = GRUB_ERR_NONE;
|
||||
return main_glyph;
|
||||
}
|
||||
|
||||
- grub_memset (glyph, 0, sizeof (*glyph)
|
||||
- + (bounds.width * bounds.height
|
||||
- + GRUB_CHAR_BIT - 1) / GRUB_CHAR_BIT);
|
||||
+ grub_memset (glyph, 0, cur_glyph_size);
|
||||
|
||||
glyph->font = main_glyph->font;
|
||||
- glyph->width = bounds.width;
|
||||
- glyph->height = bounds.height;
|
||||
- glyph->offset_x = bounds.x;
|
||||
- glyph->offset_y = bounds.y;
|
||||
+ if (bounds.width == 0 || bounds.height == 0 ||
|
||||
+ grub_cast (bounds.width, &glyph->width) ||
|
||||
+ grub_cast (bounds.height, &glyph->height) ||
|
||||
+ grub_cast (bounds.x, &glyph->offset_x) ||
|
||||
+ grub_cast (bounds.y, &glyph->offset_y))
|
||||
+ return main_glyph;
|
||||
|
||||
if (glyph_id->attributes & GRUB_UNICODE_GLYPH_ATTRIBUTE_MIRROR)
|
||||
grub_font_blit_glyph_mirror (glyph, main_glyph,
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
From 79bd19e078c5053d800b1b4d3a901083da947e70 Mon Sep 17 00:00:00 2001
|
||||
From: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Date: Mon, 24 Oct 2022 08:05:35 +0800
|
||||
Subject: [PATCH] font: Fix an integer underflow in blit_comb()
|
||||
|
||||
The expression (ctx.bounds.height - combining_glyphs[i]->height) / 2 may
|
||||
evaluate to a very big invalid value even if both ctx.bounds.height and
|
||||
combining_glyphs[i]->height are small integers. For example, if
|
||||
ctx.bounds.height is 10 and combining_glyphs[i]->height is 12, this
|
||||
expression evaluates to 2147483647 (expected -1). This is because
|
||||
coordinates are allowed to be negative but ctx.bounds.height is an
|
||||
unsigned int. So, the subtraction operates on unsigned ints and
|
||||
underflows to a very big value. The division makes things even worse.
|
||||
The quotient is still an invalid value even if converted back to int.
|
||||
|
||||
This patch fixes the problem by casting ctx.bounds.height to int. As
|
||||
a result the subtraction will operate on int and grub_uint16_t which
|
||||
will be promoted to an int. So, the underflow will no longer happen. Other
|
||||
uses of ctx.bounds.height (and ctx.bounds.width) are also casted to int,
|
||||
to ensure coordinates are always calculated on signed integers.
|
||||
|
||||
Fixes: CVE-2022-3775
|
||||
|
||||
Reported-by: Daniel Axtens <dja@axtens.net>
|
||||
Signed-off-by: Zhang Boyang <zhangboyang.id@gmail.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 992c06191babc1e109caf40d6a07ec6fdef427af
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/font/font.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/grub-core/font/font.c b/grub-core/font/font.c
|
||||
index 0ff552578..7b1cbde07 100644
|
||||
--- a/grub-core/font/font.c
|
||||
+++ b/grub-core/font/font.c
|
||||
@@ -1206,12 +1206,12 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||
ctx.bounds.height = main_glyph->height;
|
||||
|
||||
above_rightx = main_glyph->offset_x + main_glyph->width;
|
||||
- above_righty = ctx.bounds.y + ctx.bounds.height;
|
||||
+ above_righty = ctx.bounds.y + (int) ctx.bounds.height;
|
||||
|
||||
above_leftx = main_glyph->offset_x;
|
||||
- above_lefty = ctx.bounds.y + ctx.bounds.height;
|
||||
+ above_lefty = ctx.bounds.y + (int) ctx.bounds.height;
|
||||
|
||||
- below_rightx = ctx.bounds.x + ctx.bounds.width;
|
||||
+ below_rightx = ctx.bounds.x + (int) ctx.bounds.width;
|
||||
below_righty = ctx.bounds.y;
|
||||
|
||||
comb = grub_unicode_get_comb (glyph_id);
|
||||
@@ -1224,7 +1224,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||
|
||||
if (!combining_glyphs[i])
|
||||
continue;
|
||||
- targetx = (ctx.bounds.width - combining_glyphs[i]->width) / 2 + ctx.bounds.x;
|
||||
+ targetx = ((int) ctx.bounds.width - combining_glyphs[i]->width) / 2 + ctx.bounds.x;
|
||||
/* CGJ is to avoid diacritics reordering. */
|
||||
if (comb[i].code
|
||||
== GRUB_UNICODE_COMBINING_GRAPHEME_JOINER)
|
||||
@@ -1234,8 +1234,8 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||
case GRUB_UNICODE_COMB_OVERLAY:
|
||||
do_blit (combining_glyphs[i],
|
||||
targetx,
|
||||
- (ctx.bounds.height - combining_glyphs[i]->height) / 2
|
||||
- - (ctx.bounds.height + ctx.bounds.y), &ctx);
|
||||
+ ((int) ctx.bounds.height - combining_glyphs[i]->height) / 2
|
||||
+ - ((int) ctx.bounds.height + ctx.bounds.y), &ctx);
|
||||
if (min_devwidth < combining_glyphs[i]->width)
|
||||
min_devwidth = combining_glyphs[i]->width;
|
||||
break;
|
||||
@@ -1308,7 +1308,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||
/* Fallthrough. */
|
||||
case GRUB_UNICODE_STACK_ATTACHED_ABOVE:
|
||||
do_blit (combining_glyphs[i], targetx,
|
||||
- -(ctx.bounds.height + ctx.bounds.y + space
|
||||
+ -((int) ctx.bounds.height + ctx.bounds.y + space
|
||||
+ combining_glyphs[i]->height), &ctx);
|
||||
if (min_devwidth < combining_glyphs[i]->width)
|
||||
min_devwidth = combining_glyphs[i]->width;
|
||||
@@ -1316,7 +1316,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||
|
||||
case GRUB_UNICODE_COMB_HEBREW_DAGESH:
|
||||
do_blit (combining_glyphs[i], targetx,
|
||||
- -(ctx.bounds.height / 2 + ctx.bounds.y
|
||||
+ -((int) ctx.bounds.height / 2 + ctx.bounds.y
|
||||
+ combining_glyphs[i]->height / 2), &ctx);
|
||||
if (min_devwidth < combining_glyphs[i]->width)
|
||||
min_devwidth = combining_glyphs[i]->width;
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -34,6 +34,25 @@ GRUB2_IGNORE_CVES += CVE-2020-15705
|
||||
GRUB2_IGNORE_CVES += CVE-2021-3981
|
||||
# vulnerability is specific to the SUSE distribution
|
||||
GRUB2_IGNORE_CVES += CVE-2021-46705
|
||||
# 0005-loader-efi-chainloader-Use-grub_loader_set_ex.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2022-28736
|
||||
# 0006-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2022-28735
|
||||
# 0010-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2021-3695
|
||||
# 0011-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2021-3696
|
||||
# 0012-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2021-3697
|
||||
# 0013-net-ip-Do-IP-fragment-maths-safely.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2022-28733
|
||||
# 0014-net-http-Fix-OOB-write-for-split-http-headers.patch
|
||||
# 0015-net-http-Error-out-on-headers-with-LF-without-CR.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2022-28734
|
||||
# 0017-font-Fix-several-integer-overflows-in-grub_font_cons.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2022-2601
|
||||
# 0018-font-Fix-an-integer-underflow-in-blit_comb.patch
|
||||
GRUB2_IGNORE_CVES += CVE-2022-3775
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
|
||||
GRUB2_INSTALL_TARGET = YES
|
||||
|
||||
@@ -40,3 +40,4 @@ BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,u-boot,64e
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="starfive_vic7100_beagle_v_smode"
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_JH71XX_TOOLS=y
|
||||
BR2_GLOBAL_PATCH_DIR="board/beaglev/patches"
|
||||
|
||||
@@ -48,6 +48,7 @@ BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sifive_unleashed"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
BR2_TARGET_UBOOT_NEEDS_OPENSBI=y
|
||||
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
|
||||
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
|
||||
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
|
||||
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
|
||||
|
||||
@@ -247,6 +247,23 @@ which have the upstream license), and that you are allowed to do so.
|
||||
See http://developercertificate.org/[the Developer Certificate of
|
||||
Origin] for details.
|
||||
|
||||
To give credits to who sponsored the creation of a patch or the process of
|
||||
upstreaming it, you may use
|
||||
https://datatracker.ietf.org/doc/html/rfc5233[email subaddressing] for
|
||||
your git identity (i.e. what is used as commit author and email +From:+
|
||||
field, as well as your Signed-off-by tag); add suffix to the local part,
|
||||
separated from it by a plus `+` sign. E.g.:
|
||||
|
||||
* for a company which sponsored the submitted work, use the company name
|
||||
as the detail (suffix) part:
|
||||
+
|
||||
`Your-Name Your-Surname <your-name.your-surname+companyname@mail.com>`
|
||||
|
||||
* for an individual who sponsored who sponsored the submitted work, use
|
||||
their name and surname:
|
||||
+
|
||||
`Your-Name Your-Surname <your-name.your-surname+their-name.their-surname@mail.com>`
|
||||
|
||||
When adding new packages, you should submit every package in a
|
||||
separate patch. This patch should have the update to
|
||||
+package/Config.in+, the package +Config.in+ file, the +.mk+ file, the
|
||||
|
||||
+20
-20
@@ -8,74 +8,74 @@
|
||||
<div class="panel-heading">Download</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<h3 style="text-align: center;">Latest long term support release: <b>2023.02.3</b></h3>
|
||||
<h3 style="text-align: center;">Latest long term support release: <b>2023.02.4</b></h3>
|
||||
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2023.02.3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.02.4.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2023.02.3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.02.4.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h3><a href="/downloads/buildroot-2023.02.3.tar.gz">buildroot-2023.02.3.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.02.3.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2023.02.4.tar.gz">buildroot-2023.02.4.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.02.4.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2023.02.3.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.02.4.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2023.02.3.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.02.4.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2023.02.3.tar.xz">buildroot-2023.02.3.tar.xz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.02.3.tar.xz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2023.02.4.tar.xz">buildroot-2023.02.4.tar.xz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.02.4.tar.xz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 style="text-align: center;">Latest stable release: <b>2023.05.1</b></h3>
|
||||
<h3 style="text-align: center;">Latest stable release: <b>2023.08</b></h3>
|
||||
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2023.05.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2023.05.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h3><a href="/downloads/buildroot-2023.05.1.tar.gz">buildroot-2023.05.1.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.05.1.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2023.08.tar.gz">buildroot-2023.08.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.08.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2023.05.1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.08.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2023.05.1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2023.08.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2023.05.1.tar.xz">buildroot-2023.05.1.tar.xz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.05.1.tar.xz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2023.08.tar.xz">buildroot-2023.08.tar.xz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2023.08.tar.xz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2023.08-rc3</b></h3>
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
@@ -109,7 +109,7 @@
|
||||
<p><a href="/downloads/buildroot-2023.08-rc3.tar.xz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
-->
|
||||
This and earlier releases (and their PGP signatures) can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,62 @@
|
||||
<h2>News</h2>
|
||||
<ul class="timeline">
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2023.08 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>6 September 2023</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>The stable 2023.08 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2023.08">CHANGES</a>
|
||||
file for more details
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2023.08.tar.xz">2023.08 release</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2023.02.4 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>31 August 2023</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>The 2023.02.4 bugfix release is out, fixing a number of important /
|
||||
security related issues discovered since the 2023.02.3 release. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2023.02.4">CHANGES</a>
|
||||
file for more details, read the
|
||||
<a href="https://lore.kernel.org/buildroot/87h6ofko6r.fsf@48ers.dk/T/#u">announcement</a>
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2023.02.4.tar.xz">2023.02.4 release</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2023.05.2 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>31 August 2023</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>The 2023.05.2 bugfix release is out, fixing a number of important /
|
||||
security related issues discovered since the 2023.05.1 release. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2023.05.2">CHANGES</a>
|
||||
file for more details, read the
|
||||
<a href="https://lore.kernel.org/buildroot/87ledrkrpp.fsf@48ers.dk/T/#u">announcement</a>
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2023.05.2.tar.xz">2023.05.2 release</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
|
||||
+1
-1
@@ -128,7 +128,7 @@ endif
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "6.4.12" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "6.4.14" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
|
||||
+7
-7
@@ -1,13 +1,13 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 cca91be956fe081f8f6da72034cded96fe35a50be4bfb7e103e354aa2159a674 linux-6.4.12.tar.xz
|
||||
sha256 c9ea14231ca4ca6e3882a9339a8c3c414e4c91519d3e50af6822f47e99057a0f linux-6.1.49.tar.xz
|
||||
sha256 75eae323747ae37b05086c5a51326a744eb611b0e890e7ebe77de362b30450e6 linux-6.4.14.tar.xz
|
||||
sha256 58b0446d8ea4bc0b26a35e2e3509bd53efcdeb295c9e4f48d33a23b1cdaa103b linux-6.1.51.tar.xz
|
||||
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
|
||||
sha256 0f2eca845183fd76f53b0c867c97f12b9ace2d7e8ee2cdeec7eb2897651b80de linux-5.15.128.tar.xz
|
||||
sha256 c40d11ee56e50a132429badbd1ba1c53e42b3312590b2a39be34c241d1b0b5b9 linux-5.10.192.tar.xz
|
||||
sha256 51608da961b5e34d6a9452a7b302699e109633f769a4253c74b1048abba8d9c7 linux-5.4.254.tar.xz
|
||||
sha256 ab464e4107329ff5262f1c585c40fc29dc68f17687a9a918f3e90faba5303d62 linux-5.15.130.tar.xz
|
||||
sha256 240d5e47bb378c6813ecd07704fb887651ea7617159d2771071fd70bf33cd995 linux-5.10.194.tar.xz
|
||||
sha256 c7a4086ba23507b8539d18534565de0d6591138bfa2e449e93964fd5132e353a linux-5.4.256.tar.xz
|
||||
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
|
||||
sha256 349728d3d143fcee484b34e34e536fe48dfb8bb71263f81a66fd572cc9162137 linux-4.19.292.tar.xz
|
||||
sha256 6f0a9010b2451e7ab5b28e38c81b3c5149277ab5fe0e08059e60eb602b804ebc linux-4.14.323.tar.xz
|
||||
sha256 ccadbde939a788934436125a1ecd4464175b68ebe6c18072fbc90c8596eea00f linux-4.19.294.tar.xz
|
||||
sha256 5b69e182ced5190a1fca117682cf7967c5bab24c4cf1364733ee14055b0df784 linux-4.14.325.tar.xz
|
||||
# Locally computed
|
||||
sha256 fb0edc3c18e47d2b6974cb0880a0afb5c3fa08f50ee87dfdf24349405ea5f8ae linux-cip-5.10.162-cip24.tar.gz
|
||||
sha256 b5539243f187e3d478d76d44ae13aab83952c94b885ad889df6fa9997e16a441 linux-cip-5.10.162-cip24-rt10.tar.gz
|
||||
|
||||
@@ -1608,6 +1608,7 @@ menu "Graphics"
|
||||
source "package/leptonica/Config.in"
|
||||
source "package/lesstif/Config.in"
|
||||
source "package/libart/Config.in"
|
||||
source "package/libdecor/Config.in"
|
||||
source "package/libdmtx/Config.in"
|
||||
source "package/libdri2/Config.in"
|
||||
source "package/libdrm/Config.in"
|
||||
|
||||
@@ -11,6 +11,7 @@ AGENTPP_LICENSE = Apache-2.0
|
||||
AGENTPP_LICENSE_FILES = LICENSE-2_0.txt
|
||||
AGENTPP_INSTALL_STAGING = YES
|
||||
AGENTPP_DEPENDENCIES = host-pkgconf snmppp
|
||||
AGENTPP_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
|
||||
AGENTPP_CONF_OPTS += \
|
||||
--disable-proxy \
|
||||
--disable-forwarder \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally computed
|
||||
sha256 9b93006a87be9c29492299118200e4f66c8369851c66a50fdef5b15dfc4eb2c2 asterisk-16.29.1.tar.gz
|
||||
sha256 ef1ddc07dc02bb0c5f5ba58a5e42e42bcb63e55ac94199be8e3b5d3910f43736 asterisk-16.30.1.tar.gz
|
||||
|
||||
# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
|
||||
# sha256 locally computed
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ASTERISK_VERSION = 16.29.1
|
||||
ASTERISK_VERSION = 16.30.1
|
||||
# Use the github mirror: it's an official mirror maintained by Digium, and
|
||||
# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
|
||||
ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
|
||||
|
||||
@@ -4,6 +4,7 @@ config BR2_PACKAGE_BIND
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
|
||||
depends on !BR2_STATIC_LIBS # libuv
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv
|
||||
select BR2_PACKAGE_LIBUV
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
help
|
||||
@@ -43,7 +44,8 @@ config BR2_PACKAGE_BIND_TOOLS
|
||||
|
||||
endif
|
||||
|
||||
comment "bind needs a toolchain w/ NPTL, dynamic library"
|
||||
comment "bind needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \
|
||||
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
|
||||
@@ -14,8 +14,6 @@ BIND_LICENSE = MPL-2.0
|
||||
BIND_LICENSE_FILES = COPYRIGHT
|
||||
BIND_CPE_ID_VENDOR = isc
|
||||
BIND_SELINUX_MODULES = bind
|
||||
# Only applies to RHEL6.x with DNSSEC validation on
|
||||
BIND_IGNORE_CVES = CVE-2017-3139
|
||||
# Library CVE and not used by bind but used by ISC DHCP
|
||||
BIND_IGNORE_CVES += CVE-2019-6470
|
||||
BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage
|
||||
|
||||
@@ -5,7 +5,7 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
|
||||
default y
|
||||
depends on !BR2_microblaze
|
||||
|
||||
config BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME
|
||||
config BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME
|
||||
bool
|
||||
|
||||
choice
|
||||
@@ -17,18 +17,18 @@ choice
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_39_X
|
||||
bool "binutils 2.39"
|
||||
select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_40_X
|
||||
bool "binutils 2.40"
|
||||
select BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_41_X
|
||||
bool "binutils 2.41"
|
||||
select BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME
|
||||
|
||||
config BR2_BINUTILS_VERSION_ARC
|
||||
bool "binutils arc (2.34.50)"
|
||||
depends on BR2_arc
|
||||
select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ endif
|
||||
# our TARGET_CONFIGURE_ARGS are taken into consideration for those
|
||||
BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BINUTILS_HAS_LIBSFRAME),y)
|
||||
ifeq ($(BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME),)
|
||||
define BINUTILS_INSTALL_STAGING_LIBSFRAME
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libsframe DESTDIR=$(STAGING_DIR) install
|
||||
endef
|
||||
|
||||
@@ -14,7 +14,7 @@ config BR2_PACKAGE_CMAKE
|
||||
config BR2_PACKAGE_CMAKE_CTEST
|
||||
bool "ctest"
|
||||
depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # from jsoncpp
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # jsoncpp, libuv
|
||||
depends on BR2_USE_WCHAR # libarchive
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_STATIC_LIBS
|
||||
@@ -40,10 +40,10 @@ config BR2_PACKAGE_CMAKE_CTEST
|
||||
|
||||
http://www.cmake.org/
|
||||
|
||||
comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, NPTL"
|
||||
comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.9, NPTL"
|
||||
depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
|
||||
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \
|
||||
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From e28634a0e847a14c58482f962bc9b1d69937387f Mon Sep 17 00:00:00 2001
|
||||
From: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Date: Sat, 12 Aug 2023 12:53:37 +0200
|
||||
Subject: [PATCH] remove unused dlfcn.h header file
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Upstream: https://github.com/containers/conmon/issues/443
|
||||
---
|
||||
src/seccomp_notify.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/seccomp_notify.c b/src/seccomp_notify.c
|
||||
index 8d34d9d..2a8371d 100644
|
||||
--- a/src/seccomp_notify.c
|
||||
+++ b/src/seccomp_notify.c
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <sys/ioctl.h>
|
||||
-#include <dlfcn.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/mount.h>
|
||||
#include <signal.h>
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 7d0f9a2f7cb8a76c51990128ac837aaf0cc89950b6ef9972e94417aa9cf901fe conmon-2.1.7.tar.gz
|
||||
sha256 e72c090210a03ca3b43a0fad53f15bca90bbee65105c412468009cf3a5988325 conmon-2.1.8.tar.gz
|
||||
sha256 9c9d771d4004725237a31ada889fe06c85a24fd0a29e41825181ab4cde54f016 LICENSE
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CONMON_VERSION = 2.1.7
|
||||
CONMON_VERSION = 2.1.8
|
||||
CONMON_SITE = $(call github,containers,conmon,v$(CONMON_VERSION))
|
||||
CONMON_LICENSE = Apache-2.0
|
||||
CONMON_LICENSE_FILES = LICENSE
|
||||
|
||||
CONMON_DEPENDENCIES = host-pkgconf libglib2
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
|
||||
ifeq ($(BR2_PACKAGE_LIBSECCOMP):$(BR2_STATIC_LIBS),y:)
|
||||
CONMON_DISABLE_SECCOMP = 0
|
||||
CONMON_DEPENDENCIES += libseccomp
|
||||
else
|
||||
|
||||
@@ -12,10 +12,6 @@ CPIO_LICENSE = GPL-3.0+
|
||||
CPIO_LICENSE_FILES = COPYING
|
||||
CPIO_CPE_ID_VENDOR = gnu
|
||||
|
||||
# 0002-Rewrite-dynamic-string-support.patch
|
||||
# 0003-Fix-previous-commit.patch
|
||||
CPIO_IGNORE_CVES += CVE-2021-38185
|
||||
|
||||
# cpio uses argp.h which is not provided by uclibc or musl by default.
|
||||
# Use the argp-standalone package to provide this.
|
||||
ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 fa32b5f3c2f85fba9ef6e1b5099a4b608fa20af45ba71b3da2194e8728037eec docker-cli-24.0.5.tar.gz
|
||||
sha256 c1a4a580ced3633e489c5c9869a20198415da44df7023fdc200d425cdf5fa652 docker-cli-24.0.6.tar.gz
|
||||
sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DOCKER_CLI_VERSION = 24.0.5
|
||||
DOCKER_CLI_VERSION = 24.0.6
|
||||
DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION))
|
||||
|
||||
DOCKER_CLI_LICENSE = Apache-2.0
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 837d7d667fb64508bf6e53cb5915b4b5ef356599294ffdd5ca8678168230cb38 docker-engine-24.0.5.tar.gz
|
||||
sha256 29a8ee54e9ea008b40eebca42dec8b67ab257eb8ac175f67e79c110e4187d7d2 docker-engine-24.0.6.tar.gz
|
||||
sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DOCKER_ENGINE_VERSION = 24.0.5
|
||||
DOCKER_ENGINE_VERSION = 24.0.6
|
||||
DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION))
|
||||
|
||||
DOCKER_ENGINE_LICENSE = Apache-2.0
|
||||
|
||||
@@ -18,4 +18,4 @@ config BR2_PACKAGE_DT
|
||||
before exiting. Since verification of data is performed,
|
||||
dt can be thought of as a generic diagnostic tool.
|
||||
|
||||
http://www.scsifaq.org/RMiller_Tools/dt.html
|
||||
https://github.com/RobinTMiller/dt
|
||||
|
||||
@@ -12,9 +12,6 @@ E2FSPROGS_LICENSE_FILES = NOTICE lib/ss/mit-sipb-copyright.h lib/et/internal.h
|
||||
E2FSPROGS_CPE_ID_VENDOR = e2fsprogs_project
|
||||
E2FSPROGS_INSTALL_STAGING = YES
|
||||
|
||||
# 0001-libext2fs-add-sanity-check-to-extent-manipulation.patch
|
||||
E2FSPROGS_IGNORE_CVES += CVE-2022-1304
|
||||
|
||||
# Use libblkid and libuuid from util-linux for host and target packages.
|
||||
# This prevents overriding them with e2fsprogs' ones, which may cause
|
||||
# problems for other packages.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_HOSTARCH = "aarch64"
|
||||
default y if BR2_HOSTARCH = "x86_64"
|
||||
default y if BR2_HOSTARCH = "x86"
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
comment "esp-hosted needs a Linux kernel to be built"
|
||||
depends on !BR2_s390x
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
config BR2_PACKAGE_ESP_HOSTED
|
||||
bool "esp-hosted"
|
||||
depends on !BR2_s390x
|
||||
depends on BR2_LINUX_KERNEL
|
||||
help
|
||||
This package builds and installs the Linux kernel driver for
|
||||
|
||||
@@ -4,4 +4,4 @@ config BR2_PACKAGE_EXPECT
|
||||
Expect is a tool for automating interactive applications
|
||||
such as telnet, ftp, passwd, fsck, rlogin, ssh, tip, etc.
|
||||
|
||||
http://expect.sourceforge.net/
|
||||
https://core.tcl.tk/expect/
|
||||
|
||||
@@ -12,9 +12,6 @@ FAIL2BAN_CPE_ID_VENDOR = fail2ban
|
||||
FAIL2BAN_SELINUX_MODULES = fail2ban
|
||||
FAIL2BAN_SETUP_TYPE = distutils
|
||||
|
||||
# 0001-fixed-possible-RCE-vulnerability-unset-escape-variable.patch
|
||||
FAIL2BAN_IGNORE_CVES += CVE-2021-32749
|
||||
|
||||
define FAIL2BAN_PYTHON_2TO3
|
||||
$(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban
|
||||
endef
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ FIO_SITE = http://brick.kernel.dk/snaps
|
||||
FIO_LICENSE = GPL-2.0
|
||||
FIO_LICENSE_FILES = COPYING MORAL-LICENSE
|
||||
|
||||
FIO_OPTS = --cc="$(TARGET_CC)" --extra-cflags="$(TARGET_CFLAGS)"
|
||||
FIO_OPTS = --disable-native --cc="$(TARGET_CC)" --extra-cflags="$(TARGET_CFLAGS)"
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBAIO),y)
|
||||
FIO_DEPENDENCIES += libaio
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
From bd093454fe126163634c00b7484ab7fee6ffe670 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Mon, 20 Feb 2023 16:23:39 +0100
|
||||
Subject: [PATCH] Fix #8702: Disable sha3 and shake hashes for libressl
|
||||
|
||||
[Retrieved (and backported) from:
|
||||
https://github.com/FreeRDP/FreeRDP/pull/8708/commits/bd093454fe126163634c00b7484ab7fee6ffe670]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
libfreerdp/crypto/x509_utils.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/crypto/crypto.c b/libfreerdp/crypto/crypto.c
|
||||
index 6e87a88b8d8..62cf2939be7 100644
|
||||
--- a/libfreerdp/crypto/crypto.c
|
||||
+++ b/libfreerdp/crypto/crypto.c
|
||||
@@ -748,7 +748,7 @@ WINPR_MD_TYPE x509_utils_get_signature_alg(const X509* xcert)
|
||||
return WINPR_MD_SHA512;
|
||||
case NID_ripemd160:
|
||||
return WINPR_MD_RIPEMD160;
|
||||
-#if (OPENSSL_VERSION_NUMBER >= 0x1010101fL) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x1010101fL) && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
case NID_sha3_224:
|
||||
return WINPR_MD_SHA3_224;
|
||||
case NID_sha3_256:
|
||||
@@ -757,11 +757,11 @@ WINPR_MD_TYPE x509_utils_get_signature_alg(const X509* xcert)
|
||||
return WINPR_MD_SHA3_384;
|
||||
case NID_sha3_512:
|
||||
return WINPR_MD_SHA3_512;
|
||||
-#endif
|
||||
case NID_shake128:
|
||||
return WINPR_MD_SHAKE128;
|
||||
case NID_shake256:
|
||||
return WINPR_MD_SHAKE256;
|
||||
+#endif
|
||||
case NID_undef:
|
||||
default:
|
||||
return WINPR_MD_NONE;
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://pub.freerdp.com/releases/freerdp-2.10.0.tar.gz.sha256
|
||||
sha256 a673d3fc21911dd9f196834f2f3a23c3ebc7e5e4deab2f7686fcec879279e2c1 freerdp-2.10.0.tar.gz
|
||||
# From https://pub.freerdp.com/releases/freerdp-2.11.0.tar.gz.sha256
|
||||
sha256 8d08e638df21e67c3761462b4efb9e596576f58bd6886f902e6021cdd17d396e freerdp-2.11.0.tar.gz
|
||||
|
||||
# Locally calculated
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FREERDP_VERSION = 2.10.0
|
||||
FREERDP_VERSION = 2.11.0
|
||||
FREERDP_SITE = https://pub.freerdp.com/releases
|
||||
FREERDP_DEPENDENCIES = libglib2 openssl zlib
|
||||
FREERDP_LICENSE = Apache-2.0
|
||||
|
||||
@@ -15,6 +15,12 @@ FSTRCMP_CONF_ENV = LIBTOOL="$(HOST_DIR)/bin/libtool"
|
||||
|
||||
FSTRCMP_MAKE_OPTS = all-bin libdir/pkgconfig/fstrcmp.pc
|
||||
|
||||
# fstrcmp does not carry and use the usual ltmain.sh wrappers, so it does not
|
||||
# inherit from our libtool patches to make -static behave like -all-static.
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
FSTRCMP_MAKE_OPTS += LDFLAGS="$(TARGET_LDFLAGS) -all-static"
|
||||
endif
|
||||
|
||||
# We need to install the package files ourselves due to upstream trying
|
||||
# to install a .lai file which is missing because of rpath removal
|
||||
define FSTRCMP_INSTALL_STAGING_CMDS
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 4958020ecc85a30c52544deaf3c017cea82a0fb0 Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Thu, 2 Mar 2023 09:45:41 -0800
|
||||
Subject: [PATCH] xtensa: add .note.GNU-stack section on linux
|
||||
|
||||
gcc/
|
||||
* config/xtensa/linux.h (TARGET_ASM_FILE_END): New macro.
|
||||
|
||||
libgcc/
|
||||
* config/xtensa/crti.S: Add .note.GNU-stack section on linux.
|
||||
* config/xtensa/crtn.S: Likewise.
|
||||
* config/xtensa/lib1funcs.S: Likewise.
|
||||
* config/xtensa/lib2funcs.S: Likewise.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=6360bf9a2d08f08c151464c77c0da53cd702ff25
|
||||
---
|
||||
gcc/config/xtensa/linux.h | 1 +
|
||||
libgcc/config/xtensa/crti.S | 6 ++++++
|
||||
libgcc/config/xtensa/crtn.S | 6 ++++++
|
||||
libgcc/config/xtensa/lib1funcs.S | 6 ++++++
|
||||
libgcc/config/xtensa/lib2funcs.S | 6 ++++++
|
||||
5 files changed, 25 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
|
||||
index 468a48489e7..a69e38c58ee 100644
|
||||
--- a/gcc/config/xtensa/linux.h
|
||||
+++ b/gcc/config/xtensa/linux.h
|
||||
@@ -69,3 +69,4 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
|
||||
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
||||
diff --git a/libgcc/config/xtensa/crti.S b/libgcc/config/xtensa/crti.S
|
||||
index 87a66e32e4a..40dd8c0dbc2 100644
|
||||
--- a/libgcc/config/xtensa/crti.S
|
||||
+++ b/libgcc/config/xtensa/crti.S
|
||||
@@ -26,6 +26,12 @@
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
.section .init
|
||||
.globl _init
|
||||
.type _init,@function
|
||||
diff --git a/libgcc/config/xtensa/crtn.S b/libgcc/config/xtensa/crtn.S
|
||||
index 8d2c2b1f22b..9d29f8fce1a 100644
|
||||
--- a/libgcc/config/xtensa/crtn.S
|
||||
+++ b/libgcc/config/xtensa/crtn.S
|
||||
@@ -27,6 +27,12 @@
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
.section .init
|
||||
#if XCHAL_HAVE_WINDOWED && !__XTENSA_CALL0_ABI__
|
||||
retw
|
||||
diff --git a/libgcc/config/xtensa/lib1funcs.S b/libgcc/config/xtensa/lib1funcs.S
|
||||
index a482a6eefc8..5245d7ad8ad 100644
|
||||
--- a/libgcc/config/xtensa/lib1funcs.S
|
||||
+++ b/libgcc/config/xtensa/lib1funcs.S
|
||||
@@ -25,6 +25,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
/* Define macros for the ABS and ADDX* instructions to handle cases
|
||||
where they are not included in the Xtensa processor configuration. */
|
||||
|
||||
diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S
|
||||
index 36938c84924..a574a45fa68 100644
|
||||
--- a/libgcc/config/xtensa/lib2funcs.S
|
||||
+++ b/libgcc/config/xtensa/lib2funcs.S
|
||||
@@ -25,6 +25,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
/* __xtensa_libgcc_window_spill: This function flushes out all but the
|
||||
current register window. This is used to set up the stack so that
|
||||
arbitrary frames can be accessed. */
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 38cdfcc4b2cca8d251ff8d8d34201dfe9849333e Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Thu, 2 Mar 2023 09:45:41 -0800
|
||||
Subject: [PATCH] xtensa: add .note.GNU-stack section on linux
|
||||
|
||||
gcc/
|
||||
* config/xtensa/linux.h (TARGET_ASM_FILE_END): New macro.
|
||||
|
||||
libgcc/
|
||||
* config/xtensa/crti.S: Add .note.GNU-stack section on linux.
|
||||
* config/xtensa/crtn.S: Likewise.
|
||||
* config/xtensa/lib1funcs.S: Likewise.
|
||||
* config/xtensa/lib2funcs.S: Likewise.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=6360bf9a2d08f08c151464c77c0da53cd702ff25
|
||||
---
|
||||
gcc/config/xtensa/linux.h | 1 +
|
||||
libgcc/config/xtensa/crti.S | 6 ++++++
|
||||
libgcc/config/xtensa/crtn.S | 6 ++++++
|
||||
libgcc/config/xtensa/lib1funcs.S | 6 ++++++
|
||||
libgcc/config/xtensa/lib2funcs.S | 6 ++++++
|
||||
5 files changed, 25 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
|
||||
index edce618fb94..fe0e3a43797 100644
|
||||
--- a/gcc/config/xtensa/linux.h
|
||||
+++ b/gcc/config/xtensa/linux.h
|
||||
@@ -69,3 +69,4 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
|
||||
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
||||
diff --git a/libgcc/config/xtensa/crti.S b/libgcc/config/xtensa/crti.S
|
||||
index 3de7bc101f4..0996e7cb29b 100644
|
||||
--- a/libgcc/config/xtensa/crti.S
|
||||
+++ b/libgcc/config/xtensa/crti.S
|
||||
@@ -26,6 +26,12 @@
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
.section .init
|
||||
.globl _init
|
||||
.type _init,@function
|
||||
diff --git a/libgcc/config/xtensa/crtn.S b/libgcc/config/xtensa/crtn.S
|
||||
index 06b932edb14..a4cc9830096 100644
|
||||
--- a/libgcc/config/xtensa/crtn.S
|
||||
+++ b/libgcc/config/xtensa/crtn.S
|
||||
@@ -27,6 +27,12 @@
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
.section .init
|
||||
#if XCHAL_HAVE_WINDOWED && !__XTENSA_CALL0_ABI__
|
||||
retw
|
||||
diff --git a/libgcc/config/xtensa/lib1funcs.S b/libgcc/config/xtensa/lib1funcs.S
|
||||
index 5a2bd20534f..7177dd4f73a 100644
|
||||
--- a/libgcc/config/xtensa/lib1funcs.S
|
||||
+++ b/libgcc/config/xtensa/lib1funcs.S
|
||||
@@ -25,6 +25,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
/* Define macros for the ABS and ADDX* instructions to handle cases
|
||||
where they are not included in the Xtensa processor configuration. */
|
||||
|
||||
diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S
|
||||
index 681bac1be8c..a40c1a45604 100644
|
||||
--- a/libgcc/config/xtensa/lib2funcs.S
|
||||
+++ b/libgcc/config/xtensa/lib2funcs.S
|
||||
@@ -25,6 +25,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "xtensa-config.h"
|
||||
|
||||
+/* An executable stack is *not* required for these functions. */
|
||||
+#if defined(__ELF__) && defined(__linux__)
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+.previous
|
||||
+#endif
|
||||
+
|
||||
/* __xtensa_libgcc_window_spill: This function flushes out all but the
|
||||
current register window. This is used to set up the stack so that
|
||||
arbitrary frames can be accessed. */
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -24,7 +24,6 @@ config BR2_PACKAGE_GDB
|
||||
# The or1k musl port is incomplete, elf_gregset_t definition is missing:
|
||||
# https://git.musl-libc.org/cgit/musl/tree/arch/or1k/bits/user.h?h=v1.2.3
|
||||
depends on !BR2_or1k || !BR2_TOOLCHAIN_USES_MUSL
|
||||
select BR2_PACKAGE_ZLIB
|
||||
# When the external toolchain gdbserver is copied to the
|
||||
# target, we don't allow building a separate gdbserver. The
|
||||
# one from the external toolchain should be used.
|
||||
@@ -61,6 +60,7 @@ config BR2_PACKAGE_GDB_DEBUGGER
|
||||
depends on !BR2_sh
|
||||
select BR2_PACKAGE_GMP if !BR2_GDB_VERSION_10 && !BR2_arc
|
||||
select BR2_PACKAGE_NCURSES
|
||||
select BR2_PACKAGE_ZLIB
|
||||
|
||||
comment "full gdb on target needs a toolchain w/ wchar"
|
||||
depends on !BR2_sh
|
||||
|
||||
+10
-4
@@ -32,7 +32,6 @@ GDB_PRE_CONFIGURE_HOOKS += GDB_CONFIGURE_SYMLINK
|
||||
# also need ncurses.
|
||||
# As for libiberty, gdb may use a system-installed one if present, so
|
||||
# we must ensure ours is installed first.
|
||||
GDB_DEPENDENCIES = zlib
|
||||
HOST_GDB_DEPENDENCIES = host-expat host-libiberty host-ncurses host-zlib
|
||||
|
||||
# Disable building documentation
|
||||
@@ -131,22 +130,29 @@ GDB_CONF_OPTS = \
|
||||
--disable-sim \
|
||||
$(GDB_DISABLE_BINUTILS_CONF_OPTS) \
|
||||
--without-included-gettext \
|
||||
--with-system-zlib \
|
||||
--disable-werror \
|
||||
--enable-static \
|
||||
--without-mpfr \
|
||||
--disable-source-highlight
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GDB_DEBUGGER),y)
|
||||
GDB_DEPENDENCIES += zlib
|
||||
GDB_CONF_OPTS += \
|
||||
--enable-gdb \
|
||||
--with-curses
|
||||
--with-curses \
|
||||
--with-system-zlib
|
||||
GDB_DEPENDENCIES += ncurses \
|
||||
$(if $(BR2_PACKAGE_LIBICONV),libiconv)
|
||||
else
|
||||
# When only building gdbserver, we don't need zlib. But we have no way to
|
||||
# tell the top-level configure that we don't need zlib: it either wants to
|
||||
# build the bundled one, or use the system one.
|
||||
# Since we're going to only install the gdbserver to the target, we don't
|
||||
# care that the bundled zlib is built, as it is not used.
|
||||
GDB_CONF_OPTS += \
|
||||
--disable-gdb \
|
||||
--without-curses
|
||||
--without-curses \
|
||||
--without-system-zlib
|
||||
endif
|
||||
|
||||
# Starting from GDB 11.x, gmp is needed as a dependency to build full
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 088f3cd6e58cff5fa51e072d1829f7691a5f6681 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Wed, 20 Sep 2023 13:44:28 +0100
|
||||
Subject: [PATCH] Fix build without BUILD_PDF
|
||||
|
||||
The PDFSetParams PostScript extension operator was missing a stub function definition
|
||||
when the PDF interpreter is not built in.
|
||||
|
||||
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Upstream: https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=088f3cd6e58cff5fa51e072d1829f7691a5f6681
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
psi/zpdfops.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/psi/zpdfops.c b/psi/zpdfops.c
|
||||
index e7e0a42ee..271687a18 100644
|
||||
--- a/psi/zpdfops.c
|
||||
+++ b/psi/zpdfops.c
|
||||
@@ -1507,6 +1507,11 @@ static int zPDFdrawannots(i_ctx_t *i_ctx_p)
|
||||
return_error(gs_error_undefined);
|
||||
}
|
||||
|
||||
+static int zPDFSetParams(i_ctx_t *i_ctx_p)
|
||||
+{
|
||||
+ return_error(gs_error_undefined);
|
||||
+}
|
||||
+
|
||||
static int zPDFInit(i_ctx_t *i_ctx_p)
|
||||
{
|
||||
return_error(gs_error_undefined);
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10012/SHA512SUMS
|
||||
sha512 ee20f0e12f553a3d04578e71a0d45defebc71117ce4dc2c14043985bfe7348ad7f8b2fe98fc9b4f5b935ecb32e50dc340be67d6ef58190542ec6d0f9da1de380 ghostscript-10.01.2.tar.xz
|
||||
# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10020/SHA512SUMS
|
||||
sha512 c49344151063e915add55a0a842c2a645d8362a5cbca663bd07638f4bd3699a08cade37a9efe905ad5a41e014353e5e1b1268b7925e43128ad30d5b031396b71 ghostscript-10.02.0.tar.xz
|
||||
|
||||
# Hash for license file:
|
||||
sha256 8ce064f423b7c24a011b6ebf9431b8bf9861a5255e47c84bfb23fc526d030a8b LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GHOSTSCRIPT_VERSION = 10.01.2
|
||||
GHOSTSCRIPT_VERSION = 10.02.0
|
||||
GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz
|
||||
GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION))
|
||||
GHOSTSCRIPT_LICENSE = AGPL-3.0
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
# From https://go.dev/dl
|
||||
sha256 2c5ee9c9ec1e733b0dbbc2bdfed3f62306e51d8172bf38f4f4e542b27520f597 go1.20.7.src.tar.gz
|
||||
sha256 38d71714fa5279f97240451956d8e47e3c1b6a5de7cb84137949d62b5dd3182e go1.20.8.src.tar.gz
|
||||
sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GO_VERSION = 1.20.7
|
||||
GO_VERSION = 1.20.8
|
||||
GO_SITE = https://storage.googleapis.com/golang
|
||||
GO_SOURCE = go$(GO_VERSION).src.tar.gz
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From: http://www.haproxy.org/download/2.6/src/haproxy-2.6.14.tar.gz.sha256
|
||||
sha256 bd3dd9fa60391ca09e1225e1ac3163e45be83c3f54f2fd76a30af289cc6e4fd4 haproxy-2.6.14.tar.gz
|
||||
# From: http://www.haproxy.org/download/2.6/src/haproxy-2.6.15.tar.gz.sha256
|
||||
sha256 41f8e1695e92fafdffe39690a68993f1a0f5f7f06931a99e9a153f749ea39cfd haproxy-2.6.15.tar.gz
|
||||
# Locally computed:
|
||||
sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE
|
||||
sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
HAPROXY_VERSION_MAJOR = 2.6
|
||||
HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).14
|
||||
HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).15
|
||||
HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src
|
||||
HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions
|
||||
HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt
|
||||
|
||||
@@ -12,8 +12,10 @@ HEIRLOOM_MAILX_LICENSE = BSD-4-Clause, Bellcore (base64), OpenVision (imap_gssap
|
||||
HEIRLOOM_MAILX_LICENSE_FILES = COPYING
|
||||
HEIRLOOM_MAILX_CPE_ID_VENDOR = heirloom
|
||||
HEIRLOOM_MAILX_CPE_ID_PRODUCT = mailx
|
||||
# 0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch in the Debian patches
|
||||
# 0011-outof-Introduce-expandaddr-flag.patch in the Debian patches
|
||||
HEIRLOOM_MAILX_IGNORE_CVES += CVE-2014-7844
|
||||
# 0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch in the Debian patches
|
||||
HEIRLOOM_MAILX_IGNORE_CVES += CVE-2004-2771
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
HEIRLOOM_MAILX_DEPENDENCIES += openssl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://www.open-mpi.org/software/hwloc/v2.9/
|
||||
sha1 be2a4f299c0da7670d39724986268bfa3fac6aee hwloc-2.9.2.tar.bz2
|
||||
sha256 0a87fdf677f8b00b567d229b6320bf6b25c693edaa43e0b85268d999d6b060cf hwloc-2.9.2.tar.bz2
|
||||
sha1 76b49087619b46d71e18bd1131d35a5ccf5de791 hwloc-2.9.3.tar.bz2
|
||||
sha256 5c4062ce556f6d3451fc177ffb8673a2120f81df6835dea6a21a90fbdfff0dec hwloc-2.9.3.tar.bz2
|
||||
# Locally computed
|
||||
sha256 d79a936a42f3c6cb7c8375a023d43f4435f4664d3a5a2ea6b4623cff83c7fc06 COPYING
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
HWLOC_VERSION_MAJOR = 2.9
|
||||
HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).2
|
||||
HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).3
|
||||
HWLOC_SOURCE = hwloc-$(HWLOC_VERSION).tar.bz2
|
||||
HWLOC_SITE = https://download.open-mpi.org/release/hwloc/v$(HWLOC_VERSION_MAJOR)
|
||||
HWLOC_LICENSE = BSD-3-Clause
|
||||
|
||||
@@ -17,9 +17,6 @@ ICU_CPE_ID_VENDOR = icu-project
|
||||
ICU_CPE_ID_PRODUCT = international_components_for_unicode
|
||||
ICU_CPE_ID_VERSION = $(subst -,.,$(ICU_VERSION))
|
||||
|
||||
# 0005-ICU-21587-Fix-memory-bug-w-baseName.patch
|
||||
ICU_IGNORE_CVES += CVE-2021-30535
|
||||
|
||||
ICU_DEPENDENCIES = host-icu
|
||||
ICU_INSTALL_STAGING = YES
|
||||
ICU_CONFIG_SCRIPTS = icu-config
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 79a4765d2dfe153c440a1775b074d5d0682b96814c7cf92325b5e15ce50e26a8 irssi-1.4.2.tar.xz
|
||||
sha256 fefe9ec8c7b1475449945c934a2360ab12693454892be47a6d288c63eb107ead irssi-1.4.4.tar.xz
|
||||
# Locally calculated
|
||||
sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IRSSI_VERSION = 1.4.2
|
||||
IRSSI_VERSION = 1.4.4
|
||||
IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz
|
||||
IRSSI_SITE = https://codeberg.org/irssi/irssi/releases/download/$(IRSSI_VERSION)
|
||||
IRSSI_LICENSE = GPL-2.0+
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From c63ecbdc6b38cc7e571a72964fe9ca63834dcc89 Mon Sep 17 00:00:00 2001
|
||||
From: Jon Shallow <supjps-libcoap@jpshallow.com>
|
||||
Date: Wed, 6 Sep 2023 21:38:13 +0200
|
||||
Subject: [PATCH] Backport fix for CVE-2023-30362
|
||||
|
||||
Upstream: https://github.com/obgm/libcoap/issues/1063#issuecomment-1626962307
|
||||
Signed-off-by: Daniel Lang <dalang@gmx.at>
|
||||
---
|
||||
src/net.c | 34 +++++++++++++++++++++-------------
|
||||
1 file changed, 21 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/net.c b/src/net.c
|
||||
index 98859443..e259ab00 100644
|
||||
--- a/src/net.c
|
||||
+++ b/src/net.c
|
||||
@@ -1305,19 +1305,27 @@ coap_send_internal(coap_session_t *session, coap_pdu_t *pdu) {
|
||||
|
||||
/* Need to check that we are not seeing this proxy in the return loop */
|
||||
if (pdu->data && opt == NULL) {
|
||||
- if (pdu->used_size + 1 <= pdu->max_size) {
|
||||
- char *a_match;
|
||||
- size_t data_len = pdu->used_size - (pdu->data - pdu->token);
|
||||
- pdu->data[data_len] = '\000';
|
||||
- a_match = strstr((char*)pdu->data, cp);
|
||||
- if (a_match && (a_match == (char*)pdu->data || a_match[-1] == ' ') &&
|
||||
- ((size_t)(a_match - (char*)pdu->data + len) == data_len ||
|
||||
- a_match[len] == ' ')) {
|
||||
- coap_log(LOG_WARNING, "Proxy loop detected '%s'\n",
|
||||
- (char*)pdu->data);
|
||||
- coap_delete_pdu(pdu);
|
||||
- return (coap_mid_t)COAP_DROPPED_RESPONSE;
|
||||
- }
|
||||
+ char *a_match;
|
||||
+ size_t data_len;
|
||||
+
|
||||
+ if (pdu->used_size + 1 > pdu->max_size) {
|
||||
+ /* No space */
|
||||
+ return (coap_mid_t)COAP_DROPPED_RESPONSE;
|
||||
+ }
|
||||
+ if (!coap_pdu_resize(pdu, pdu->used_size + 1)) {
|
||||
+ /* Internal error */
|
||||
+ return (coap_mid_t)COAP_DROPPED_RESPONSE;
|
||||
+ }
|
||||
+ data_len = pdu->used_size - (pdu->data - pdu->token);
|
||||
+ pdu->data[data_len] = '\000';
|
||||
+ a_match = strstr((char*)pdu->data, cp);
|
||||
+ if (a_match && (a_match == (char*)pdu->data || a_match[-1] == ' ') &&
|
||||
+ ((size_t)(a_match - (char*)pdu->data + len) == data_len ||
|
||||
+ a_match[len] == ' ')) {
|
||||
+ coap_log(LOG_WARNING, "Proxy loop detected '%s'\n",
|
||||
+ (char*)pdu->data);
|
||||
+ coap_delete_pdu(pdu);
|
||||
+ return (coap_mid_t)COAP_DROPPED_RESPONSE;
|
||||
}
|
||||
}
|
||||
if (pdu->used_size + len + 1 <= pdu->max_size) {
|
||||
--
|
||||
2.42.0
|
||||
|
||||
@@ -14,6 +14,10 @@ LIBCOAP_DEPENDENCIES = host-pkgconf
|
||||
LIBCOAP_CONF_OPTS = \
|
||||
--disable-examples --disable-examples-source --without-tinydtls
|
||||
LIBCOAP_AUTORECONF = YES
|
||||
# 0001-Backport-fix-for-CVE-2023-30362.patch
|
||||
LIBCOAP_IGNORE_CVES += CVE-2023-30362
|
||||
# Doesn't affect 4.3.1, see https://github.com/obgm/libcoap/issues/1117
|
||||
LIBCOAP_IGNORE_CVES += CVE-2023-35862
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GNUTLS),y)
|
||||
LIBCOAP_DEPENDENCIES += gnutls
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://curl.se/download/curl-8.2.1.tar.xz.asc
|
||||
# https://curl.se/download/curl-8.3.0.tar.xz.asc
|
||||
# signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
|
||||
sha256 dd322f6bd0a20e6cebdfd388f69e98c3d183bed792cf4713c8a7ef498cba4894 curl-8.2.1.tar.xz
|
||||
sha256 376d627767d6c4f05105ab6d497b0d9aba7111770dd9d995225478209c37ea63 curl-8.3.0.tar.xz
|
||||
sha256 b1d7feb949ea5023552029fbe0bf5db4f23c2f85e9b8e51e18536f0ecbf9c524 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBCURL_VERSION = 8.2.1
|
||||
LIBCURL_VERSION = 8.3.0
|
||||
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
|
||||
LIBCURL_SITE = https://curl.se/download
|
||||
LIBCURL_DEPENDENCIES = host-pkgconf \
|
||||
|
||||
@@ -8,6 +8,7 @@ LIBDE265_VERSION = 1.0.12
|
||||
LIBDE265_SITE = https://github.com/strukturag/libde265/releases/download/v$(LIBDE265_VERSION)
|
||||
LIBDE265_LICENSE = LGPL-3.0+
|
||||
LIBDE265_LICENSE_FILES = COPYING
|
||||
LIBDE265_CPE_ID_VENDOR = struktur
|
||||
LIBDE265_INSTALL_STAGING = YES
|
||||
|
||||
$(eval $(cmake-package))
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
config BR2_PACKAGE_LIBDECOR
|
||||
bool "libdecor"
|
||||
depends on !BR2_STATIC_LIBS # wayland
|
||||
depends on BR2_USE_MMU # pango
|
||||
depends on BR2_USE_WCHAR # pango
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
|
||||
depends on BR2_INSTALL_LIBSTDCPP # pango
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wayland
|
||||
select BR2_PACKAGE_CAIRO
|
||||
select BR2_PACKAGE_PANGO
|
||||
select BR2_PACKAGE_WAYLAND
|
||||
select BR2_PACKAGE_WAYLAND_PROTOCOLS
|
||||
help
|
||||
libdecor is a library that can help Wayland clients draw
|
||||
window decorations for them. It aims to provide multiple
|
||||
backends that implements the decoration drawing.
|
||||
|
||||
https://gitlab.freedesktop.org/libdecor/libdecor
|
||||
|
||||
comment "libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 82adece5baeb6194292b0d1a91b4b3d10da41115f352a5e6c5844b20b88a0512 libdecor-0.1.1.tar.gz
|
||||
sha256 508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1 LICENSE
|
||||
@@ -0,0 +1,22 @@
|
||||
################################################################################
|
||||
#
|
||||
# libdecor
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBDECOR_VERSION = 0.1.1
|
||||
LIBDECOR_SITE = https://gitlab.freedesktop.org/libdecor/libdecor/-/archive/$(LIBDECOR_VERSION)
|
||||
LIBDECOR_LICENSE = MIT
|
||||
LIBDECOR_LICENSE_FILES = LICENSE
|
||||
LIBDECOR_INSTALL_STAGING = YES
|
||||
LIBDECOR_DEPENDENCIES = cairo pango wayland wayland-protocols
|
||||
LIBDECOR_CONF_OPTS = -Ddemo=false
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DBUS),y)
|
||||
LIBDECOR_CONF_OPTS += -Ddbus=enabled
|
||||
LIBDECOR_DEPENDENCIES += dbus
|
||||
else
|
||||
LIBDECOR_CONF_OPTS += -Ddbus=disabled
|
||||
endif
|
||||
|
||||
$(eval $(meson-package))
|
||||
@@ -33,6 +33,10 @@ LIBGPGME_CONF_OPTS = \
|
||||
--disable-cpp-test \
|
||||
--enable-languages=$(subst $(space),$(comma),$(LIBGPGME_LANGUAGE_BINDINGS))
|
||||
|
||||
# Force the path to "gpgrt-config" (from the libgpg-error package) to
|
||||
# avoid using the one on host, if present.
|
||||
LIBGPGME_CONF_ENV += GPGRT_CONFIG=$(STAGING_DIR)/usr/bin/gpgrt-config
|
||||
|
||||
# Handle argp-standalone or it errors out during build
|
||||
ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
|
||||
# musl libc does not define error_t in errno.h, but argp.h does.
|
||||
|
||||
@@ -8,6 +8,7 @@ LIBHEIF_VERSION = 1.16.2
|
||||
LIBHEIF_SITE = https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION)
|
||||
LIBHEIF_LICENSE = LGPL-3.0+
|
||||
LIBHEIF_LICENSE_FILES = COPYING
|
||||
LIBHEIF_CPE_ID_VENDOR = struktur
|
||||
LIBHEIF_INSTALL_STAGING = YES
|
||||
LIBHEIF_CONF_OPTS = \
|
||||
-DCMAKE_CXX_FLAGS="-std=c++11" \
|
||||
|
||||
@@ -11,5 +11,8 @@ LIBIEC61850_LICENSE = GPL-3.0+
|
||||
LIBIEC61850_LICENSE_FILES = COPYING
|
||||
LIBIEC61850_CPE_ID_VENDOR = mz-automation
|
||||
LIBIEC61850_CONF_OPTS = -DBUILD_PYTHON_BINDINGS=OFF
|
||||
# Examples aren't build
|
||||
# https://github.com/mz-automation/libiec61850/issues/442
|
||||
LIBIEC61850_IGNORE_CVES += CVE-2023-27772
|
||||
|
||||
$(eval $(cmake-package))
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From 42e944a471672dae8522fbcf161941895ba16632 Mon Sep 17 00:00:00 2001
|
||||
From: Eastdong <31920925+IEAST@users.noreply.github.com>
|
||||
Date: Thu, 23 Feb 2023 06:08:36 +0800
|
||||
Subject: [PATCH] Add missing <atomic> content to fix gcc compilation for RISCV
|
||||
architecture. (#2211)
|
||||
|
||||
* Add missing <atomic> content to fix gcc compilation for RISCV architecture.
|
||||
|
||||
* add name to AUTHORS
|
||||
|
||||
* lint fix
|
||||
|
||||
Co-authored-by: Moritz Firsching <firsching@google.com>
|
||||
Upstream: https://github.com/libjxl/libjxl/commit/22d12d74e7bc56b09cfb1973aa89ec8d714fa3fc
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
---
|
||||
AUTHORS | 1 +
|
||||
lib/jxl/enc_xyb.cc | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/AUTHORS b/AUTHORS
|
||||
index 44dcc409..3340422d 100644
|
||||
--- a/AUTHORS
|
||||
+++ b/AUTHORS
|
||||
@@ -30,6 +30,7 @@ Daniel Novomeský <dnovomesky@gmail.com>
|
||||
David Burnett <vargolsoft@gmail.com>
|
||||
Dirk Lemstra <dirk@lemstra.org>
|
||||
Don Olmstead <don.j.olmstead@gmail.com>
|
||||
+Dong Xu <xdong181@gmail.com>
|
||||
Even Rouault <even.rouault@spatialys.com>
|
||||
Fred Brennan <copypaste@kittens.ph>
|
||||
Heiko Becker <heirecka@exherbo.org>
|
||||
diff --git a/lib/jxl/enc_xyb.cc b/lib/jxl/enc_xyb.cc
|
||||
index c7310765..2fd5d025 100644
|
||||
--- a/lib/jxl/enc_xyb.cc
|
||||
+++ b/lib/jxl/enc_xyb.cc
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "lib/jxl/enc_xyb.h"
|
||||
|
||||
#include <algorithm>
|
||||
+#include <atomic>
|
||||
#include <cstdlib>
|
||||
|
||||
#undef HWY_TARGET_INCLUDE
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally computed:
|
||||
sha256 60f43921ad3209c9e180563025eda0c0f9b1afac51a2927b9ff59fff3950dc56 libjxl-0.8.1.tar.gz
|
||||
sha256 c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420 libjxl-0.8.2.tar.gz
|
||||
sha256 8405932022a556380c2d8c272eff154a923feb197233f348ce5f7334fb0a5ede LICENSE
|
||||
sha256 91915f8ae056a68a3c5bdf05d9f6f78bb6903e27a8ca3a8434c9e4ac87300575 PATENTS
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBJXL_VERSION = 0.8.1
|
||||
LIBJXL_VERSION = 0.8.2
|
||||
LIBJXL_SITE = $(call github,libjxl,libjxl,v$(LIBJXL_VERSION))
|
||||
LIBJXL_LICENSE = BSD-3-Clause
|
||||
LIBJXL_LICENSE_FILES = LICENSE PATENTS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://www.openssl.org/source/openssl-3.0.10.tar.gz.sha256
|
||||
sha256 1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323 openssl-3.0.10.tar.gz
|
||||
# From https://www.openssl.org/source/openssl-3.0.11.tar.gz.sha256
|
||||
sha256 b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 openssl-3.0.11.tar.gz
|
||||
|
||||
# License files
|
||||
sha256 7d5450cb2d142651b8afa315b5f238efc805dad827d91ba367d8516bc9d49e7a LICENSE.txt
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBOPENSSL_VERSION = 3.0.10
|
||||
LIBOPENSSL_VERSION = 3.0.11
|
||||
LIBOPENSSL_SITE = https://www.openssl.org/source
|
||||
LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz
|
||||
LIBOPENSSL_LICENSE = Apache-2.0
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
From d8440f4d711a654b511f50f79c0445b26f9dd1e1 Mon Sep 17 00:00:00 2001
|
||||
From: Nanang Izzuddin <nanang@teluu.com>
|
||||
Date: Tue, 20 Dec 2022 11:39:12 +0700
|
||||
Subject: [PATCH] Merge pull request from GHSA-9pfh-r8x4-w26w
|
||||
|
||||
* Fix buffer overread in STUN message decoder
|
||||
|
||||
* Updates based on comments
|
||||
|
||||
[Retrieved from:
|
||||
https://github.com/pjsip/pjproject/commit/d8440f4d711a654b511f50f79c0445b26f9dd1e1]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
pjnath/include/pjnath/stun_msg.h | 4 ++++
|
||||
pjnath/src/pjnath/stun_msg.c | 14 +++++++++++---
|
||||
2 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pjnath/include/pjnath/stun_msg.h b/pjnath/include/pjnath/stun_msg.h
|
||||
index b52f95c586..e49f096f3a 100644
|
||||
--- a/pjnath/include/pjnath/stun_msg.h
|
||||
+++ b/pjnath/include/pjnath/stun_msg.h
|
||||
@@ -442,6 +442,7 @@ typedef enum pj_stun_status
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
+#pragma pack(1)
|
||||
typedef struct pj_stun_msg_hdr
|
||||
{
|
||||
/**
|
||||
@@ -473,6 +474,7 @@ typedef struct pj_stun_msg_hdr
|
||||
pj_uint8_t tsx_id[12];
|
||||
|
||||
} pj_stun_msg_hdr;
|
||||
+#pragma pack()
|
||||
|
||||
|
||||
/**
|
||||
@@ -490,6 +492,7 @@ typedef struct pj_stun_msg_hdr
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
+#pragma pack(1)
|
||||
typedef struct pj_stun_attr_hdr
|
||||
{
|
||||
/**
|
||||
@@ -506,6 +509,7 @@ typedef struct pj_stun_attr_hdr
|
||||
pj_uint16_t length;
|
||||
|
||||
} pj_stun_attr_hdr;
|
||||
+#pragma pack()
|
||||
|
||||
|
||||
/**
|
||||
diff --git a/pjnath/src/pjnath/stun_msg.c b/pjnath/src/pjnath/stun_msg.c
|
||||
index 3def6b3eac..e904a0ba47 100644
|
||||
--- a/pjnath/src/pjnath/stun_msg.c
|
||||
+++ b/pjnath/src/pjnath/stun_msg.c
|
||||
@@ -746,7 +746,7 @@ PJ_DEF(int) pj_stun_set_padding_char(int chr)
|
||||
|
||||
#define INIT_ATTR(a,t,l) (a)->hdr.type=(pj_uint16_t)(t), \
|
||||
(a)->hdr.length=(pj_uint16_t)(l)
|
||||
-#define ATTR_HDR_LEN 4
|
||||
+#define ATTR_HDR_LEN sizeof(pj_stun_attr_hdr)
|
||||
|
||||
static pj_uint16_t GETVAL16H(const pj_uint8_t *buf, unsigned pos)
|
||||
{
|
||||
@@ -2327,6 +2327,14 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool,
|
||||
status = pj_stun_msg_check(pdu, pdu_len, options);
|
||||
if (status != PJ_SUCCESS)
|
||||
return status;
|
||||
+ } else {
|
||||
+ /* For safety, verify packet length at least */
|
||||
+ pj_uint32_t msg_len = GETVAL16H(pdu, 2) + 20;
|
||||
+ if (msg_len > pdu_len ||
|
||||
+ ((options & PJ_STUN_IS_DATAGRAM) && msg_len != pdu_len))
|
||||
+ {
|
||||
+ return PJNATH_EINSTUNMSGLEN;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Create the message, copy the header, and convert to host byte order */
|
||||
@@ -2345,7 +2353,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool,
|
||||
p_response = NULL;
|
||||
|
||||
/* Parse attributes */
|
||||
- while (pdu_len >= 4) {
|
||||
+ while (pdu_len >= ATTR_HDR_LEN) {
|
||||
unsigned attr_type, attr_val_len;
|
||||
const struct attr_desc *adesc;
|
||||
|
||||
@@ -2357,7 +2365,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool,
|
||||
attr_val_len = (attr_val_len + 3) & (~3);
|
||||
|
||||
/* Check length */
|
||||
- if (pdu_len < attr_val_len) {
|
||||
+ if (pdu_len < attr_val_len + ATTR_HDR_LEN) {
|
||||
pj_str_t err_msg;
|
||||
char err_msg_buf[80];
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
From bc4812d31a67d5e2f973fbfaf950d6118226cf36 Mon Sep 17 00:00:00 2001
|
||||
From: sauwming <ming@teluu.com>
|
||||
Date: Fri, 23 Dec 2022 15:05:28 +0800
|
||||
Subject: [PATCH] Merge pull request from GHSA-cxwq-5g9x-x7fr
|
||||
|
||||
* Fixed heap buffer overflow when parsing STUN errcode attribute
|
||||
|
||||
* Also fixed uint parsing
|
||||
|
||||
[Retrieved from:
|
||||
https://github.com/pjsip/pjproject/commit/bc4812d31a67d5e2f973fbfaf950d6118226cf36]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
pjnath/src/pjnath/stun_msg.c | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/pjnath/src/pjnath/stun_msg.c b/pjnath/src/pjnath/stun_msg.c
|
||||
index c6b0bdd284..b55d29849a 100644
|
||||
--- a/pjnath/src/pjnath/stun_msg.c
|
||||
+++ b/pjnath/src/pjnath/stun_msg.c
|
||||
@@ -1438,12 +1438,12 @@ static pj_status_t decode_uint_attr(pj_pool_t *pool,
|
||||
attr = PJ_POOL_ZALLOC_T(pool, pj_stun_uint_attr);
|
||||
GETATTRHDR(buf, &attr->hdr);
|
||||
|
||||
- attr->value = GETVAL32H(buf, 4);
|
||||
-
|
||||
/* Check that the attribute length is valid */
|
||||
if (attr->hdr.length != 4)
|
||||
return PJNATH_ESTUNINATTRLEN;
|
||||
|
||||
+ attr->value = GETVAL32H(buf, 4);
|
||||
+
|
||||
/* Done */
|
||||
*p_attr = attr;
|
||||
|
||||
@@ -1757,14 +1757,15 @@ static pj_status_t decode_errcode_attr(pj_pool_t *pool,
|
||||
attr = PJ_POOL_ZALLOC_T(pool, pj_stun_errcode_attr);
|
||||
GETATTRHDR(buf, &attr->hdr);
|
||||
|
||||
+ /* Check that the attribute length is valid */
|
||||
+ if (attr->hdr.length < 4)
|
||||
+ return PJNATH_ESTUNINATTRLEN;
|
||||
+
|
||||
attr->err_code = buf[6] * 100 + buf[7];
|
||||
|
||||
/* Get pointer to the string in the message */
|
||||
value.ptr = ((char*)buf + ATTR_HDR_LEN + 4);
|
||||
value.slen = attr->hdr.length - 4;
|
||||
- /* Make sure the length is never negative */
|
||||
- if (value.slen < 0)
|
||||
- value.slen = 0;
|
||||
|
||||
/* Copy the string to the attribute */
|
||||
pj_strdup(pool, &attr->reason, &value);
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 4178bb9f586299111463fc16ea04e461adca4a73e646f8ddef61ea53dafa92d9 pjproject-2.13.tar.gz
|
||||
sha256 32a5ab5bfbb9752cb6a46627e4c410e61939c8dbbd833ac858473cfbd9fb9d7d pjproject-2.13.1.tar.gz
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBPJSIP_VERSION = 2.13
|
||||
LIBPJSIP_VERSION = 2.13.1
|
||||
LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.gz
|
||||
LIBPJSIP_SITE = $(call github,pjsip,pjproject,$(LIBPJSIP_VERSION))
|
||||
|
||||
@@ -15,12 +15,6 @@ LIBPJSIP_CPE_ID_PRODUCT = pjsip
|
||||
LIBPJSIP_INSTALL_STAGING = YES
|
||||
LIBPJSIP_MAKE = $(MAKE1)
|
||||
|
||||
# 0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch
|
||||
LIBPJSIP_IGNORE_CVES += CVE-2022-23537
|
||||
|
||||
# 0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch
|
||||
LIBPJSIP_IGNORE_CVES += CVE-2022-23547
|
||||
|
||||
LIBPJSIP_CFLAGS = $(TARGET_CFLAGS) -DPJ_HAS_IPV6=1
|
||||
|
||||
# relocation truncated to fit: R_68K_GOT16O
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
From 051d9cfe8f365e30affc6476ed79b9e04a6b15ad Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Fri, 4 Nov 2022 00:27:50 +0100
|
||||
Subject: [PATCH] Add --disable-tests option
|
||||
|
||||
Add --disable-tests to allow the user to disable tests. As a
|
||||
side-effect, this will avoid the following build failure when check is
|
||||
found:
|
||||
|
||||
libstat_wrapper.c:11:10: fatal error: gnu/lib-names.h: No such file or directory
|
||||
11 | #include <gnu/lib-names.h>
|
||||
| ^~~~~~~~~~~~~~~~~
|
||||
|
||||
This build failure is raised since version 2.0.5 and
|
||||
https://github.com/ClusterLabs/libqb/commit/78df90b180740712d0c90b6d982b78241cc99d72
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/450cfc36d4fd6dc71c138bec45f05b5a2d92a08d
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status: https://github.com/ClusterLabs/libqb/pull/475]
|
||||
---
|
||||
Makefile.am | 6 +++++-
|
||||
configure.ac | 5 +++++
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index a08b1d2..6a710a0 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -39,7 +39,11 @@ ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
dist_doc_DATA = COPYING INSTALL README.markdown
|
||||
|
||||
-SUBDIRS = include lib doxygen2man docs tools tests examples
|
||||
+SUBDIRS = include lib doxygen2man docs tools examples
|
||||
+
|
||||
+if ENABLE_TESTS
|
||||
+SUBDIRS += tests
|
||||
+endif
|
||||
|
||||
dist-clean-local:
|
||||
rm -f .snapshot-version autoconf automake autoheader
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac44b7e..4946008 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -562,6 +562,11 @@ AC_ARG_WITH([force-sockets-config-file],
|
||||
[ FORCESOCKETSFILE="$withval" ],
|
||||
[ FORCESOCKETSFILE="$sysconfdir/libqb/force-filesystem-sockets" ])
|
||||
|
||||
+AC_ARG_ENABLE([tests],
|
||||
+ [AS_HELP_STRING([--disable-tests],[disable tests])],,
|
||||
+ [ enable_tests="yes" ])
|
||||
+AM_CONDITIONAL([ENABLE_TESTS], [test x$enable_tests = xyes])
|
||||
+
|
||||
AC_ARG_ENABLE([install-tests],
|
||||
[AS_HELP_STRING([--enable-install-tests],[install tests])],,
|
||||
[ enable_install_tests="no" ])
|
||||
--
|
||||
2.35.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user