Commit Graph
37346 Commits
Author SHA1 Message Date
Austin Lane eeb44829f3 python-charset-normalizer: update to 3.5.1
Adds support for setuptools 84.

chardet-normalizer has been broken since setuptools 84 was merged in
6211fee354

Signed-off-by: Austin Lane <vidplace7@gmail.com>
2026-08-31 09:20:56 +03:00
Samuele LonghiandEric Fahlgren 1c2ce769a8 owut: remove comments and empty lines from the built package
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>
2026-08-30 21:20:02 +03:00
Nick Hainke d5c4e00d9c uneighbord: add uneighbord
uneighbord synchronizes hostapd 802.11k Neighbor Reports between local
`hostapd.*` BSSes and other OpenWrt access points on the same LAN, over
IPv6 link-local UDP multicast. Reports are only shared between BSSes with
the same SSID, and installed through hostapd's ubus API.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-08-30 11:50:14 +02:00
John Audia b350b11558 openssh: update to 10.5_p1
Changelog: https://www.openssh.com/txt/release-10.5

Signed-off-by: John Audia <therealgraysky@proton.me>
2026-08-30 11:10:40 +02:00
Chester A. Unal dee7db4e60 bsbf-resources: update to GIT HEAD of 2026-08-29
Update bsbf-resources to the GIT HEAD of 2026-08-29.

- files/usr/sbin/bsbf-bonding:
  - Adjust to new xray configuration.

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
2026-08-29 20:47:17 +02:00
Andrea Pesaresi 4ce49b0a9d ksmbd-tools: add package version test
The generic package version check invokes ksmbd.tools directly, but the
multicall binary rejects that basename and fails the test.

Check the version through ksmbd.mountd and skip subpackages without
versioned executables.

Signed-off-by: Andrea Pesaresi <andreapesaresi82@gmail.com>
2026-08-29 16:54:51 +03:00
Andrea Pesaresi 665bb2e5ce ksmbd-tools: update to version 3.5.7
Release notes: https://github.com/cifsd-team/ksmbd-tools/releases/tag/3.5.7

Signed-off-by: Andrea Pesaresi <andreapesaresi82@gmail.com>
2026-08-29 16:54:51 +03:00
Daniel F. Dickinson 070a2991e0 zabbix: bump to version 7.0.30
Bug-fix update: https://www.zabbix.com/rn/rn7.0.30

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
2026-08-29 14:14:22 +02:00
Ivan Pavlov 501866ed42 nmap: update to 7.991
Changelog: https://nmap.org/changelog.html#7.991

Add patch to fix compilation when NOLUA flag is defined.
Add git am header to 030-ncat-drop-ca-bundle.patch, refresh patches

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
2026-08-29 09:49:22 +01:00
Daniel Golle 11474ce3b7 comrade: update to 0.1.16, add a comrade-tests package and test.sh
Upstream history:
https://github.com/dangowrt/comrade/compare/v0.1.1...v0.1.16

Also adds comrade-tests, a separate package carrying comrade's compiled
test suite (its unit tests, comrade-e2e, and its end-to-end scenario
scripts) so none of it reaches an end-user comrade install. CI's own
test.sh wires up the unit tests through comrade-tests' own
run-unit-tests.sh; both discover what to run from what was actually
installed rather than a hardcoded list, so neither goes stale as
upstream's own suite grows. stream_cc_test and natstream_test are
skipped there instead of run: the first asserts a throughput floor
QEMU user-mode emulation can't reliably clear, the second does real
ICE/NAT gathering, so run-unit-tests.sh skips both by default;
COMRADE_SKIP= run-unit-tests.sh runs them too, e.g. on real hardware,
and comrade-tests' own description now says so. The variable is
namespaced rather than a plain SKIP, matching COMRADE_E2E_NET below,
so it can't collide with whatever else a CI harness's environment
happens to define. run-unit-tests.sh also warns if a listed test ever
matches no installed binary, so a rename or removal upstream surfaces
as a message instead of silent drift. Each test runs under busybox
timeout with a 600 second bound, 5x upstream's largest CTest TIMEOUT
of 120 seconds with margin left for the slowest emulated targets, so
a test that wedges under QEMU fails in minutes and by name rather
than holding the job to its six-hour limit. The end-to-end scenarios
need real network or multicast conditions, and some a live DHT, that
CI's QEMU emulation cannot promise, so they ship for manual use on
real hardware instead.

