This release updates the bundled ssl library, which adds support for
Mbed TLS 4.x and OpenSSL 4.0, and fixes HTTPS connections that should be
closed being kept open.
Drop the patch, as it is included in this release.
Release notes: https://github.com/zhaojh329/libuhttpd/releases/tag/v3.14.3
Use the sha256 hash provided by upstream.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This release adds support for Mbed TLS 4.x and OpenSSL 4.0 and fixes
several memory-safety issues in the command handling.
rtty now requires libinih (found via pkg-config) for its new INI config
file support, and no longer links against libcrypt.
Release notes: https://github.com/zhaojh329/rtty/releases/tag/v9.2.1
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This was added in 8c12a6bf51
"package/iwd: enable required kernel dependencies". The iwd code
referenced there did not check for MD4 then (iwd version 1.20), nor
does it now (3.12), so remove the Kconfig fixup. It did and does check
for MD5, which remains enabled.
Fixes: 8c12a6bf51
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Exercise synchronous and asynchronous HTTP requests with python-httpx2
against a local HTTP server, checking the response status and JSON body.
This covers the httpcore2 socket transports and the AnyIO asyncio backend
used by the asynchronous client.
Bind the server to an ephemeral loopback port so the test does not depend
on external services, and shut it down when the sample finishes.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Enable building of cutekeyboard with Qt6. With the merge of
QuickControls2 into qtdeclarative, the corresponding Kconfig option has
also disappeared in Buildroot.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Andrea Ricchi <andrea.ricchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
The qmake infrastructure hardcodes qt5base as the Qt provider. Select
the Qt major version from BR2_PACKAGE_QT5, which is mutually exclusive
with BR2_PACKAGE_QT6, and use it to pick the qt<N>base dependency, the
QT<N>_QMAKE command and the QT<N>_QT_CONF_FIXUP hook.
The header sync hook now takes the version from QT<N>_VERSION_MAJOR and
QT<N>_VERSION instead of hardcoding 5.15.
Document in the manual which Qt base package is added to the dependencies.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
[Arnout: write pkg-qmake with explicitly QT_XXX helper variables]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
With per-package directories, qt.conf is generated at qt6base install
time and holds the paths of the qt6base per-package host directory.
Add a hook to regenerate it with the paths of the package being built,
as QT5_QT_CONF_FIXUP does for Qt5. The qmake infrastructure will use it.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
The qmake functionality had been missing due to the new host/target
build requirement, to get it working the main parts of the qt5 qmake
has been kept, we're still making our own device spec which we use to
run qmake with along with passing some additional device options for our
flags/cross-compiler.
qt6 has its own cross-compiling qmake wrapper script. However, that
hardcodes the paths to different places than where we have them.
QT6_INSTALL_QT_CONF will be used by the qmake-package infrastructure
later so it is put in qt6.mk, even though currently it's only used by
qt6base.
A big thanks to Angelo Compagnucci for the encouragement and testing.
[dario: fix HostData and add the target install dirs in qt.conf.in,
quote QT_QMAKE_DEVICE_OPTIONS, use TARGET_CFLAGS/TARGET_CXXFLAGS,
change the commit message]
Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Tested-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Tested-by: Richard GENOUD <richard.genoud@bootlin.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
lldpd bundles some uapi linux files for old distributions, especially
the types.h one.
Since kernel commit d4bf9e08d412 ("arm64: uapi: Use __u128 instead of
__uint128_t in UAPI headers"), the type __u128 is used by sigcontext.h.
This type is defined in types.h, but the old version bundled by lldpd
does not provide it. This lack leads to the following compilation error:
In file included from ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/bits/sigcontext.h:30,
from ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/signal.h:301,
from ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/sys/param.h:28,
from privsep_io.c:5:
../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/asm/sigcontext.h:81:9: error: unknown type name '__u128'; did you mean '__u32'?
81 | __u128 vregs[32];
| ^~~~~~
| __u32
The uapi linux files bundled by lldpd are the ones of kernel 4.19
(https://github.com/lldpd/lldpd/commit/a192a2e91f81), and they are
prepended to the include path, so they shadow the sysroot ones.
Remove them so that lldpd uses the uapi files of the sysroot, but only
when the toolchain provides kernel headers 4.19 or later. With older
headers the bundled files are kept, so those configurations are left
unchanged.
Signed-off-by: Thibaut Collet <thbt.cllt@gmail.com>
Reviewed-by: Vincent Jardin <vjardin@free.fr> (✓ DKIM/buildroot.org)
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
WK_USE_CCACHE=NO is only passed to the configure step
(WPEWEBKIT_CONF_ENV). During the build step, ninja can run cmake again
(e.g. when a cmake input such as toolchainfile.cmake changed), and that
run does not have WK_USE_CCACHE set. WebKit's WebKitCCache.cmake then
sets ccache as compiler launcher again.
That outer ccache runs without the CCACHE_BASEDIR that the toolchain
wrapper sets for its own ccache call, so the cache keys and manifests
contain absolute paths, and the entries only match in the same checkout
directory.
Pass WK_USE_CCACHE=NO to the build step too.
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Acked-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
WK_USE_CCACHE=NO is only passed to the configure step
(WEBKITGTK_CONF_ENV). During the build step, ninja can run cmake again
(e.g. when a cmake input such as toolchainfile.cmake changed), and that
run does not have WK_USE_CCACHE set. WebKit's WebKitCCache.cmake then
sets ccache as compiler launcher again.
That outer ccache runs without the CCACHE_BASEDIR that the toolchain
wrapper sets for its own ccache call, so the cache keys and manifests
contain absolute paths, and the entries only match in the same checkout
directory.
Pass WK_USE_CCACHE=NO to the build step too.
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Acked-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
Since OpenSSL 3.5, commit fed9be39ffec ("Make RFC8422 deprecated TLS EC
curves disablable"), OpenSSL has the option to disable support
for legacy TLS EC groups that were deprecated in RFC8422.
In OpenSSL 4.0, the option will be removed again and instead there will
be an option to _enable_ the legacy curves.
Add a Kconfig option to enable the deprecated curves. Use positive logic
already, i.e. the Kconfig option enables them.
Signed-off-by: Konrad Vité <konrad.vite@cherry.de>
Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
[Arnout: clarify that enabling this option is dangerous]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
The new config deviates from the existing
configs/raspberrypicm4io_64_defconfig only as far as necessary to
demonstrate booting through U-Boot instead of having the firmware load
the kernel directly. The sample boot script loads the kernel from the
rootfs and uses the device tree provided by the firmware, and should
be compatible with any RPi device that runs U-Boot.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[Arnout: update kernel to same as raspberrypicm4io_64_defconfig]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
When installing DTBs from the rpi-firmware package
(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS=y, the default), there's no DTB
directly in the images directory because the kernel build doesn't
provide one. The DTBs from rpi-firmware are installed in the
rpi-firmware directory.
Using pre-compiled DTBs is discouraged, but useful for using mainline
kernels until suitable DTS can be merged, or to provide U-Boot with a
DTB (via the firmware bootloader) independent of whatever kernel DTB
is in use.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Reviewed-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
If using U-Boot as "kernel" for the raspberrypi bootloader, include
boot.scr in the boot partition if it exists.
To use this, use BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE to set a config
file that uses U-Boot, and enable building a boot script in the U-Boot
host tool settings.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
Passing linker flags via LDFLAGS is notoriously fragile: packages either
use LDFLAGS with the gcc frontend, or directly with ld. This means that
care must be taken to only pass flags that are recognised by both gcc
and ld, which usually proves a bit challenging, as bd035872be
(package/Makefile.in: Use "-z text" instead of "-Wl, -z, text")
demonstrates (later amended by 3a39e706a9).
It turns out that we already have a better, robust way of passing
LDFLAGS via the gcc frontend: the toolchain wrapper, which we already use
to pass relro for example.
We can revert back to using -Wl,-z,text, as we're sure this is going to
be a call to the gcc frontend (the wrapper is not used for ld), which
makes it consistent with the other similar args for -z relro and -z now.
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: J. Neuschäfer <j.neuschaefer@gmx.net>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
ifenslave has not received any recent update, has no Buildroot DEVELOPER
and its upstream NEWS [1] states the following:
This version of the ifenslave package no longer provides /sbin/ifenslave. The
/sbin/ip command from the iproute2 package supports creating bonding masters
and enslaving other interfaces to it.
Its feature is available either in iproute or in Busybox, so we can
simply remove it from Buildroot.
[1] https://salsa.debian.org/debian/ifenslave/-/blob/main/debian/NEWS
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>