Run collectd in a VRF, using the procd 'vrf' parameter:
config globals 'globals'
option vrf '<dev>'
Assisted-by: Claude:claude-fable-5-1
Signed-off-by: Nick Hainke <vincent@systemli.org>
Changes:
- clear old retained topics when a topic translation is added
- configurable sensor offline time (sensor-offline-seconds)
- fix a buffer overflow and a crash on empty MQTT messages
- add --version option
- do not build the tests in the package (BUILD_TESTING=OFF)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKXWPFfkJSBzsjL6umsjGD
Signed-off-by: Peter Liedholm <peterfromswe884@gmail.com>
liblzma.pc is generated by a make rule that expands $(libdir) and
$(includedir) to absolute paths, which OpenWrt's pkg-config wrapper
cannot redirect at the staging directory. Rewrite the staged copy with
SED instead of patching the template, as ~50 other packages here do.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
tio embeds Lua for its scripting support, which is not optional. It
looks Lua up through pkg-config as lua-5.4, lua-5.3, lua-5.2, lua-5.1
and lua, in this order, with no option to select the version. The
package depends on lua (5.1), which tio has found as lua.pc so far.
Since lua5.4 stages lua-5.4.pc, tio finds Lua 5.4 first and links
liblua5.4 without depending on it.
Depend on liblua5.4, the version tio looks up first, instead of lua,
which is the documented preferred version anyway.
Only the library is needed; tio does not run the lua interpreter.
Signed-off-by: Mirko Vogt <mirko-openwrt@nanl.de>
duperemove is a simple tool for finding duplicated
extents and submitting them for deduplication. It
will de-dupe results on btrfs.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Keith T. Garner <kgarner@kgarner.com>
--enable-small builds only the resumable mode of the LZMA decoder and a
single-table CRC32/CRC64 without the architecture-specific CRC code.
Keep it for SMALL_FLASH targets and build the fast variants elsewhere.
xz -dc -T1 of a 32 MiB file (3.3 MiB .xz), median of 5: 966 -> 880 ms
on Cortex-A53, 813 -> 634 ms on Cortex-A72 in AArch32. liblzma grows by
11.5 KiB (aarch64) to 19.6 KiB (mips_24kc), compressed with xz.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
- Add interface trigger handling in watchcat.init
- Log when raw interface trigger is activated by any interface coming up
- Move helper functions to separate file
- Update Makefile to install new functions file
Closes: #30463
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
We use shellcheck even though it is pedantic to assist in reducing
errors. Therefore, we add shellcheck directives to silence false
positives. We keep changes minimal as some shellcheck suggestions
result in watchcat failing to function properly.
Also make formatting shmt clean (using -ln=bash due to ash constructs
that shfmt 3.8.0 does not accept for posix shells including busybox).
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
The package allocates a group named scanner with a dynamic id, while
openwrt.git's scanner-support package allocates it as gid 47. Two
different ids for one group name make the metadata scan fail.
Depend on scanner-support and pin the group to the same id. The hotplug
script stays here: it matches a scanner by vendor and product id against
the usbid lists this package ships, which scanner-support has no way to
do, and it already checks that the group exists before granting access.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
get_bootdev() identifies the boot disk for a root=PARTUUID=xxxxxxxx-NN
command line by reading the four-byte signature at offset 440 of each
block device, but renders it with %x per byte, so a byte below 0x10 comes
out as a single digit and the string is too short to ever match. A disk
whose signature is cf0a3161 yields "cfa3161", get_bootdev() returns null,
and every backend's init fails: uvol then reports no backend at all and
no volume can be created on a perfectly good volume group.
Pad each byte to two digits, as the GPT branch of the same function
already does.
Fixes: 6350c7bc63 ("uvol: replace with re-write in ucode")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
setools reads its version through importlib.metadata, which imports
the email module. email is part of python3-urllib, so without it every
tool prints "unknown" for --version, and the generic version check
fails for all of them. Depend on python3-urllib.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
None of the selinux-python tools print the package version, so the
generic version check fails for all of them.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Fixes GHSA-5qpq-xqfv-j9pg: after a failed memory allocation,
reinitializing an existing .lzma, .lz or MicroLZMA decoder to decode a
different file could access invalid memory and at least crash. It
affects all XZ Utils versions since 5.0.0.
The release also fixes a wrong error code in lzma_stream_buffer_decode()
and a slowdown of lzma_index_cat() with crafted files that made
"xz --list" appear to hang.
Release notes:
https://github.com/tukaani-project/xz/releases/tag/v5.8.4
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
gpsd-clients/install only shipped cgps, gpsctl, gpsdecode, gpsmon,
gpspipe, gpxlogger and lcdgps, leaving out gps2udp even though it's
built by scons like the rest of the client tools. Install it too.
Signed-off-by: Jose Luis Sanroma Tato <joseluis.sanromatato@unwired.at>
Two packages provide librespeed-cli, and for a dependency written with a
leading plus, package-metadata.pl re-emits the chosen provider's
architecture gate under a condition that names the consuming package.
Kconfig reads that as a self-dependency, once for librespeed-common and
again for luci-app-librespeed. Naming the client without the plus emits
a plain either-or instead, and the user picks.
The provide also crosses package boundaries, where package-pack.mk asks
for an unversioned one: with a version the higher one wins, so a release
on either side would decide which client apk installs. Unversioned, the
package called librespeed-cli keeps the name, and a default variant
gives the Rust client the provider priority so it is still chosen where
the Go client is not built.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
The mox-pkcs11 package was merged with a Makefile that fails during build,
specifically because of linking issues.
Example errors:
> mox-pkcs11.c:(.text+0x1e4): undefined reference to `find_key_by_type_and_desc'
> mox-pkcs11.c:(.text+0x109c): undefined reference to `keyctl_read'
> ERROR: package/feeds/packages/mox-pkcs11 failed to build.
The specific error is a missing '\'.
Reported-by: Robert Klink <rklink@ripe.net>
Signed-off-by: Trix Taiclet <git@trix.moe>
The LG Magic Remote MR24 pads a Read By Type response for the
characteristic declaration with junk entries once its attribute table
is exhausted, and bluetoothd then throws the whole GATT discovery away,
so the HID over GATT profile never attaches and the remote produces no
input device. Add a gatt-helpers fix that accepts only the ascending,
in-range prefix of such a response.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Corrects the transfer accounting, the redirect and TLS handling, the
command line and the reports, sanitizes text a server supplies, and
holds the output to the Go client's with differential tests.
The upstream repository moved to the librespeed organisation, and the
version banner follows it, so the test greps for the new address.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Update the mstflint package to the latest 4.37.0-1 release.
Also add the newly introduced mstefuse binary, which prints
fuse voltage readings, to the package installation.
Release notes:
https://github.com/Mellanox/mstflint/releases/tag/v4.37.0-1
Signed-off-by: Til Kaiser <mail@tk154.de>
Add a version check override script that verifies swanmon displays its
usage information, since swanmon does not provide version information.
Remove redundant test.sh.
Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
- Accommodate macOS dynamic pipe sizing, avoiding hangs.
- Modify the readline redisplay code to use a buffer offset instead of
the physical prompt length in a multibyte locale to determine whether
to reprint the prompt from column 0 because the cursor is before the
last invisible character in the prompt string.
- Fix readline crash with a prompt that exceeds 256 wrapped lines.
Fix readline redisplay code to print the entire prompt if the first
few characters are identical but part of a terminal escape sequence
and the prompt needs to be redrawn.
- Work around systems including bytes between 128 and 255 in the
isalpha(3) set, which causes bash to potentially include them in
identifier names.
- If readline handles a SIGWINCH and updates its idea of the screen
dimensions, it needs to recompute the columns where the prompt wraps
lines every time, not just when the screen width decreases.
Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Ship a uci-defaults script that excepts the podman bridges from dnsmasq so
aardvark-dns can own the gateway :53, adds an fw4 zone forwarding the podman
subnets to wan, and reloads both so it also applies on a running system.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Stable bug-fix release. It avoids a TOCTOU issue in LUKS header restore
by opening the header file only once, hardens BITLK metadata validation
against crafted images, fixes an integer overflow in the anti-forensic
data size calculation on 32-bit systems and a memory corruption in
reencrypt init with more than 16 active LUKS2 keyslots or tokens, and
adds keyed discards to integritysetup (--allow-discards-keyed, Linux
7.3 or later).
Link: https://gitlab.com/cryptsetup/cryptsetup/-/blob/v2.8.8/docs/v2.8.8-ReleaseNotes
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
OpenWrt builds OpenSSL with no-blake2, which OpenSSL's Configure turns
into no-argon2 because Argon2 is built on BLAKE2b. The cryptsetup
configure script only looks for the OSSL_KDF_PARAM_ARGON2_VERSION macro,
which such a build still installs, so it drops the bundled Argon2 and
EVP_KDF_fetch() fails at runtime. Every LUKS2 keyslot using Argon2 then
fails instantly with "Keyslot open failed", and cryptsetup benchmark
reports argon2id as N/A. Add a patch that also checks OPENSSL_NO_ARGON2
so the bundled implementation is used again.
Fixes: fbac2e7861 ("cryptsetup: update to 2.8.7")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
mariadb-upgrade has had its own upgrade version file in the datadir,
called mysql_upgrade_info in <= 10.11 and mariadb_upgrade_info there
after.
The mariadb-install-db creates this file, and also the mariadb-upgrade
executable creates this file also.
This removes the need to maintain the .version info though this is used
as a last check of the upgrade.
Signed-off-by: Daniel Black <daniel@mariadb.org>
Backport two patches from upstream implementing devlink-based firmware
update support for the MaxLinear MxL862xx DSA switch family, found eg.
on the BananaPi R4 Pro (8E/4E).
Users can update the switch firmware using `fwupdmgr update`.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Increment PKG_RELEASE to force a package rebuild following recent changes,
ensuring package indexes and builds reflect the update.
Signed-off-by: Christian Korber <ckorber@tdt.de>
We need `ucode-mod-rtnl` as a dependency, because it is used in ufp.
This was forgotten in previous commits.
Signed-off-by: Christian Korber <ckorber@tdt.de>
Move each package dependency onto its own line.
This makes future dependency additions, removals,
and code reviews much easier to track in diffs.
It also keeps the dependency line under 80 characters.
Signed-off-by: Christian Korber <ckorber@tdt.de>
Add a common backend for running librespeed-cli measurements on a router.
The package provides a locked measurement runner, live progress state, and
an rpcd ucode plugin exposing start/stop/status/result/history/config over
ubus. Scheduled measurements are managed through cron and can run within a
configurable time window. Optional daily aggregation keeps longer-term
history compact.
Raw measurements are kept in JSONL for a configurable retention period.
When persistent archive storage is configured, completed days are reduced
to daily min/avg/max values.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
conmon learns a container's exit status by waiting for the pid it reads from
the runtime's --container-pidfile, which only works while the container is
conmon's own child. With ujail the container belongs to procd, so conmon has
nothing to wait for: it probes the pid with kill(pid, 0), finds it gone and
settles for a status of zero, as its own comment admits. podman then reports
0 for a container that exited 42, and an exec session that succeeded looks
like a failure.
Add a patch letting the runtime supply what conmon cannot observe: ujail
writes the status to an exit_status file beside the pid file, and conmon
adopts it in the one place it would otherwise guess. A runtime whose
container conmon does reap is unaffected, since no such file exists there.
020-fall-back-to-runtime-exit-status-file.patch also picks up two
fixes review caught: the fallback to a status of 0 now waits up to a
tenth of a second in 10ms steps for the runtime to finish writing the
file, since the runtime can only write it after the kernel has
already reaped the container and made the pid stop answering conmon's
probe, so either order is possible; and a status file is only trusted
if it is at least as new as the pid file, so a stale one left by an
earlier container in the same directory is ignored. Its header also
lost the `diff --git`/`index` lines and `git format-patch` version
trailer that don't survive `make package/conmon/refresh`, which is
what CI's "Dirty patches detected" check was catching on every
architecture. Verified via a scratch quilt tree against the pristine
2.2.1 source that the refreshed patch applies cleanly and stays
stable under a second refresh, and that the patched ctr_exit.c and
ctr_stdio.c both syntax-check clean against host glib.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
LVM2 2.03.42:
- add --lockopt retries=N / removeretry=SECONDS to lvmlockd
- use lockd_lv lock probes for pvmove holder availability in shared VGs
- auto-revert metadata when initial pvmove mirror activation fails
- refuse activation of a pvmove-locked LV when pvmove runs on another
node; allow pvmove --abort without args when using lvmlockd
- add cluster lock lifecycle for pvmove LV in shared VGs, and support
for pvmove in a shared VG
- allow lvremove -f to remove pvmove-locked LVs after an interrupted
pvmove; handle active pvmove during vgchange -an with force flags
- fix pvmove completion to use suspend+resume for DM table reload; fix
deactivation cascade during active pvmove
- support inactive LVs in pvmove with metadata-only mirror insertion;
kill orphaned polling process on pvmove --abort
- support formatting vdo volumes with the kernel vdo target (>=9.2);
fix VDO index_memory_size_mb quantisation and report the minimum
required pool size
- add --enable-asan/--enable-tsan build options
device-mapper 1.02.216:
- make libdm thread safe
- add use_kernel_format to dm_vdo_target_params
- introduce libdevmapper-san with --enable-asan/--enable-tsan
- parent table force reload when child device table changes
Refreshed 002-const-stdio.patch and 003-no-mallinfo.patch against the
new upstream source (make package/lvm2/refresh; hunk offsets only, no
content change) and gave both a proper git-am header block (From/Date/
Subject/Signed-off-by), crediting their original authorship (Daniel
Golle, 2015) with an accurate subject/body; they previously had none,
which the CI formality bot flagged. The header block was drafted via
git format-patch against a scratch commit of the pristine source, then
the whole patch re-refreshed through quilt so the diff body matches
what make package/lvm2/refresh actually produces byte for byte -
format-patch output alone does not survive OpenWrt's own refresh
(diff --git/index lines and full @@ context get stripped, the
trailing signature dropped), which is what the CI patch-format check
was rejecting before this.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This allows to save some bytes, while preserving the scripts's
copyright and license information.
In owut at current ref db17536ec5cbcc6a76a51e65f3d192b6a2184abb
the reduction in the size applied to the source code is (e.g. without
the computed "s/%%VERSION%%/$(PKG_VERSION)-r$(PKG_RELEASE)/"):
from:
74330 /usr/bin/owut
10541 /usr/share/ucode/utils/argparse.uc
to:
58640 /usr/bin/owut
8630 /usr/share/ucode/utils/argparse.uc
Signed-off-by: Samuele Longhi <agave@dracaena.it>
Co-authored-by: Eric Fahlgren <ericfahlgren@gmail.com>