PKG_SOURCE_URL now points at the release's own tarball instead of
GitHub's codeload archive: codeload's compression is not guaranteed
byte-stable release to release, which broke a hash pinned against
v0.1.12 within hours of that release going out, while a release asset
is frozen the moment the tag's release is published. The tarball is
still produced with `git archive`, so it still carries no submodule
content and deps/always-online-stun still arrives empty for
Build/Prepare to fill.

The STUN list pin matches this release's own deps/always-online-stun
commit. comrade tries every server in the pool in rotation now, not
just the first entry, but a pool with many dead entries still degrades
public-IPv4 discovery, so this still wants refreshing on every bump.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-28 17:54:59 +01:00
Daniel Golle bdcd738a1b libssh: fix big-endian -R forwarding and crash without entropy source
On big-endian hosts the server parsed every tcpip-forward bind port as
zero and bound an ephemeral port, so -R remote forwarding never carried
a connection. With no usable entropy source the library crashed inside
mbedtls instead of failing cleanly.

Patches 2-4 were sent upstream to the libssh mailing list:
https://archive.libssh.org/libssh/2026-08/0000000.html
https://archive.libssh.org/libssh/2026-08/0000001.html
Patch 1 backports the seed-failure error path they depend on from
upstream master commit ac4b723c.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-28 12:14:51 +03:00
Daniel Golle 29a148ba4b libssh: update to 0.12.2
Release notes: https://git.libssh.org/projects/libssh.git/tree/CHANGELOG?h=libssh-0.12.2
Fixes CVE-2026-59843 (denial of service via zero advertised channel
packet size).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-28 12:14:51 +03:00
Peter Polonec 1da75e82a7 vim: update to 9.2.1014
Update Vim from 9.2.0 to 9.2.1014.

This includes fixes for GHSA-vfc7-mhvm-gjp8, an out-of-bounds
access in libvterm resize handling, and GHSA-cvc5-p4x9-3f9f,
an integer overflow when reading persistent undo files.

Tested compilation on OpenWrt.

Link: https://github.com/vim/vim/security/advisories/GHSA-vfc7-mhvm-gjp8
Link: https://github.com/vim/vim/security/advisories/GHSA-cvc5-p4x9-3f9f
Signed-off-by: Peter Polonec <polonec.devel@pm.me>
2026-08-28 09:01:42 +03:00
Dirk Brenken ff5519f750 adblock: replace the CARTO basemap with local outlines
CARTO now requires an API key for the raster basemaps at basemaps.cartocdn.com and watermarks every unauthenticated tile request, so the GeoIP map currently renders "API KEY REQUIRED" across the whole viewport.
Therefore in luci-app-banip the basemap is now drawn from country outlines that ship with the package: Natural Earth 1:110m, public domain, all attributes stripped, simplified to 36 kB (~10 kB in the apk).

readme changes in the base package only

Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-27 14:00:04 +02:00
Daniel Golle 7390f8e8fe fluidsynth: update to 2.6.0
New features:
- automatic gain control / output limiter on the final rendering stage
- signed 32-bit and 24-bit linear PCM support; WASAPI driver now allows
  24-bit audio
- MIDI RPN 5 (Modulation Depth Range) support
- multiple reverb engines, addressing prior FDN reverb limitations
- GM2 bank select mode

Musically breaking changes:
- corrected a 17-year-old bug affecting sample fine-tuning in certain
  Soundfont instruments
- implemented MIDI RP-020 to fix MTS playback in MIDI files
- switched default reverb engine to Dattorro (plate-style)
- replaced 7th order sinc interpolation with a higher-order one due to
  quality concerns

Other: hardened Pipewire driver against xruns; exits with an error when
unable to load a command-line Soundfont; dropped the GLib and
libInstPatch dependencies.

Dropped +glib2 from DEPENDS to match: libfluidsynth.so.3.6.0 no longer
links libglib-2.0 (confirmed via readelf -d).

2.6.0 also drops the enable-libinstpatch CMake option entirely, so the
existing -Denable-libinstpatch=off pin became a silent no-op: DLS/GIG
loading is now controlled by the new enable-native-dls option instead,
which defaults to on. Left unpinned, this bump would have silently
re-enabled DLS/GIG support that this Makefile had deliberately turned
off. Replaced the dead pin with -Denable-native-dls=off to preserve
the existing behaviour explicitly.

