]> git.99rst.org Git - openwrt-packages.git/log
openwrt-packages.git
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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 weeks agolibextractor: update to 1.19
Daniel Golle [Fri, 21 Aug 2026 05:55:04 +0000 (06:55 +0100)]
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 <redacted>
3 weeks agoexim: update to 4.100
Daniel Golle [Fri, 21 Aug 2026 13:40:13 +0000 (14:40 +0100)]
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 <redacted>
3 weeks agooci-runtime-tools: skip the version check for oci-runtime-tests
Daniel Golle [Sun, 23 Aug 2026 20:06:40 +0000 (21:06 +0100)]
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 <redacted>
3 weeks agooci-runtime-tools: report the real version string
Daniel Golle [Sun, 23 Aug 2026 18:29:42 +0000 (19:29 +0100)]
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 <redacted>
3 weeks agooci-runtime-tools: depend on 'unshare'
Daniel Golle [Wed, 19 Aug 2026 06:08:49 +0000 (07:08 +0100)]
oci-runtime-tools: depend on 'unshare'

Some of the tests require 'unshare' on the host. Select it.

Signed-off-by: Daniel Golle <redacted>
3 weeks agooci-runtime-tools: install the test rootfs archives on x86
Daniel Golle [Wed, 19 Aug 2026 06:08:49 +0000 (07:08 +0100)]
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 <redacted>
3 weeks agooci-runtime-tools: build runtimetest statically
Daniel Golle [Wed, 19 Aug 2026 06:08:26 +0000 (07:08 +0100)]
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 <redacted>
3 weeks agolibmicrohttpd: update to 1.0.10
Alexander Couzens [Tue, 21 Jul 2026 09:51:44 +0000 (11:51 +0200)]
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 <redacted>
3 weeks agopostgresql: update to 18.6
Daniel Golle [Thu, 20 Aug 2026 14:07:44 +0000 (15:07 +0100)]
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 <redacted>
3 weeks agolibxmp: update to 4.7.2
Daniel Golle [Thu, 20 Aug 2026 13:53:54 +0000 (14:53 +0100)]
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 <redacted>
3 weeks agolibwacom: update to 2.19.1
Daniel Golle [Thu, 20 Aug 2026 13:51:54 +0000 (14:51 +0100)]
libwacom: update to 2.19.1

2.19.1: build fixes for older systems and other arches.

Signed-off-by: Daniel Golle <redacted>
3 weeks agohiredis: update to 1.4.1
Daniel Golle [Thu, 20 Aug 2026 13:43:12 +0000 (14:43 +0100)]
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 <redacted>
3 weeks agognupg2: update to 2.5.21
Daniel Golle [Thu, 20 Aug 2026 13:41:12 +0000 (14:41 +0100)]
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 <redacted>
3 weeks agogpgme: update to 2.1.2
Daniel Golle [Thu, 20 Aug 2026 13:29:51 +0000 (14:29 +0100)]
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 <redacted>
3 weeks agogawk: update to 5.4.1
Daniel Golle [Thu, 20 Aug 2026 13:27:47 +0000 (14:27 +0100)]
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 <redacted>
3 weeks agoexfatprogs: update to 1.4.3
Daniel Golle [Thu, 20 Aug 2026 13:14:57 +0000 (14:14 +0100)]
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 <redacted>
3 weeks agogolang: drop 1.26
George Sapkin [Mon, 10 Aug 2026 15:39:24 +0000 (18:39 +0300)]
golang: drop 1.26

Drop Go 1.26.

Signed-off-by: George Sapkin <redacted>
3 weeks agogolang: switch default to 1.27
George Sapkin [Mon, 10 Aug 2026 15:37:44 +0000 (18:37 +0300)]
golang: switch default to 1.27

Switch default Go version from 1.26 to 1.27.

