]> git.99rst.org Git - openwrt-packages.git/log
openwrt-packages.git
11 days agosing-box: bump to 1.14.0
Sergei S. [Mon, 7 Sep 2026 01:01:44 +0000 (05:01 +0400)]
sing-box: bump to 1.14.0

Release: https://github.com/SagerNet/sing-box/releases/tag/v1.14.0

New optional features (disabled by default):
- with_cloudflared
- with_openvpn
- with_openconnect
- with_usbip

Snell protocol support is included by default
(see https://sing-box.sagernet.org/changelog/#1140).

Signed-off-by: Sergei S. <redacted>
11 days agomariadb: init - check file versions
Daniel Black [Thu, 10 Sep 2026 00:59:56 +0000 (10:59 +1000)]
mariadb: init - check file versions

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 <redacted>
11 days agoopenldap: update to 2.6.14
Romain Isnel [Sat, 22 Aug 2026 13:46:15 +0000 (15:46 +0200)]
openldap: update to 2.6.14

Changelog is available at: https://openldap.org/software/release/changes_lts.html

Reworked some patches with headers to comply with patches guidelines.

Signed-off-by: Romain Isnel <redacted>
11 days agoocserv: update to 1.5.0
Jimmy Qin [Fri, 4 Sep 2026 19:44:23 +0000 (21:44 +0200)]
ocserv: update to 1.5.0

switch to meson build system
disable sock-diag which is not enabled in openwrt kernel
drop the arm build workaround
disable tests via patch file

Signed-off-by: Jimmy Qin <redacted>
11 days agotvheadend: drop the handwritten version override
Josef Schlehofer [Fri, 21 Aug 2026 09:39:59 +0000 (11:39 +0200)]
tvheadend: drop the handwritten version override

The handwritten debian/changelog is only used to override the version
reported by support/version, but it is unnecessary and causes a version
mismatch:

- Build/Prepare feeds the raw git hash into debian/changelog, so the
  binary reports ddb984f4c17f4a26fd34f3e1b24e3323f9641b75~openwrt1
  instead of the package version 2026.08.17~ddb984f4.
- The CI package test then fails because it cannot find the package
  version in the output of any installed executable.
- Without .git, debian/changelog or rpm/version, support/version falls
  back to the source directory name.
- OpenWrt already names the source directory tvheadend-$(PKG_VERSION),
  so the binary correctly reports 2026.08.17~ddb984f4 without any
  override.

Alpine uses rpm/version in the same way and does not encode its own
package release into the version either.

Signed-off-by: Josef Schlehofer <redacted>
11 days agotvheadend: require GNU libiconv and drop the iconv self-test patch
Josef Schlehofer [Fri, 21 Aug 2026 06:54:05 +0000 (08:54 +0200)]
tvheadend: require GNU libiconv and drop the iconv self-test patch

tvheadend has no transliteration of its own.  It asks iconv for
"<charset>//TRANSLIT//IGNORE", a GNU extension that musl does not
implement.  Converting "ŽluťoučkýKůň" to ASCII on mpc85xx/p2020
(Turris 1.x), musl 1.2.6:

    charset                   musl             GNU libiconv
    ASCII//TRANSLIT//IGNORE   EINVAL           "Zlutouck'yKun"
    ASCII//TRANSLIT           EINVAL           "Zlutouck'yKun"
    ASCII                     "*lu*ou*k*K**"   EILSEQ

050-iconv-test-continue.patch removed the abort() from the startup
self-test that reports this, so the package could be built against
musl's iconv.  That silenced the check without fixing anything:
intlconv_utf8() still returns -EIO, so cleanup_filename() in
src/dvr/dvr_rec.c cannot build a recording file name and
pvr_generate_filename() fails.  The charset cannot be avoided either,
because intlconv_filesystem_charset() returns "ASCII" unless $LANG
names a UTF-8 locale, which OpenWrt does not set by default.

Depend on libiconv-full instead of $(ICONV_DEPENDS), which pulls it in
only when BUILD_NLS is set, and point the compiler at its staging prefix
when nls.mk has not already done so.  The binary then links against
libiconv.so.2, the self-test passes and the patch can be dropped.

Signed-off-by: Josef Schlehofer <redacted>
11 days agotvheadend: update to 2026-08-17
Josef Schlehofer [Fri, 21 Aug 2026 06:53:50 +0000 (08:53 +0200)]
tvheadend: update to 2026-08-17

Update to git master ddb984f4, 124 commits on from the previously
packaged 395afb85. Most of that is web UI work and translation updates,
with smaller fixes in the build system, mpegts and dvr code.

Signed-off-by: Josef Schlehofer <redacted>
11 days agoumurmur: update to 0.4.1
Martin Johansson [Wed, 9 Sep 2026 17:43:54 +0000 (19:43 +0200)]
umurmur: update to 0.4.1

Changelog since last package version (0.3.1) here: https://github.com/umurmur/umurmur/blob/master/CHANGELOG.md

Signed-off-by: Martin Johansson <redacted>
12 days agotravelmate: update 2.4.9-2
Dirk Brenken [Wed, 9 Sep 2026 20:54:49 +0000 (22:54 +0200)]
travelmate: update 2.4.9-2

- updatted the README and moved to the package root
- LuCI: fix blank pages on footstrap theme navigation

Signed-off-by: Dirk Brenken <redacted>
12 days agocsshnpd: bump to c1.1.1 release
Chris Swan [Wed, 9 Sep 2026 14:03:42 +0000 (15:03 +0100)]
csshnpd: bump to c1.1.1 release

fixed srv segfault on connection teardown (pthread_join clobbered tid)
C daemon filters device atSign out of the manager atSign list
handle the case where the only manager atSign is the device atSign
sshnpd + srv code review findings (24 fixes: bounds checks, leak
fixes, error-path hardening, log hygiene)
bump atsdk to at_c v0.4.1 for the atauth/onboarding

Signed-off-by: Chris Swan <redacted>
12 days agoxfrpc: update to 5.09.982
Dengfeng Liu [Tue, 8 Sep 2026 08:45:40 +0000 (16:45 +0800)]
xfrpc: update to 5.09.982

Update from 5.06.909 to 5.09.982.

Major improvements and highlights:
- Add frp transport.wireProtocol v2 support (JSON messages + AES-256-GCM AEAD)
- Support modern frp TOML configuration via tomlc17
- Support OIDC authentication with OAuth2 client_credentials flow
- AES-128-CFB wire encryption and Snappy compression support
- QUIC transport maturity with ngtcp2 <-> quic-go interop
- End-to-end security hardening (bounds check, TLS verification, buffer drains)
- Build fix for 32-bit architectures (widen plen to uint64_t before shift)
- Build fix for OpenWrt wolfSSL/OpenSSL dual-backend compatibility
- Remove deprecated IOD and FTP proxy types

Signed-off-by: Dengfeng Liu <redacted>
12 days agoadblock: release 4.5.8-1
Dirk Brenken [Wed, 9 Sep 2026 19:37:11 +0000 (21:37 +0200)]
adblock: release 4.5.8-1

-the trigger calls start refresh, start_service() skips the run
  while adblock_status in the runtime file is anything but error
- a missing or unreadable runtime file still starts a run,
  which covers the boot case, and a failed run is retried on the next interface event
- manual start, boot, restart and reload are unaffected;
  a suspended or stopped adblock is no longer restarted by an interface event
- wan6 in adb_trigger is supported now
- updatted the README and moved to the package root
- LuCI: reworked the feed editor, get rid of custom css

Signed-off-by: Dirk Brenken <redacted>
12 days agodnsdist: update to 2.0.9
Remi Gacogne [Tue, 8 Sep 2026 08:27:41 +0000 (10:27 +0200)]
dnsdist: update to 2.0.9

This commit updates the dnsdist package from 2.0.6 to 2.0.9,
fixing several issues including CVE-2026-42005, CVE-2026-40011,
CVE-2026-40211, CVE-2026-40210, CVE-2026-40209, CVE-2026-40208,
CVE-2026-42004 and CVE-2026-52682.

Signed-off-by: Remi Gacogne <redacted>
12 days agopdns: security update to 4.9.17
Remi Gacogne [Tue, 8 Sep 2026 08:41:57 +0000 (10:41 +0200)]
pdns: security update to 4.9.17

This commit updates the PowerDNS authoritative server to 4.9.17,
the latest release in the 4.9.x LTS branch.
This fixes several security issues, including but not limited to:
CVE-2026-33257, CVE-2026-33260, CVE-2026-33611, CVE-2026-33610,
CVE-2026-33609, CVE-2026-33608, CVE-2026-42002, CVE-2026-42001,
CVE-2026-42000, CVE-2026-41999, CVE-2026-42396, CVE-2026-42005,
CVE-2026-52682.

Signed-off-by: Remi Gacogne <redacted>
12 days agotcfilter: add package for persistent tc ingress filters
Mark Abe [Sun, 6 Sep 2026 22:45:53 +0000 (00:45 +0200)]
tcfilter: add package for persistent tc ingress filters

UCI front-end that installs raw "tc filter ... ingress" expressions on
network devices at boot and re-applies them on ifup, removing them on
stop. The match/action part is entered verbatim as tc syntax; the
package manages the device, the preference number, enable/disable and
persistence. A procd reload trigger re-applies on config changes.

Intended for driving hardware tc-flower offload (e.g. the Realtek DSA
PIE offload) where no higher-level configuration layer exists.

Co-authored-by: OpenWrt AI review account <redacted>
Assisted-by: Claude Code (Anthropic Claude Sonnet 5)
Signed-off-by: Mark Abe <redacted>
13 days agobanip: release 1.8.13
Dirk Brenken [Tue, 8 Sep 2026 15:58:17 +0000 (17:58 +0200)]
banip: release 1.8.13

- f_getup() collects the wan state in one pass and diffs the uplink against
  the local allowlist
- new f_refresh() patches only the changed allowlist Set elements
   in a single atomic nft transaction, without touching the running instance
- the procd trigger calls start refresh, start_service() picks the path, a manual start is unaffected
- wan6 in ban_trigger is supported now
- updatted the README and moved to the package root
- LuCI: reworked the feed editor, get rid of custom css

Signed-off-by: Dirk Brenken dev@brenken.org
Signed-off-by: Dirk Brenken <redacted>
13 days agofwupd: backport upstream support for MxL862xx switches
Daniel Golle [Mon, 7 Sep 2026 18:26:54 +0000 (19:26 +0100)]
fwupd: backport upstream support for MxL862xx switches

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 <redacted>
13 days agoshunt: readme update
Dirk Brenken [Tue, 8 Sep 2026 09:22:42 +0000 (11:22 +0200)]
shunt: readme update

- readme update regarding wg configuration,
- no version bump

Signed-off-by: Dirk Brenken <redacted>
13 days agoluasql: update to 2.7.0
Alexandru Ardelean [Sat, 5 Sep 2026 08:53:50 +0000 (11:53 +0300)]
luasql: update to 2.7.0

Refresh PKG_HASH from the tag tarball. Upstream moved from
keplerproject to lunarmodules and the 2.7.0 tag has no leading v;
point PKG_SOURCE_URL and the homepage URL at lunarmodules.

Signed-off-by: Alexandru Ardelean <redacted>
13 days agofrp: update to 0.71.0
Alexandru Ardelean [Sat, 5 Sep 2026 08:51:19 +0000 (11:51 +0300)]
frp: update to 0.71.0

Refresh PKG_HASH from the upstream GitHub tag tarball.

Signed-off-by: Alexandru Ardelean <redacted>
13 days agogit-lfs: update to 3.8.0
Alexandru Ardelean [Sat, 5 Sep 2026 08:51:19 +0000 (11:51 +0300)]
git-lfs: update to 3.8.0

Refresh PKG_HASH from the git-lfs release tarball.

Signed-off-by: Alexandru Ardelean <redacted>
13 days agostress-ng: update to 0.22.00
Alexandru Ardelean [Sat, 5 Sep 2026 08:51:19 +0000 (11:51 +0300)]
stress-ng: update to 0.22.00

Refresh PKG_HASH from the upstream GitHub tag tarball.

Signed-off-by: Alexandru Ardelean <redacted>
13 days agotcpreplay: update to 4.6.1
Alexandru Ardelean [Sat, 5 Sep 2026 08:51:19 +0000 (11:51 +0300)]
tcpreplay: update to 4.6.1

Refresh PKG_HASH from the appneta release tarball.

Signed-off-by: Alexandru Ardelean <redacted>
2 weeks agoshunt: update to 0.1.6
Dirk Brenken [Mon, 7 Sep 2026 19:50:46 +0000 (21:50 +0200)]
shunt: update to 0.1.6

- *Per-policy `action`, `route` (default) or `bypass` - the equivalent of pbr's `ignore`,
  an exception carved out of every policy below it.
- `keep_local`, default on - a marked packet to one of your own subnets
  stays on `main` instead of taking the policy's default route.
- The ruleset is re-applied when the table is deleted - e.g. with `/etc/init.d/firewall stop`
- README update

Signed-off-by: Dirk Brenken <redacted>
Co-authored-by: Claude <redacted>
Signed-off-by: Dirk Brenken <redacted>
2 weeks agotravelmate: update 2.4.9-1
Dirk Brenken [Mon, 7 Sep 2026 17:10:31 +0000 (19:10 +0200)]
travelmate: update 2.4.9-1

- do not set trm_action in the function library; the library is sourced by the init script,
  reported by @sch-m
- fixed the uplink ssid comparison for fancy essids with quotes
- added a new optional per uplink revive option; an uplink disabled by the retry limit is set back
  to enabled after n run cycles, default off, minimum 10, number of revivals capped by trm_maxretry.
  Counters live in a runtime file, no extra config writes
- update the wifibahn login script, support the new CNA portal API
- LuCI: rework the wireless scan dialog; card list instead of the result table, mobile friendly
- LuCI: add the per uplink revive option to the uplink dialog (off / 10 / 30 / 60 run cycles)
- readme update

Signed-off-by: Dirk Brenken <redacted>
2 weeks agocurl: add krb5 support
Florian Eckert [Wed, 24 Jun 2026 15:00:01 +0000 (17:00 +0200)]
curl: add krb5 support

Enable Kerberos authentication support in curl by including krb5-libs.
This allows curl to handle GSSAPI/Kerberos authentication protocols,
enhancing compatibility with enterprise environments.

The feature is disabled by default to avoid unnecessary dependencies.

Signed-off-by: Florian Eckert <redacted>
2 weeks agomodemmanager: bump PKG_RELEASE
Florian Eckert [Tue, 18 Aug 2026 09:50:49 +0000 (11:50 +0200)]
modemmanager: bump PKG_RELEASE

Update PKG_RELEASE by one.

Signed-off-by: Florian Eckert <redacted>
2 weeks agomodemmanager: make command timeout configurable
Florian Eckert [Thu, 29 Jan 2026 09:16:58 +0000 (10:16 +0100)]
modemmanager: make command timeout configurable

Make the timeout for command execution configurable, as not all modems and
mobile networks behave in the same way.

Signed-off-by: Florian Eckert <redacted>
2 weeks agomodemmanager: update logging messages
Florian Eckert [Thu, 29 Jan 2026 09:40:48 +0000 (10:40 +0100)]
modemmanager: update logging messages

Remove the trailing '...' from the log messages to bring them into line
with the other log messages in this file.

Signed-off-by: Florian Eckert <redacted>
2 weeks agomodemmanager: cleanup vars in proto_modemmanager_setup
Florian Eckert [Thu, 29 Jan 2026 08:36:51 +0000 (09:36 +0100)]
modemmanager: cleanup vars in proto_modemmanager_setup

Group variables into blocks to improve readability.

Signed-off-by: Florian Eckert <redacted>
2 weeks agoddns-scripts: update hotplug script
Jimmy Qin [Fri, 13 Feb 2026 19:25:40 +0000 (20:25 +0100)]
ddns-scripts: update hotplug script

To handle ip address changing by ifupdate.
When the ipv6 address is updated for an interface
(some ISP only give dynamic ipv6 address).
The ddns script will go into dead loop,
as the new ipv6 address is not used.
The simple change is restarting ddns when ip address is changed.

Signed-off-by: Jimmy Qin <redacted>
2 weeks agoufp: bump PKG_RELEASE
Christian Korber [Mon, 7 Sep 2026 09:27:42 +0000 (11:27 +0200)]
ufp: bump PKG_RELEASE

Increment PKG_RELEASE to force a package rebuild following recent changes,
ensuring package indexes and builds reflect the update.

Signed-off-by: Christian Korber <redacted>
2 weeks agoufp: add dependency ucode-mod-rtnl
Christian Korber [Mon, 7 Sep 2026 09:22:06 +0000 (11:22 +0200)]
ufp: add dependency ucode-mod-rtnl

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 <redacted>
2 weeks agoufp: align dependencies
Christian Korber [Mon, 7 Sep 2026 09:21:31 +0000 (11:21 +0200)]
ufp: align dependencies

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 <redacted>
2 weeks agoapfree-wifidog: update to 9.09.2938
Dengfeng Liu [Sun, 6 Sep 2026 04:17:53 +0000 (12:17 +0800)]
apfree-wifidog: update to 9.09.2938

Highlights of this release:

- eBPF captive DNS fast-answer: LAN DNS queries for captive detection
  domains are answered at wire speed from a pinned BPF map (default
  1.1.1.1) while the query still reaches dnsmasq, so captive portal
  detection works when the router is offline
- Real IPs are learned back into the map from snooped upstream DNS
  responses; the dnsmasq aw-captive-domains-hosts mechanism and its
  restart dance are removed (one-time migration at startup)
- Always start HTTP/HTTPS service threads (fix dangling gencb arg);
  sync trusted MACs into eBPF mac_map; portal DNS consumer
  auto-reconnects when aw-bpf reloads

Maintainer: me
Compile tested: aarch64_cortex-a53 (chawrt 25.12 / OpenWrt snapshot)

Signed-off-by: Dengfeng Liu <redacted>
2 weeks agomutt: update to 2.4.2
Romain Isnel [Sun, 30 Aug 2026 08:22:40 +0000 (10:22 +0200)]
mutt: update to 2.4.2

Changelog since last version: https://gitlab.com/muttmua/mutt/-/compare/mutt-2-1-5-rel...mutt-2-4-2-rel

Signed-off-by: Romain Isnel <redacted>
2 weeks agozabbix: remove unneeded postinsts
Daniel F. Dickinson [Wed, 2 Sep 2026 00:55:20 +0000 (20:55 -0400)]
zabbix: remove unneeded postinsts

Handling uci-defaults scripts in package postinst is not needed in
modern OpenWrt and in fact results in error messages on install since
the common postinst processes and deletes uci-defaults scripts before
package-specific postinsts are executed.

Therefore remove the unneeded postinsts in this package.

Signed-off-by: Daniel F. Dickinson <redacted>
2 weeks agocsshnpd: bump to c1.1.0 release
Chris Swan [Wed, 2 Sep 2026 10:54:08 +0000 (11:54 +0100)]
csshnpd: bump to c1.1.0 release

Added policy support
Added proxy support for root domain and at_activate
Added ESCR relay authentication
Adjustable session timeout
Twinned session keys
Security hardening

Signed-off-by: Chris Swan <redacted>
2 weeks agoradicale3: bump version to v3.8.0
Daniel F. Dickinson [Sat, 5 Sep 2026 05:33:19 +0000 (01:33 -0400)]
radicale3: bump version to v3.8.0

GitHub release page: https://github.com/Kozea/Radicale/releases/tag/v3.8.0

As usual, Radicale is a messy upstream as the release title illustrates:

>3.8.0 Features+Fixes+Improvements+Adjutments[sic]+Extensions

For details, see the release page (above).

Signed-off-by: Daniel F. Dickinson <redacted>
2 weeks agomsmtp: update to 1.8.34
Romain Isnel [Wed, 2 Sep 2026 11:11:46 +0000 (13:11 +0200)]
msmtp: update to 1.8.34

Release note: https://marlam.de/msmtp/news/msmtp-1-8-34/

Signed-off-by: Romain Isnel <redacted>
2 weeks agoc-ares: bump to 1.34.8
Karen Khachatryan [Sun, 30 Aug 2026 09:44:14 +0000 (12:44 +0300)]
c-ares: bump to 1.34.8

Update c-ares from 1.34.6 to 1.34.8.

Version 1.34.7 includes the following security fixes:

* CVE-2026-33630 (GHSA-6wfj-rwm7-3542): fix a use-after-free /
  double-free issue in query-completion handling.
* CVE-2026-69184 (GHSA-pjmc-gx33-gc76): limit DNS name compression
  pointer traversal to prevent CPU-exhaustion denial of service.
* CVE-2026-69186 (GHSA-jv8r-gqr9-68wj): validate DNS record counts
  before allocation to prevent memory-amplification denial of service.

It also fixes the UDP socket exhaustion regression introduced in 1.34.6.

Version 1.34.8 reverts an unintended API break introduced in 1.34.7 by
the callback parameter const changes.

Signed-off-by: Karen Khachatryan <redacted>
2 weeks agoqemu: update to 11.1.1
Andy Chiang [Mon, 31 Aug 2026 12:52:25 +0000 (19:52 +0700)]
qemu: update to 11.1.1

- Update to 11.1.1 (10.1.x is EOL,ref https://wiki.qemu.org/Planning/10.1)
- Refresh patches
- Remove `0003-qga-invoke-separate-applets-for-guest-shutdown-modes.patch`,
    this issue has been fixed upstream, ref
https://github.com/qemu/qemu/commit/c5b4afd4d56e9c2251e6674d8c9ae530a923ecb9
- `PKG_BUILD_DEPENDS` add `python-setuptools/host`
- Remove `--disable-glusterfs`,
    11.1 deprecated this,ref https://github.com/qemu/qemu/blob/stable-11.1/docs/about/removed-features.rst
- Remove `linuxboot.bin`, change `multiboot.bin`to `multiboot_dma.bin`,
    ref https://github.com/qemu/qemu/commit/e818b4b10969927019a0a2be5b71aad7a8e0f6a7 and
    https://github.com/qemu/qemu/commit/88641f4df388faa78c49c54ed885e530fd0a75dc
- Drop i386 support,ref https://github.com/qemu/qemu/commit/25512d6865e24976a67f034a1a5be8da266bc58c

Changelog: https://www.mail-archive.com/qemu-devel@nongnu.org/msg1220561.html

Signed-off-by: Andy Chiang <redacted>
2 weeks agosing-box: bump to 1.13.21
Sergei S. [Wed, 2 Sep 2026 15:24:49 +0000 (19:24 +0400)]
sing-box: bump to 1.13.21

This patch updates sing-box from 1.13.18 to 1.13.21.
https://github.com/SagerNet/sing-box/releases/tag/v1.13.21

Signed-off-by: Sergei S. <redacted>
2 weeks agogolang: bump 1.27 to 1.27.1
George Sapkin [Wed, 2 Sep 2026 13:01:59 +0000 (16:01 +0300)]
golang: bump 1.27 to 1.27.1

Changes: https://github.com/golang/go/issues?q=milestone%3AGo1.27.1+label%3ACherryPickApproved
Signed-off-by: George Sapkin <redacted>
2 weeks agogolang: add support for host-only version series
George Sapkin [Wed, 2 Sep 2026 12:30:14 +0000 (15:30 +0300)]
golang: add support for host-only version series

Support configuring major version series as host-only (i.e. no target
packages) to reduce strain on buildbots in release branches. The goal is to
have one major target series and multiple host-only ones. E.g. 25.12 uses
1.26 as the default host/target series and 1.27 and beyond as host-only for
packages that require these.

Signed-off-by: George Sapkin <redacted>
2 weeks agolibrespeed-common: add measurement backend
Josef Schlehofer [Sun, 16 Aug 2026 10:40:23 +0000 (12:40 +0200)]
librespeed-common: add measurement backend

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 <redacted>
2 weeks agov2ray-geodata: update to latest version
Tianling Shen [Thu, 3 Sep 2026 08:35:50 +0000 (16:35 +0800)]
v2ray-geodata: update to latest version

Update all geodata.

Signed-off-by: Tianling Shen <redacted>
2 weeks agodnsproxy: update to 0.84.1
Tianling Shen [Thu, 3 Sep 2026 08:18:15 +0000 (16:18 +0800)]
dnsproxy: update to 0.84.1

Release note:
- https://github.com/AdguardTeam/dnsproxy/releases/tag/v0.83.1
- https://github.com/AdguardTeam/dnsproxy/releases/tag/v0.83.2
- https://github.com/AdguardTeam/dnsproxy/releases/tag/v0.84.0
- https://github.com/AdguardTeam/dnsproxy/releases/tag/v0.84.1

Signed-off-by: Tianling Shen <redacted>
2 weeks agocloudflared: update to 2026.8.3
Tianling Shen [Thu, 3 Sep 2026 08:12:20 +0000 (16:12 +0800)]
cloudflared: update to 2026.8.3

2026.8.3
- 2026-08-28 chore: Remove stale metrics timeout TODO
- 2026-08-28 TUN-10798: Parse Quick Tunnel allowed mail rules
- 2026-08-27 chore: Clean up unused code
- 2026-08-26 chore: bump gorilla/websocket for GO-2026-6278
- 2026-08-26 VULN-142146: Update GitLab R2 token path (cloudflared-pkgs) to protected branches
- 2026-08-26 TUN-10820: Remove test-only stdin reconnect control
- 2026-08-26 TUN-10822: Remove fetching protocol percentage from remote
- 2026-08-25 TUN-10725: Remove unused certificate configuration
- 2026-08-20 chore: Update distrolesss images in amd64

2026.8.2
- 2026-08-14 VULN-141859: Revert path normalization

2026.8.1
- 2026-08-13 VULN-141859: Fix missing trailing slash

2026.8.0
- 2026-08-12 AUTH-9041 Generate ephemeral keypair for login token transfer
- 2026-08-12 VULN-141859: Normalize request path
- 2026-08-11 TUN-10748: Add FIPS image variant for Cloudflared tunnel
- 2026-08-10 AUTH-9012 Verify Access app identity with signed metadata
- 2026-08-07 chore: Bump grpc to v.1.83.0 to fix vulnerability
- 2026-07-08 TUN-10557: Bump quic-go v0.59.1

Signed-off-by: Tianling Shen <redacted>
2 weeks agolibdht: update to 2026-09-01
Daniel Golle [Wed, 2 Sep 2026 14:15:02 +0000 (15:15 +0100)]
libdht: update to 2026-09-01

Two fixes to the maintenance and search timers, both of which cost a
node contacts it should have had.

Neighbourhood maintenance for both address families was gated on a
single flag that either family's bucket maintenance could set.  Bucket
maintenance only confirms nodes that are already known, while
neighbourhood maintenance is what grows the table, so a family whose
nodes never answer held back table growth for the other family too.  A
node with no route for one family still holds addresses of that family,
because they arrive in the replies of the other, so this reaches any
single-stack node on a dual-stack build.  Each family is now gated on
its own bucket maintenance, and the number of queries per round is
unchanged.

A search step scheduled for exactly its due second returned without
sending anything, because the comparison required the second to have
passed rather than arrived.  The early return left the step time alone,
so the search then waited another full interval having sent nothing.

Reset PKG_RELEASE, since the source version changed.

Signed-off-by: Daniel Golle <redacted>
2 weeks agobatman-adv: update to version 2026.3
Sven Eckelmann [Mon, 31 Aug 2026 20:23:00 +0000 (22:23 +0200)]
batman-adv: update to version 2026.3

From upstream changelog
https://git.open-mesh.org/batman-adv.git/tree/CHANGELOG.rst:

* support latest kernels (5.15 - 7.3)
* coding style cleanups and refactoring
* reduce memory and runtime overhead by only handling attached interfaces
* optimize throughput meters unacked packets handling
* bugs squashed:
  - clean untagged VLAN on netdev registration failure
  - ensure minimal ethernet header on TX
  - fix VLAN priority offset
  - bla: avoid CRC corruption due to parallel claim add
  - bla: fix freeing of claims on meshif deletion
  - bla: prevent CRC corruptions after claim flush
  - dat: atomically update mac addresses
  - dat: avoid unaligned fault in IP extraction
  - dat: fix tie-break for candidate selection
  - frag: fix primary_if leak on failed linearization
  - frag: fix stale receive device on merged fragments
  - frag: free unfragmentable packet
  - mcast: avoid OOB read of num_dests header
  - mcast: fix TX priority extraction for BATADV_FORW_MCAST
  - mcast: ensure unshared skb for multicast packets
  - mcast: linearize skbuff for packet generation
  - mcast: reject unrepresentable TVLV offsets
  - tt: avoid request storms during pending request
  - tt: prevent TVLV OOB check overflow
  - tvlv: handle negative tvlv processing return codes

Signed-off-by: Sven Eckelmann <redacted>
2 weeks agobatctl: update to version 2026.3
Sven Eckelmann [Mon, 31 Aug 2026 20:22:24 +0000 (22:22 +0200)]
batctl: update to version 2026.3

From upstream changelog
https://git.open-mesh.org/batctl.git/tree/CHANGELOG.rst:

* coding style cleanups and refactoring
* bugs squashed:
  - bat-hosts: compare full path for deduplication
  - bat-hosts: free bat_host when hash_add fails
  - dat_cache: fix multicast/unicast filter for MAC address
  - debug: avoid endless getopt loop for attached '-w' argument
  - debug: reject non-finite/negative interval/timeout values
  - debug: reject trailing garbage for intervals
  - debug: use strict interval/timeout parsing
  - event: don't print timestamp prefix for skipped events
  - fix parsing of parameters with arguments
  - genl_json: avoid negative chars in sanitize_string
  - genl_json: escape non-printable characters as valid JSON
  - genl_json: reject unknown options in handle_json_query
  - handle netlink callback object on error
  - icmp_helper: attach socket filter before packets can arrive
  - icmp_helper: fail send when the primary mac is unknown
  - icmp_helper: return only initialized icmp destination unreached bytes
  - icmp_helper: return proper errno on syscall failures
  - improve number parsing error handling
  - interface: report rtnl query failures
  - interface: return fail for non-existing interface
  - isolation_mark: fix error message for invalid mark/mask values
  - netlink: abort netlink_print_common when message allocation fails
  - netlink: always 0-terminate hardif name
  - netlink: check for BATADV_ATTR_MESH_ADDRESS before accessing it
  - netlink: detect receive errors in netlink_print_common
  - netlink: detect receive errors in netlink_simple_request
  - netlink: detect receive errors in query_rtnl_link
  - netlink: detect receive errors in query_rtnl_link_single
  - netlink: don't format NULL extra_info in info_callback
  - netlink: free header lines after error
  - netlink: report dump errors signalled in the NLMSG_DONE message
  - netlink: report error on query_rtnl_link send failure
  - netlink: report kernel errors when writing settings
  - netlink: report send errors in netlink_simple_request
  - originators: fix throughput lines with bat_hosts
  - ping/traceroute: don't restart RTT timer on stray replies
  - ping: count sent and not received pings
  - ping: fix rtt minimum tracking when a sample is 0.0
  - ping: keep huge '-i' intervals from turning into a flood ping
  - ping: reject invalid packet count argument
  - ping: reject invalid timeout argument
  - tcpdump: check frame length before reading the ethernet header
  - tcpdump: correct output of VLAN IDs
  - tcpdump: don't label unknown ICMPv6 types as unreachable
  - tcpdump: fix "subtybe" typo in 4ADDR output
  - tcpdump: fix coded packet mac dest mac addresses
  - tcpdump: fix endianness of fragmentation sequence number
  - tcpdump: fix reported length for ICMP6_TIME_EXCEEDED
  - tcpdump: fix source address selection for 802.11 data frames
  - tcpdump: handle TCP packet with bogus data offset
  - tcpdump: print the unreachable host for ICMP port unreachable
  - tcpdump: reject invalid packet type arguments
  - tcpdump: resolve bat-host name for ROAMv1 client
  - tcpdump: return EXIT_SUCCESS on normal termination
  - tcpdump: skip partial line for oversized ICMPv6 errors
  - tpmeter: abort result wait on receive errors
  - tpmeter: don't cancel test from the signal handler
  - tpmeter: fix Gbps output
  - tpmeter: label sub-kByte/s rate in bits per second
  - tpmeter: reject invalid test duration argument
  - traceroute: handle fast replies
  - traceroute: probe the advertised maximum number of hops
  - traceroute: return EXIT_NOSUCCESS when destination not reached
  - translate: don't overwrite the search key
  - version: avoid use of uninitialized read buffer

Signed-off-by: Sven Eckelmann <redacted>
2 weeks agoalfred: update to version 2026.3
Sven Eckelmann [Mon, 31 Aug 2026 20:21:44 +0000 (22:21 +0200)]
alfred: update to version 2026.3

From upstream changelog
https://git.open-mesh.org/alfred.git/tree/CHANGELOG.rst:

* bugs squashed:
  - seed the random() generator for transaction IDs

Signed-off-by: Sven Eckelmann <redacted>
2 weeks agoddns-scripts: add gandi pat support
Keith T. Garner [Tue, 11 Aug 2026 19:17:59 +0000 (14:17 -0500)]
ddns-scripts: add gandi pat support

Gandi has deprecated Api Key for authentication and replaced it with
Personal Access Tokens. This adds a v2 gandi package containing a script
using the new authentication scheme while keeping the old version intact
for any existing API Key users. Additionally, it documents the old
version as deprecated and points users to v2.

Signed-off-by: Keith T. Garner <redacted>
2 weeks agorclone: update to 1.75.0
Tianling Shen [Tue, 1 Sep 2026 01:47:11 +0000 (09:47 +0800)]
rclone: update to 1.75.0

Release note: https://github.com/rclone/rclone/releases/tag/v1.75.0

Signed-off-by: Tianling Shen <redacted>
2 weeks agoopenlist: update to 4.2.5
Tianling Shen [Tue, 1 Sep 2026 01:46:40 +0000 (09:46 +0800)]
openlist: update to 4.2.5

Release note:
- https://github.com/OpenListTeam/OpenList/releases/tag/v4.2.4
- https://github.com/OpenListTeam/OpenList/releases/tag/v4.2.5

Signed-off-by: Tianling Shen <redacted>
2 weeks agoyq: update to 4.53.6
Tianling Shen [Tue, 1 Sep 2026 01:45:10 +0000 (09:45 +0800)]
yq: update to 4.53.6

Removed upstreamed patch.

Release note:
- https://github.com/mikefarah/yq/releases/tag/v4.53.4
- https://github.com/mikefarah/yq/releases/tag/v4.53.6

Signed-off-by: Tianling Shen <redacted>
2 weeks agov2ray-core: update to 5.53.0
Tianling Shen [Tue, 1 Sep 2026 01:38:53 +0000 (09:38 +0800)]
v2ray-core: update to 5.53.0

Release note:
- https://github.com/v2fly/v2ray-core/releases/tag/v5.52.0
- https://github.com/v2fly/v2ray-core/releases/tag/v5.53.0

Signed-off-by: Tianling Shen <redacted>
3 weeks agolibjuice: fix SHA-1 on big-endian targets
Daniel Golle [Mon, 31 Aug 2026 23:27:47 +0000 (00:27 +0100)]
libjuice: fix SHA-1 on big-endian targets

libjuice's vendored picohash guards the final byte-order swap in
_picohash_sha1_final with SHA_BIG_ENDIAN, which nothing defines, while
endianness is detected into _PICOHASH_BIG_ENDIAN. On big-endian targets
the swap runs when it must not and every SHA-1 digest is emitted with each
32-bit word reversed, taking HMAC-SHA1 with it.

libjuice uses HMAC-SHA1 for STUN MESSAGE-INTEGRITY, so on mips, mips64,
powerpc and every other big-endian target each ICE connectivity check is
rejected as failing integrity. No candidate pair is nominated and no
session can be established. picohash is the default backend, as USE_NETTLE
is off, so this affects the package as built here.

Verified on lantiq/xrx200 (mips_24kc, MIPS 34Kc): before the patch an ICE
agent loops with "STUN integrity check failed" and never leaves the
connecting state; after it the agent reaches completed and a session comes
up over the DHT and ICE. RFC 2202 HMAC-SHA1 test case 1 and the SHA-1
vector for "abc" both fail before and pass after.

Submitted upstream as paullouisageneau/libjuice#353 and, for the vendored
copy's origin, kazuho/picohash#13.

Signed-off-by: Daniel Golle <redacted>
3 weeks agocomrade: update to 0.1.17
Daniel Golle [Mon, 31 Aug 2026 14:56:21 +0000 (14:56 +0000)]
comrade: update to 0.1.17

Upstream changes:
https://github.com/dangowrt/comrade/compare/v0.1.16...v0.1.17

Signed-off-by: Daniel Golle <redacted>
3 weeks agoconmon: fall back to the runtime's exit status file
Daniel Golle [Wed, 19 Aug 2026 06:33:41 +0000 (07:33 +0100)]
conmon: fall back to the runtime's exit status file

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 <redacted>
3 weeks agolvm2: update to 2.03.42
Daniel Golle [Thu, 20 Aug 2026 13:58:34 +0000 (14:58 +0100)]
lvm2: update to 2.03.42

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 <redacted>
3 weeks agoCONTRIBUTING.md: add pointers to LLM review prompts
Daniel F. Dickinson [Thu, 13 Aug 2026 04:46:24 +0000 (00:46 -0400)]
CONTRIBUTING.md: add pointers to LLM review prompts

If you have questions about what is expected of a pull request, and there is
no specific documentation for your case, or the comments from a reviewer seem
at odds with the documentation you have found, it can be useful to refer to the
prompts given to the automated LLM reviewer. Therefore add those pointers to the
CONTRIBUTING.md document

Signed-off-by: Daniel F. Dickinson <redacted>
3 weeks agonet/acme-acmesh: prevent concurrent execution of acme.sh instances
Toke Høiland-Jørgensen [Mon, 31 Aug 2026 08:55:12 +0000 (10:55 +0200)]
net/acme-acmesh: prevent concurrent execution of acme.sh instances

After switching ACME to being run through procd, individual ACME
instances are now executed in parallel instead of sequentially. This
causes acme.sh to become confused in certain cases. Petr reported that
certificate files ended up with the wrong contents after updating to
OpenWrt 25.12.

Fix this by wrapping the acme.sh execution in a global `flock` keyed on
a file in the state directory. The procd instances will still run in
parallel, but they'll all serialise on the same lock, so only one
acme.sh instance will run at a time.

Fixes: 76b676e4ebbb ("acme.sh: move to procd to ensure logging gets to syslog")
Reported-by: Petr Novák <redacted>
Signed-off-by: Toke Høiland-Jørgensen <redacted>
3 weeks agohev-socks5-server: update to 2.13.1
Ray Wang [Sun, 30 Aug 2026 13:46:56 +0000 (21:46 +0800)]
hev-socks5-server: update to 2.13.1

Upstream changelog:
https://github.com/heiher/hev-socks5-server/releases/tag/2.13.1

Signed-off-by: Ray Wang <redacted>
3 weeks agoowut: update to 2026.08.30
Eric Fahlgren [Mon, 31 Aug 2026 02:00:54 +0000 (19:00 -0700)]
owut: update to 2026.08.30

efahl/owut@9b51eeec3ec3 owut: refactor image type extraction
efahl/owut@7185daa0a1bb owut: include raw board in device info
efahl/owut@2fab581877f3 owut: allow to append apk repositories to build requests

Signed-off-by: Eric Fahlgren <redacted>
3 weeks agopython-charset-normalizer: update to 3.5.1
Austin Lane [Sun, 30 Aug 2026 23:29:51 +0000 (19:29 -0400)]
python-charset-normalizer: update to 3.5.1

Adds support for setuptools 84.

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

Signed-off-by: Austin Lane <redacted>
3 weeks agoowut: remove comments and empty lines from the built package
Samuele Longhi [Tue, 25 Aug 2026 11:14:53 +0000 (13:14 +0200)]
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 <redacted>
Co-authored-by: Eric Fahlgren <redacted>
3 weeks agouneighbord: add uneighbord
Nick Hainke [Wed, 19 Aug 2026 10:04:17 +0000 (12:04 +0200)]
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 <redacted>
3 weeks agoopenssh: update to 10.5_p1
John Audia [Tue, 11 Aug 2026 19:53:38 +0000 (15:53 -0400)]
openssh: update to 10.5_p1

Changelog: https://www.openssh.com/txt/release-10.5

Signed-off-by: John Audia <redacted>
3 weeks agobsbf-resources: update to GIT HEAD of 2026-08-29
Chester A. Unal [Sat, 29 Aug 2026 18:05:25 +0000 (19:05 +0100)]
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 <redacted>
3 weeks agoksmbd-tools: add package version test
Andrea Pesaresi [Fri, 28 Aug 2026 16:28:58 +0000 (18:28 +0200)]
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 <redacted>
3 weeks agoksmbd-tools: update to version 3.5.7
Andrea Pesaresi [Wed, 19 Aug 2026 20:31:11 +0000 (22:31 +0200)]
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 <redacted>
3 weeks agozabbix: bump to version 7.0.30
Daniel F. Dickinson [Sat, 29 Aug 2026 01:59:18 +0000 (21:59 -0400)]
zabbix: bump to version 7.0.30

Bug-fix update: https://www.zabbix.com/rn/rn7.0.30

Signed-off-by: Daniel F. Dickinson <redacted>
3 weeks agonmap: update to 7.991
Ivan Pavlov [Wed, 12 Aug 2026 09:18:16 +0000 (12:18 +0300)]
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 <redacted>
3 weeks agocomrade: update to 0.1.16, add a comrade-tests package and test.sh
Daniel Golle [Sat, 22 Aug 2026 02:29:13 +0000 (02:29 +0000)]
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 <redacted>
3 weeks agolibssh: fix big-endian -R forwarding and crash without entropy source
Daniel Golle [Fri, 28 Aug 2026 08:19:13 +0000 (09:19 +0100)]
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 <redacted>
3 weeks agolibssh: update to 0.12.2
Daniel Golle [Fri, 28 Aug 2026 08:17:51 +0000 (09:17 +0100)]
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 <redacted>
3 weeks agovim: update to 9.2.1014
Peter Polonec [Thu, 27 Aug 2026 11:23:57 +0000 (13:23 +0200)]
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 <redacted>
3 weeks agoadblock: replace the CARTO basemap with local outlines
Dirk Brenken [Thu, 27 Aug 2026 12:00:04 +0000 (14:00 +0200)]
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 <redacted>
3 weeks agofluidsynth: update to 2.6.0
Daniel Golle [Thu, 20 Aug 2026 13:23:23 +0000 (14:23 +0100)]
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 <redacted>
3 weeks agoxdg-dbus-proxy: update to 0.1.8
Daniel Golle [Thu, 20 Aug 2026 14:12:27 +0000 (15:12 +0100)]
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 <redacted>
3 weeks agolibudev-zero: update to 1.0.5
Daniel Golle [Thu, 20 Aug 2026 13:49:51 +0000 (14:49 +0100)]
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 <redacted>
3 weeks agofscrypt: update to 0.3.7
John Audia [Sun, 23 Aug 2026 09:25:17 +0000 (05:25 -0400)]
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 <redacted>
3 weeks agobanip: replace the CARTO basemap with local outlines
Dirk Brenken [Thu, 27 Aug 2026 09:06:55 +0000 (11:06 +0200)]
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 <redacted>
3 weeks agoshunt: init fixes
Dirk Brenken [Wed, 26 Aug 2026 15:03:37 +0000 (17:03 +0200)]
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 <redacted>
Co-authored-by: Claude <redacted>
Signed-off-by: Dirk Brenken <redacted>
3 weeks agodcwapd: remove dcwapd and related packages
Yanase Yuki [Fri, 15 May 2026 08:04:39 +0000 (17:04 +0900)]
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 <redacted>
3 weeks agosqm-scripts: update to 1.8.0
Dharmik Parmar [Tue, 25 Aug 2026 18:29:40 +0000 (23:59 +0530)]
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 <redacted>
3 weeks agoshunt: add new package
Dirk Brenken [Sun, 23 Aug 2026 17:05:33 +0000 (19:05 +0200)]
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 <redacted>
Co-authored-by: Claude <redacted>
Signed-off-by: Dirk Brenken <redacted>
3 weeks agocsshnpd: bump to c1.0.20 release
Chris Swan [Tue, 25 Aug 2026 10:38:59 +0000 (11:38 +0100)]
csshnpd: bump to c1.0.20 release

Authentication bypass fix

Signed-off-by: Chris Swan <redacted>
4 weeks agotcpreplay: fix CI tests for the QEMU runtime
Alexandru Ardelean [Thu, 20 Aug 2026 18:01:43 +0000 (21:01 +0300)]
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 <redacted>
4 weeks agostress-ng: update to 0.21.04
Alexandru Ardelean [Sun, 9 Aug 2026 09:35:38 +0000 (12:35 +0300)]
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 <redacted>
4 weeks agotcpreplay: update to 4.6.0
Alexandru Ardelean [Sun, 9 Aug 2026 09:35:36 +0000 (12:35 +0300)]
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 <redacted>
4 weeks agoshadow: update to 4.20.2
Alexandru Ardelean [Sun, 9 Aug 2026 09:35:35 +0000 (12:35 +0300)]
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 <redacted>
4 weeks agopillow: bump to 12.3.0
Alexandru Ardelean [Sun, 9 Aug 2026 09:32:50 +0000 (12:32 +0300)]
pillow: bump to 12.3.0

Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <redacted>
4 weeks agopython3: update to 3.14.7
Alexandru Ardelean [Thu, 20 Aug 2026 15:35:57 +0000 (18:35 +0300)]
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 <redacted>
4 weeks agouvol: update to 1.2, expose volume operations over ubus
Daniel Golle [Mon, 24 Aug 2026 02:06:28 +0000 (03:06 +0100)]
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 <redacted>
4 weeks agouvol: update to 1.1.1, harden backend invocation and volume-name handling
Daniel Golle [Mon, 24 Aug 2026 02:06:10 +0000 (03:06 +0100)]
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 <redacted>
4 weeks agoslide-switch: update to 1.0.1
Jeffery To [Fri, 21 Aug 2026 00:15:58 +0000 (08:15 +0800)]
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 <redacted>
4 weeks agognunet: update to 0.29.0
Daniel Golle [Fri, 21 Aug 2026 05:55:20 +0000 (06:55 +0100)]
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 <redacted>
git clone https://git.99rst.org/PROJECT