Also pin the new enable-signalsmith option (limiter/AGC and the extra
reverb engines) to off: it defaults to on, but the feature it gates
depends on the signalsmith-audio-basics git submodule, which is not
present in the release tarball this package builds from - configure
silently compiles it out either way, so pinning it off just makes that
explicit and deterministic rather than accidental.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-27 14:55:51 +03:00
Daniel Golle a49d5cb892 xdg-dbus-proxy: update to 0.1.8
0.1.8:
- fix broadcast messages bypassing path/interface/member checks
- improvements to the existing testing infrastructure
- add tests for owning names, issuing method calls, receiving messages

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-27 14:55:17 +03:00
Daniel Golle 9c79d699d9 libudev-zero: update to 1.0.5
- added a meson.build alongside the existing Makefile, giving more
  control for implementing additional features such as optional symbol
  versioning (#81, #77)
- added optional versioned symbols when compiling via meson, opt out
  with -Dsymbol-versioning=disabled (#82, fixes #77)

This package still builds via the traditional Makefile (no meson.mk
included), which upstream keeps alongside the new meson.build; SONAME
is unchanged (libudev.so.1).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-27 14:52:27 +03:00
John Audia 97e17c70fc fscrypt: update to 0.3.7
Changelog:
- Upgraded various dependencies, including golang.org/x/crypto to resolve the usual
  CVEs in it (but as usual, not actually affecting fscrypt's use of it).
- When selecting password hashing parameters, fscrypt now takes cgroup limitations
  into consideration.
- fscrypt encrypt no longer follows trailing symlinks when writing the recovery
  instructions.
- fscrypt unlock no longer enters an infinite loop when an incorrect key file is
  specified using --key=FILE, --quiet isn't specified, and standard input is a terminal.
- fscrypt unlock no longer enters an infinite loop when an incorrect password is specified,
  --quiet isn't specified, and standard input isn't a terminal.
- The error message when multiple protectors are available now mentions --unlock-with in
  addition to --protector.
- Documented the udev dependency for /dev/disk/by-uuid/ links.

Signed-off-by: John Audia <therealgraysky@proton.me>
2026-08-27 14:50:51 +03:00
Dirk Brenken de6ca754b1 banip: replace the CARTO basemap with local outlines
CARTO now requires an API key for the raster basemaps at basemaps.cartocdn.com and watermarks every unauthenticated tile request, so the GeoIP map currently renders "API KEY REQUIRED" across the whole viewport.
Therefore in luci-app-banip the basemap is now drawn from country outlines that ship with the package: Natural Earth 1:110m, public domain, all attributes stripped, simplified to 36 kB (~10 kB in the apk).

readme changes in the base package only

Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-27 11:06:55 +02:00
Dirk BrenkenandClaude a353d906fe shunt: init fixes
- fixed crash loops as the shipped example policy is disabled
- fixed restart/reload glitches with already stopped services
- bumped version to 0.1.5-r2

Signed-off-by: Dirk Brenken <dev@brenken.org>
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-26 17:04:08 +02:00
Yanase Yuki 69dc467f94 dcwapd: remove dcwapd and related packages
It seems these softwares are no longer maintained,
because the latest upstream commit is 7 years ago.
I think Wi-Fi 7 MLO provides similar feature.

This commit drops macremapper, libdcwproto, libdcwsocket,
dcstad, mrmctl and dcwapd.

Signed-off-by: Yanase Yuki <dev@zpc.st>
2026-08-26 08:24:13 +02:00
Dharmik Parmar a583d91170 sqm-scripts: update to 1.8.0
Update sqm-scripts to the 1.8.0 release.

This release replaces the iptables-based marking rules with native
nftables rules. Replace the iptables dependencies with nftables to match.

Signed-off-by: Dharmik Parmar <dharmikparmar2004@yahoo.com>
2026-08-25 23:23:25 +03:00
Dirk BrenkenandClaude 928797a991 shunt: add new package
shunt is a policy-based routing daemon for OpenWrt. Policies select
traffic by client address or MAC, destination address, domain, port and
protocol, and route it into any netifd interface or device via fwmark
and per-policy routing tables in nftables/fw4.

Domains are covered by a passive DNS observer (AF_PACKET + BPF) that
works with any resolver - dnsmasq, unbound, AGH, a remote DoH client -
because it reads answers on the LAN bridges instead of integrating with
a specific DNS backend. An optional poller pre-warms configured names.
Learned addresses are written in adaptive batches to stay usable beside
packages that keep very large nft sets (e.g. banIP).

Written in ucode, no dependencies beyond ucode modules, nft and ip.
Companion LuCI app is submitted separately to openwrt/luci.

Signed-off-by: Dirk Brenken <dev@brenken.org>
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-25 21:24:47 +02:00
Chris Swan 7fea15f314 csshnpd: bump to c1.0.20 release
Authentication bypass fix

Signed-off-by: Chris Swan <chris@atsign.com>
2026-08-25 19:46:30 +03:00
Alexandru Ardelean 89f358cf36 tcpreplay: fix CI tests for the QEMU runtime
The generic per-executable version probe and the old test.sh both invoke
tcpreplay --version. Under the QEMU test runtime tcpreplay and
tcpreplay-edit abort at startup on the interface link probe
("eth0: SIOCETHTOOL(ETHTOOL_GLINK) ioctl failed: Not a tty") before
autoopts can print the version, which fails the tcpreplay-all test and
warns on the standalone tcpreplay/tcpreplay-edit packages.

Add a test-version.sh that disables the flaky generic probe and asserts
each tool's version without needing an interface, and rewrite test.sh to
exercise the file-processing core (tcpcapinfo dissect, tcprewrite edit,
tcpprep cache) on a small synthesized capture instead of shelling out to
--version, which the CI infrastructure already covers.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:46 +03:00
Alexandru Ardelean 6a33191fa0 stress-ng: update to 0.21.04
Refresh PKG_HASH from the release tarball. Drop
001-allow-external-library-checks-to-be-disabled.patch: its check_lib /
check_lib_apparmor mechanism is upstream as of 0.21.04, so emptying a
LIB_* variable already skips that library check and the Makefile's
LIB_*= opt-out keeps working without the patch.

Pin the new LIB_NL and LIB_GENL probes off: 0.21.04 added netlink
stressors that would otherwise link libnl from staging_dir without a
corresponding DEPENDS, making the build non-deterministic.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:46 +03:00
Alexandru Ardelean dedfb99edb tcpreplay: update to 4.6.0
Refresh PKG_HASH from the release tarball.

Define __UAPI_DEF_ETHHDR=0: 4.6.0 added XDP support, so txring.h now
pulls <linux/if_ether.h> while sendpacket.h pulls <netinet/if_ether.h>,
and on musl both define struct ethhdr. The macro makes the kernel header
defer the struct to libc, fixing the redefinition.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:46 +03:00
Alexandru Ardelean dfd046a6b7 shadow: update to 4.20.2
Refresh PKG_HASH from the release tarball.

Drop expiry, groupmems and logoutd from SHADOW_APPLETS: shadow 4.20
removed these applets (their sources are gone from the tarball and
src/Makefile.am no longer builds them), so shadow-expiry,
shadow-groupmems and shadow-logoutd have no binary to install.

Update the login.defs bcrypt sed: 4.20's etc/login.defs ships the
commented default "#ENCRYPT_METHOD SHA512" instead of
"#ENCRYPT_METHOD DES", so the old pattern matched nothing and left
ENCRYPT_METHOD unset.

Refresh 004-fix-su-controoling-term.patch for the shifted su.c line
numbers and add the missing git-am header.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:46 +03:00
Alexandru Ardelean cfe65a4c24 pillow: bump to 12.3.0
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:34 +03:00
Alexandru Ardelean 4e95a5895e python3: update to 3.14.7
Refresh PKG_HASH from the python.org release tarball, and bump
PYTHON3_PIP_VERSION to 26.2.1 to match the pip wheel bundled in 3.14.7's
ensurepip (it already matches the python-pip package version).

Refresh the patches against the new source; only the hunk offsets shift.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:34 +03:00
Daniel Golle 267a9c8892 uvol: update to 1.2, expose volume operations over ubus
Move the storage backend probe, the ctx construction, the locking
helpers and the volume-name check out of the CLI script into
/usr/lib/uvol/common.uc, so a second entry point can reuse them
without duplicating the logic.

Publish ubus object 'uvol' with the volume operations and a readiness
query. Consumers such as uxc are pure ubus frontends and must not exec
the command line tool. Ship an rpcd exec plugin, installed by the uvol
package itself, taking the same locks as the CLI so both entry points
stay serialised. As stdout is the plugin's reply channel, point file
descriptor 1 at stderr for the duration of a call.

Send a 'uvol.ready' ubus event at the end of 'uvol boot', carrying the
active backend name and whether the .meta volume is ready. Consumers
such as uxc can wait for this event instead of polling volume state.
Sending is best-effort: boot keeps its exit code even when ubusd is
not reachable.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-24 17:54:41 +01:00
Daniel Golle f427fac2c4 uvol: update to 1.1.1, harden backend invocation and volume-name handling
Volume names were interpolated into shell command lines at every
backend call site, so a name containing shell metacharacters ran
arbitrary commands as root. ucode's system() takes an array and execs
it directly, so every call site that interpolates a name, a device or
a path now passes an argument vector instead. Three sites genuinely
want a shell and keep it, with their arguments quoted: the lvm()
helper reads its JSON report via popen(), the content-addressed digest
pipeline quotes the volume path, and taking a volume down attempts a
umount whether or not anything mounted it, so that one keeps its
redirection and is now shared by both backends instead of spelt out
per call site. Suppressed errors that were only hiding a useless
diagnostic are dropped, and the filesystem grow tool is now located by
searching PATH instead of asking a shell.

lvm matches lvname with its own regular expression, and a volume name
was placed in that expression raw, so a dot in a name matched any
character instead of itself: a volume called a.b resolved to an
unrelated axb. Dotted names are the norm, since uxc composes a data
volume as <container>.<volname>; the name is now escaped where the
selection expression is built.

Every lvs, vgs and pvs caller dereferenced straight into the JSON
report, so an lvm invocation that failed to produce one, or failed to
run at all, crashed with a reference error instead of an error code.
Both now report through the .retval every caller already checks.

Volume names reaching the command line are now restricted to
^[A-Za-z0-9_][A-Za-z0-9._-]*$: a leading dot is reserved for uvol's
own volumes such as .meta, and a leading dash would be read as an
option by the backend tools. Only the read-only verbs may name an
internal volume, closing remove, down and resize being able to target
the metadata volume, which the backends never rejected the way mount
registration does; uvol's own boot path calls the backend directly
and is unaffected. The check runs before the per-volume lock, which is
keyed on the volume name too, which is why the -j flag is now consumed
before both. A rejected name exits 22 rather than falling off the end
of the script, which reports success.

Reachable only by root today, through the command line or a volume
name composed by uxc from an author-controlled registration; fixed as
defence in depth.

Fixes: 6350c7bc6 ("uvol: replace with re-write in ucode")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-24 17:54:41 +01:00
Jeffery To f529178f79 slide-switch: update to 1.0.1
Release notes:
https://github.com/jefferyto/openwrt-slide-switch/releases/tag/1.0.1

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2026-08-24 18:43:35 +03:00
Daniel Golle ca3322e931 gnunet: update to 0.29.0
v0.28.0:
- util: added GNUNET_CRYPTO_aead_* APIs; removed deprecated
  GNUNET_CRYPTO_symmetric_*, GNUNET_CRYPTO_QUALITY_*,
  GNUNET_CRYPTO_hash_create_random, GNUNET_CRYPTO_hash_to_aes_key; switched
  various crypto primitives from gcrypt to libsodium; deprecated
  xsalsa20poly1305/AES-CTR and ECDSA (services moved to EdDSA where
  applicable)
- gnsrecord: new Seal/Open API
- pq: added GNUNET_JSON_pack_conditional, array_int16 query/result specs

v0.29.0:
- curl: added GNUNET_CURL_job_add_stream (streams a response body instead
  of buffering it) and GNUNET_CURL_job_set_paused
- peerstore: GNUNET_PEERSTORE_Processor now has a single documented
  termination signal (NULL record ends iteration; handle released before
  the call returns)
- core: fixed a bug in nonce selection in the handshake, among other bugs
- util: added GNUNET_TIME_round_up_utc/round_down_utc; fixed
  GNUNET_static_assert to actually assert at compile time; added
  GNUNET_MQ_try_handle_message
- namecache: added API to drop cache entries

Refreshed 0005-meson-detect-libcurl-gnutls.patch (hunk offsets only, no
content change).

Not build-verified: a pre-existing host python3/ncurses build failure
affecting every package in this feed blocks the build before it
reaches gnunet's own compile step.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-24 14:45:02 +01:00
Daniel Golle 45cb8e6cd5 libextractor: update to 1.19
1.15: fix potential 4 MB on-stack allocation / stack-based buffer overflow
in the OLE2 plugin.

1.16: security fix to not honour LIBEXTRACTOR_PREFIX when linked into a
SUID binary running as root; fix tIME chunk parser in PNG plugin, QT
mime-type detection, wrong constant in REAL plugin, multi-chunked
decompression in DEB plugin, GIF plugin memory leak, W32 IPC error
handling, gzip-compressed header bit-flags.

1.17: fix various minor issues, including a missing 0 terminator in ZIP
handling under particular circumstances.

1.18: detect secure execution mode properly when deciding whether to
honour LIBEXTRACTOR_PREFIX (use secure_getenv()/issetugid()/real vs
effective UID-GID instead of only checking for root).

1.19: add RTF and msoffice plugins; fix bugs and performance issues in
the unzip logic, an offset calculation issue in the WAV extractor, and
minor memory leaks in the ELF extractor; add OSS-Fuzz support.

Add the two new plugins to PLUGINS so they actually get built and
packaged rather than compiled and silently dropped. Per
src/plugins/Makefile.am upstream, neither needs a new dependency:
libextractor_rtf is unconditional (same group as the already-packaged
riff/ps plugins), and libextractor_msoffice only requires HAVE_ZLIB
(same group as the already-packaged deb/odf/zip plugins), which is
already satisfied.

Not build-verified: a pre-existing host python3/ncurses build failure
affecting every package in this feed blocks the build well before it
reaches libextractor's own compile step.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-24 14:45:02 +01:00
Daniel Golle 38d078d319 exim: update to 4.100
Security release, plus one further release the same day.

4.99.5:
JH/01 Restrict named-queue names. Previously, files could be corrupted by
      poor choices of name. (GCVE-25-2026-07-45-1)

JH/02 Do not expand a local_part gotten from a .forward file, under
      force_command in a pipe transport. (GCVE-25-2026-07-45-3)

4.100: fixes a use-after-free in duplicate processing combined with
continued transport; fixes crashes after deferred local deliveries
from an uninitialised pointer, and excessive DNS lookups on temporary
errors for remote deliveries, both from a mistaken 4.99 optimisation;
fixes a memory leak in DNS lookups present since 4.95; fixes
Proxy-protocol connections evaluating host-based ACL options
(host_reject_connection, helo_verify_hosts, message_size_limit, and
others) against the proxy's own address/name instead of the real
client behind it. Also: dbm lookups no longer return tainted data by
mistake, RFC2047-encoding header size counting, DMARC for empty
envelope senders, and a number of smaller build/portability fixes.

Refreshed patches/030-openssl-deprecated.patch,
patches/100-localscan_dlopen.patch and patches/200-fix-build.patch
for context moved by the version bump. patches/100 also needed six
log_write() call sites fixed: 4.100 dropped log_write()'s leading
selector argument, so the patch's dlopen-failure diagnostics were
passing LOG_MAIN|LOG_REJECT into the format-string slot. All four
patches, including 050, now carry git am headers.

Extended patches/050-fix-crosscompile.patch: 4.100 fixed the dkim.o
partial-link rule in src/miscmods/Makefile (raw `ld -r` -> `$(LD) -r`)
but left the sibling dmarc.o/dmarc_native.o and sieve_filter.o rules
on the unqualified `ld`, which cannot parse a foreign architecture's
relocations when cross-compiling. Applied the same fix to both; these
are the only two `ld -r` sites left in the pristine 4.100 tree.

Build-verified locally for the gnutls and ldap variants on
x86_64/musl.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-24 02:30:57 +01:00
Daniel Golle 5117f9b2a4 oci-runtime-tools: skip the version check for oci-runtime-tests
runtimetest and the ~60 validation/*.go binaries oci-runtime-tests
installs are OCI compliance tests, not user-facing tools, and none
of them has a version flag. Probing one runs the test it implements
instead: CI's generic check reported 58 of 60 missing the version
string and failed the build, and the one it did run tried to read
rootfs-386.tar.gz relative to the probe's working directory rather
than /usr/libexec/oci-runtime-test, so it also failed outright.

Add a test.sh: skip oci-runtime-tests outright, since none of its
binaries can report a version, and keep the generic check for
oci-runtime-tool by replicating it directly now that --version
reports the right string.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 23:37:55 +01:00
Daniel Golle c316c01936 oci-runtime-tools: report the real version string
main.version was linked to PKG_SOURCE_VERSION, the upstream commit
hash, rather than PKG_VERSION, the human-readable string everything
else (the tarball name, the package version, CI's own version probe)
actually means by "version". oci-runtime-tool --version therefore
printed the commit hash twice ("<hash>, commit: <hash>") and never
the string 1.3.0.20260316, which is what CI's generic runtime test
greps stdout for, so the check failed on every push regardless of
this PR's actual content.

gitCommit stays on PKG_SOURCE_VERSION, since that is genuinely what
it is; only version was wrong.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 23:37:55 +01:00
Daniel Golle ce621e707e oci-runtime-tools: depend on 'unshare'
Some of the tests require 'unshare' on the host. Select it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 23:37:55 +01:00
Daniel Golle a2d0bdddd4 oci-runtime-tools: install the test rootfs archives on x86
The install recipe guarded both archives with CONFIG_x86, a symbol OpenWrt
never defines: the target symbol is CONFIG_TARGET_x86 and the architecture
symbols are CONFIG_i386 and CONFIG_x86_64. No archive was therefore packaged
and every validation test stopped at "rootfs-amd64.tar.gz: Cannot open".
Key each archive off the architecture symbol that matches it, i686 included,
so the package's own architecture guard and the archive it installs cannot
disagree.

The choice moves out of the install recipe, since a conditional inside a
define has to start at the beginning of the line to be a directive at all,
which leaves no way to indent it as the packaging guidelines ask for.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 23:37:55 +01:00
Daniel Golle fe9a06c343 oci-runtime-tools: build runtimetest statically
runtimetest is copied into the validation bundle, whose rootfs carries a
static busybox and no dynamic loader, so the dynamically linked binary the
generic Go recipe produces fails to execute and every validation test that
inspects the container from the inside aborts.

Build that one command again as the static binary upstream's own runtimetest
target produces. Upstream gets there by asking the external linker for a
static link, while disabling cgo reaches the same result without fighting the
-linkmode external that the generic Go recipe would otherwise impose.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 23:37:55 +01:00
Alexander Couzens dcb2c2f692 libmicrohttpd: update to 1.0.10
1.0.10:
* Fix race in thread-per-connection mode on wake-up signal
* Fix rare assertion failure in relation to suspend-and-resume processing

1.0.9:
* Enfocing a minimal size on the PSK.
* Fix support for red zones in memorypool.
* Fix rare over-writing of HTTP version string
* Fix rare crash from adding connection

1.0.8:
* Fixing vulnerabilities

1.0.7:
* Fixing various vulnerabilities

1.0.6:
* Fix various minor issues, like theoretical integer overflows for extreme inputs or NULL

1.0.5:
* Also ensuring other HTTP client headers that should be unique are unique.

1.0.4
* Fixed bug where additional "Content-Length" headers were ignored

1.0.3:
* Fixed bug in connection list traversal logic that could

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2026-08-23 22:06:24 +02:00
Daniel Golle 15b06ce6e3 postgresql: update to 18.6
Security release from 18.4 (18.5 was never released, pulled post-wrap
due to a regression). A dump/restore is not required for those running
18.x, but see the migration notes below for the first three security
fixes, GIN index reltuples corruption, and btree_gist/ltree reindexing.

- restrict logical decoding output plugins to a new
  output_plugin_libraries allowlist; previously a replication user
  could load any library for logical decoding (CVE-2026-6471)
- fix contrib/pgcrypto PGP encryption to detect unsupported ciphers;
  previously an OpenSSL cipher rejection (e.g. FIPS mode) was ignored
  and pgcrypto silently XORed plaintext instead of encrypting it
  (CVE-2026-14663)
- fix psql to skip in-line data following a scripted
  "COPY ... FROM STDIN" even when the COPY fails before
  PGRES_COPY_IN, closing a SQL-injection hazard in scripts that
  exercise failing COPY commands (CVE-2026-6464)
- cross-check the output row type of a portal running EXECUTE/FETCH;
  divergent declared row types between the outer and inner portal
  could lead to server memory disclosure and arbitrary code execution
  (CVE-2026-16239)
- fix a buffer overrun with a long time zone abbreviation in
  to_char(), which could crash the server or be exploited for
  arbitrary code execution (CVE-2026-14669)

Plus a variety of other fixes from 18.4; see the upstream release notes
for the complete list.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 20:05:09 +03:00
Daniel Golle 2111f86438 libxmp: update to 4.7.2
4.7.1:
- fixed crashes and other bugs in the smix API; rewrote the smix WAV
  loader to support stereo samples
- fixed XM channel default instrument memory, IT high offset/oversized
  offset handling, MED synth/hybrid finetune conversion
- fixed Magnetic Fields Packer track loading and optimised tracks
- fixed path_join when loading a module from the current directory
- fixed loading truncated/broken Startrekker AM instruments and their
  precedence, envelope, P.FALL and FQ toneporta bugs
- allowed Archimedes MUSX modules to load with a broken SDAT instrument
  subchunk
- fixed various -fsanitize=shift-base warnings

4.7.2:
- fixed loading Startrekker modules from memory/handle/callbacks
- fixed a cmake build failure for certain Apple targets (e.g. tvOS)
- fixed stb-vorbis floor1 inverse_db_table indexing, a missing part of
  the CVE-2019-13220 fix

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 20:03:59 +03:00
Daniel Golle 57b0c30ee6 libwacom: update to 2.19.1
2.19.1: build fixes for older systems and other arches.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 20:03:26 +03:00
Daniel Golle 01a0716850 hiredis: update to 1.4.1
Security fix release; hiredis 1.4.x users are recommended to upgrade.

- prevent arbitrarily nested replies from causing a stack overflow
  (PR #1340)
- protect against overflow of map elements (PR #1341)

Both issues were found by He Huang (Swinburne University of Technology)
using NexusSan fuzzing.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 19:56:30 +03:00
Daniel Golle ef77db3bf9 gnupg2: update to 2.5.21
New and extended features:
- gpg, gpgsm: use a partial file on decryption, remove on failure
  (disable with --compatibility-flags=no-partial-file-guard)
- gpg: use the INT_RCP_FPR subpacket in revocation signatures
- create a pkgversioninfo.txt file when building with the speedo build
  system

Bug fixes:
- gpg: fixed a potential use-after-free in batch key generation when
  handling the keyserver URL option
- gpgsm: fixed a regression in gpgsm_verify with expired certificates
- gpgsm: require a minimum tag length for GCM decryption
  (CVE-2026-34182)
- scd: limit the size of returned APDU objects from faulty cards; fixed
  the condition to retrieve ATR

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 19:56:11 +03:00
Daniel Golle 9e444a743f gpgme: update to 2.1.2
2.1.1:
- gpgme_op_export now also returns operational errors
- w32: improved debug output in spawn/selection functions, improved
  serialization between reader and writer threads, added CRLF handling
  for armored output in gpgme-json

2.1.2:
- w32: fixed a syntax error

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 19:55:09 +03:00
Daniel Golle 19599fa63d gawk: update to 5.4.1
Changes from 5.4.0 to 5.4.1:
1. Fixed a performance problem in PMA with backing store files 1G or
   more in size, by disabling assertions in support/pma.c.
2. Fixed a bug in gensub() when using MinRX.
3. Revised all files that referred to the FSF's old address.
4. Confirmed MinRX case-insensitive matching behaviour is correct per
   POSIX even where one character has multiple alternative case
   variants; documented and added tests for it.
5. Unary plus and minus now force their operands to be numeric.
6. Documented the intdiv extension (man page and manual description).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 19:53:55 +03:00
Daniel Golle bac27c56c1 exfatprogs: update to 1.4.3
exfatprogs 1.4.2 - released 2026-06-15
CHANGES:
- install lsdosattr and chdosattr in /bin instead of /sbin
BUG FIXES:
- dump.exfat: prevent heap buffer overflow in name parsing

exfatprogs 1.4.3 - released 2026-08-14
CHANGES:
- honor the user's full locale for diagnostic messages and date formatting
- mkfs.exfat: report final fsync errors and suppress completion messages
  with "-q"
- fsck.exfat: increase scan speed when scanning large unused directory
  tails
BUG FIXES:
- fix building DOS attribute utilities with non-Bash shells
- dump.exfat/fsck.exfat: ignore reserved allocation-bitmap bits when
  counting clusters
- fsck.exfat: reject invalid sector sizes without crashing
- mkfs.exfat: notify the kernel after creating partition tables; generate
  GUIDs with correct version/variant fields
- mkfs.exfat/tune.exfat: use standard GUID byte order for GUID input/output
- libexfat: fix directory iterator alignment for large offsets
- prevent allocation bitmap size overflow near the maximum cluster count

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-23 19:51:30 +03:00