Signed-off-by: George Sapkin <redacted>
3 weeks agogolang: add 1.27.0
George Sapkin [Wed, 19 Aug 2026 18:54:44 +0000 (21:54 +0300)]
golang: add 1.27.0

Add Go 1.27 and use the default bootstrap.

Changes: https://go.dev/doc/go1.27
Signed-off-by: George Sapkin <redacted>
3 weeks agogolang: fix target binary stripping
George Sapkin [Mon, 10 Aug 2026 15:31:59 +0000 (18:31 +0300)]
golang: fix target binary stripping

Fix stripping when using previous version as a bootstrap.

Fixes: 5657eb0e2 ("golang: split src into separate packages")
Signed-off-by: George Sapkin <redacted>
3 weeks agogolang: remove redundant quotes in extra_provides
George Sapkin [Mon, 10 Aug 2026 15:29:57 +0000 (18:29 +0300)]
golang: remove redundant quotes in extra_provides

Fixes: a6e94447f ("golang: fix missing dependency check")
Signed-off-by: George Sapkin <redacted>
3 weeks agotmux: update to 3.7c
Maxim Storchak [Sun, 23 Aug 2026 09:02:33 +0000 (12:02 +0300)]
tmux: update to 3.7c

* Build with jemalloc on macOS to avoid what appears to be a bug in calloc (issue 5385).
* Fix scrollbar initial state so they appear on new windows (issue 5339).
* Check time periodically in loops rather than every one (issue 5367).
* Use message-style again as default for message-format.
* Unzoom before creating floating panes to avoid a crash.

Signed-off-by: Maxim Storchak <redacted>
4 weeks agoccid: update to 1.8.2
Daniel Golle [Thu, 20 Aug 2026 12:53:36 +0000 (13:53 +0100)]
ccid: update to 1.8.2

1.8.1:
- Correctly close the slots of a multi-slots reader
- Fix 3 minor issues found by AISLE in partnership with Red Hat
- Correctly report IFD_NO_SUCH_DEVICE in InterruptRead

1.8.2:
- Fix initialisation of composite devices (like Yubico tokens)
- Correctly close the slots of a multi-slots reader (serial)

Signed-off-by: Daniel Golle <redacted>
4 weeks agopcsc-lite: update to 2.5.1
Daniel Golle [Thu, 20 Aug 2026 12:53:31 +0000 (13:53 +0100)]
pcsc-lite: update to 2.5.1

2.5.1: Ludovic Rousseau
10 June 2026
- Fix a bug (introduced in 2.5.0) with multi-slots readers
- Add support of Haiku Operating System

Signed-off-by: Daniel Golle <redacted>
4 weeks agolibp11: update to 0.4.20
Daniel Golle [Thu, 20 Aug 2026 13:31:46 +0000 (14:31 +0100)]
libp11: update to 0.4.20

0.4.19:
- added native KEYMGMT, SIGNATURE and ASYM_CIPHER operations to the
  PKCS#11 provider, enabling OpenSSL 4.x support and improving RSA
  interoperability
- added support for ML-DSA, SLH-DSA and FALCON key generation, signing
  and verification; PQC key generation examples and provider tests
- added PKCS#11 provider support for ECDH, X25519 and X448 key exchange,
  including X25519/X448 key generation
- improved Ed25519/Ed448 public-key resolution with certificate fallback
- fixed use-after-free crashes after enumerating additional PKCS#11 keys
- fixed a potential out-of-bounds write while parsing PKCS#11 URI
  attributes
- fixed PKCS#11 session, attribute and key-reference leaks

0.4.20:
- added PKCS#11 3.2 interface discovery and updated the bundled header
  to version 3.2
- added PKCS#11 provider support for ML-KEM-512/768/1024 key generation,
  encapsulation and decapsulation
- added PKCS11_evp_pkey_decapsulate() API
- added provider signature AlgorithmIdentifier support, including
  RSA-PSS parameters and correct default salt length handling
- fixed RSA-PSS salt length parsing and spurious OpenSSL errors
- fixed session-pool races and deadlocks during concurrent key
  generation and cryptographic operations
- fixed key-cache and OpenSSL 1.x RSA object use-after-free bugs
- fixed provider EC parameter lifetime handling and resource leaks
  during EC, RSA, EdDSA and XDH operations and context cleanup
- fixed installation of p11_ver.h, required by p11_err.h

Signed-off-by: Daniel Golle <redacted>
4 weeks agopython3: stop forcing the ncursesw/{ncurses,panel}.h checks to "no"
Daniel Golle [Thu, 20 Aug 2026 20:30:13 +0000 (21:30 +0100)]
python3: stop forcing the ncursesw/{ncurses,panel}.h checks to "no"

d883c02a4106 ("python3: pin host curses to the SDK's narrow ncurses",
2026-05-28) forced every curses header check Python's configure.ac
runs to "no", specifically to keep host ncurses's (then narrow-only)
build from being shadowed by whatever curses headers the build host's
own distro happened to ship under /usr/include.

That assumption broke when openwrt/openwrt@18725c45a33a ("ncurses:
bump to 6.6.20260801") switched host ncurses to track ncurses' git
snapshots rather than the old 6.4 tarball: ncurses 6.6+ defaults to
building wide-character support for ABI 6 (cf_dft_widec, gated on
cf_cv_abi_default which is just the major version - this is a policy
change accumulated in ncurses' own git history since 6.4 was tagged,
not something OpenWrt or ncurses deliberately changed for wide-char
specifically). Host ncurses now produces ncursesw.pc/panelw.pc, which
Python 3.14's configure.ac finds independently via its own
PKG_CHECK_MODULES(CURSES, ncursesw)-style pkg-config probe ("checking
for ncursesw... yes") - a check that was never gated by these ac_cv_*
overrides in the first place. That flips on the wide-character code
paths in Modules/_cursesmodule.c, while the ac_cv_header_ncursesw_*=no
overrides still force the *header* checks to fail, so the actual
#include falls through to the stale narrow ncurses/ncurses.h. The
result is a mismatch between what pkg-config says is available and
what header actually got included, producing:

  ./Modules/_cursesmodule.c: error: implicit declaration of function
  'unget_wch'; did you mean 'ungetch'?

(and similarly for wget_wch, wins_nwstr, mvwins_nwstr - every
wide-character-only curses function).

Fix this at the python3/ncurses integration boundary rather than by
touching ncurses' own host build behaviour globally (see
openwrt/openwrt#24811, which tried --disable-widec on host ncurses
and had to be reverted: it also drops extended colors from host tic,
shrinking MAX_ENTRY_SIZE 32768->4096 so tic can no longer process the
xterm/xterm-256color terminfo entries needed to assemble the target
terminfo package). Since host ncurses's own -I.../include/ncursesw
already gets added via pkg-config's Cflags substitution regardless of
these overrides, stop forcing ac_cv_header_ncursesw_{ncurses,panel}_h
to "no" - configure now genuinely finds ncursesw/ncurses.h in
staging_dir/hostpkg, consistent with what its own pkg-config check
already reports, and both detection paths agree.

ac_cv_header_ncursesw_curses_h stays forced, along with the bare
(non-w) curses.h/ncurses.h/panel.h checks: host ncurses is configured
with --without-curses-h, so staging_dir/hostpkg/include/ncursesw/ has
no curses.h of its own to genuinely detect - a real "yes" here could
only ever come from the build host's own /usr/include/ncursesw/
curses.h (e.g. Fedora's ncurses-devel), the exact distro-shadowing
this override block exists to prevent.

Verified end to end: clean host python3 rebuild against unmodified
current ncurses compiles Modules/_cursesmodule.c and
Modules/_curses_panel.c without error, and the resulting
staging_dir/hostpkg python3.14 successfully `import curses` with
unget_wch present.

Fixes: d883c02a4106 ("python3: pin host curses to the SDK's narrow ncurses")
Signed-off-by: Daniel Golle <redacted>
4 weeks agocroc: update to v11.2.2
Jonas Jelonek [Sat, 15 Aug 2026 20:08:56 +0000 (20:08 +0000)]
croc: update to v11.2.2

A lot of changes and commits across various release tags.
Full diff can be found at https://github.com/schollz/croc/compare/v10.3.1...v11.2.2

Signed-off-by: Jonas Jelonek <redacted>
4 weeks agobanip: release 1.8.12-1
Dirk Brenken [Fri, 21 Aug 2026 19:46:55 +0000 (21:46 +0200)]
banip: release 1.8.12-1

* new option ban_monitorallowed: in allowlist-only mode
  the log monitor only honours the local allowlist, so attackers
  from an explicitly allowed segment can be banned (fixes openwrt/luci#8950)
* adds the allowlist.local.v4/.v6 Sets, built from /etc/banip/banip.allowlist only,
  referenced by no rule
* allowlist-only mode: skip only those external feeds whose direction is
  fully covered by the allowlist, instead of skipping all or none — split Sets included
* f_lookup keeps the monitor Set in sync with resolved domains
* f_restore: no more bogus per-proto restore attempts for the allowlist
* f_report: batched and deduplicated geo lookups, correct Set names in the report
* readme update

Signed-off-by: Dirk Brenken <redacted>
4 weeks agopython-userpath: remove package
Alexandru Ardelean [Thu, 20 Aug 2026 12:28:05 +0000 (15:28 +0300)]
python-userpath: remove package

userpath adds to and removes from the user's PATH. Its only consumer in
the feed was pipx, which has just been removed, so python-userpath now
has no users. Remove it as well.

Signed-off-by: Alexandru Ardelean <redacted>
4 weeks agopipx: remove package
Alexandru Ardelean [Thu, 20 Aug 2026 12:28:05 +0000 (15:28 +0300)]
pipx: remove package

pipx installs and runs Python applications in isolated virtual
environments. That workflow sees little use on OpenWrt's embedded
targets, and keeping the package current has become a recurring
maintenance burden as upstream keeps adding build- and run-time
dependencies to support it. Nothing in the feed depends on pipx, so
remove it.

Signed-off-by: Alexandru Ardelean <redacted>
4 weeks agocoredns: update to 1.14.7
Vladimir Ermakov [Wed, 19 Aug 2026 08:33:02 +0000 (10:33 +0200)]
coredns: update to 1.14.7

Changelog: https://github.com/coredns/coredns/releases/tag/v1.14.7

Signed-off-by: Vladimir Ermakov <redacted>
4 weeks agodocker-compose: update to version 5.5.0
Javier Marcet [Tue, 18 Aug 2026 20:42:00 +0000 (22:42 +0200)]
docker-compose: update to version 5.5.0

Release notes:
https://github.com/docker/compose/releases/tag/v5.4.0
https://github.com/docker/compose/releases/tag/v5.5.0

Signed-off-by: Javier Marcet <redacted>
4 weeks agogolang: bump 1.26 to 1.26.7
George Sapkin [Wed, 19 Aug 2026 18:57:11 +0000 (21:57 +0300)]
golang: bump 1.26 to 1.26.7

Changes: https://github.com/golang/go/issues?q=milestone%3AGo1.26.7+label%3ACherryPickApproved
Signed-off-by: George Sapkin <redacted>
4 weeks agoulogd: update output plugins config flags
Astrozen Zhou [Sun, 19 Jul 2026 12:54:34 +0000 (20:54 +0800)]
ulogd: update output plugins config flags

Start from ulogd 2.0.8, using `--enable-XYZ` instead of `--with-XYZ`
https://git.netfilter.org/ulogd2/commit/configure.ac?id=794f0385ab60fd8c52ff3ce498c8aac78b58ac20

Signed-off-by: Astrozen Zhou <redacted>
4 weeks agoprosody: do not drive the service through prosodyctl
Josef Schlehofer [Sun, 9 Aug 2026 08:56:48 +0000 (10:56 +0200)]
prosody: do not drive the service through prosodyctl

prosodyctl refuses start, stop, restart and reload once it detects an
init system, and /etc/init.d/prosody makes that detection always true.
The refusal is fatal, so the service could neither be started nor
stopped:

  ERROR: Use of 'prosodyctl stop' is disabled in this installation
         because we detected that this system uses rc.d for managing
         services.

Let procd supervise the daemon directly with -F instead, and reload the
configuration with SIGHUP, which is what prosody expects.

Signed-off-by: Josef Schlehofer <redacted>
4 weeks agonut: drop unnecessary postinsts
Daniel F. Dickinson [Wed, 5 Aug 2026 04:09:22 +0000 (00:09 -0400)]
nut: drop unnecessary postinsts

The uci-defaults scripts are already sourced and removed
by default_postinst so nut-server and nut-upsmon postinsts in this
Makefile are not needed.

Signed-off-by: Daniel F. Dickinson <redacted>
4 weeks agonut: tweak configure settings for NUT 2.8.5+
Daniel F. Dickinson [Sun, 5 Jul 2026 11:53:47 +0000 (07:53 -0400)]
nut: tweak configure settings for NUT 2.8.5+

Update deprecated configure option for NUT build.

Signed-off-by: Daniel F. Dickinson <redacted>
4 weeks agonut: enable shared NSS certificate/key database for upsd and upsmon
Daniel F. Dickinson [Sun, 5 Jul 2026 11:50:00 +0000 (07:50 -0400)]
nut: enable shared NSS certificate/key database for upsd and upsmon

Create a group to allow sharing directories files between upsd and
upsmon, and create a shared NSS certificate/key database on postinst
of nut-common (providing the database dir does not already exist).

Also enables preserving the shared database across sysupgrades.

Signed-off-by: Daniel F. Dickinson <redacted>
4 weeks agonut: enable peer certificate verification
Daniel F. Dickinson [Sun, 5 Jul 2026 11:47:49 +0000 (07:47 -0400)]
nut: enable peer certificate verification

Enable CERTVERIFY, CERTREQUEST, and related options for requiring
verified certificates from peers.

While we are at it, alphabetize the list of PKG_CONFIG_DEPENDS in the
Makefile

Signed-off-by: Daniel F. Dickinson <redacted>
4 weeks agonut: enable configuring more SSL-related options
Daniel F. Dickinson [Sun, 5 Jul 2026 11:42:46 +0000 (07:42 -0400)]
nut: enable configuring more SSL-related options

Expose the configuration knobs as UCI config for more SSL options.

Signed-off-by: Daniel F. Dickinson <redacted>
4 weeks agonut: use spaces for all non-recipe whitespace
Daniel F. Dickinson [Sun, 2 Aug 2026 23:25:43 +0000 (19:25 -0400)]
nut: use spaces for all non-recipe whitespace

To satisfy the CI (because of project style) use spaces instead of tab
in the Makefile, except for Make 'recipes' (which require tabs).

To be consistent do this through the file, no only where CI complained.

There is unusual spacing on the nested define recipes as Make's rules for
those is very particular.

Signed-off-by: Daniel F. Dickinson <redacted>
4 weeks agonut: enable SSL via NSS by default
Daniel F. Dickinson [Thu, 2 Jul 2026 04:02:18 +0000 (00:02 -0400)]
nut: enable SSL via NSS by default

Enable libnss (Mozilla NSS) for SSL, and make it the default.

Signed-off-by: Daniel F. Dickinson <redacted>
git clone https://git.99rst.org/PROJECT