Commit Graph
37113 Commits
Author SHA1 Message Date
Alexandru Ardelean 8d4f64dc9f graphicsmagick: expand test.sh coverage
Exercise more gm subcommands and codecs on top of the existing PNG/JPEG,
resize, pixel, draw and composite checks: TIFF round-trip, PPM and GIF
encoders, crop, 90-degree rotate, horizontal append and in-place mogrify.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-07 11:27:13 +03:00
Alexandru Ardelean b0536d3ff6 imagemagick: expand test.sh coverage
Exercise more of the toolchain on top of the existing PNG/JPEG/BMP,
resize, pixel-sampling, grayscale and composite checks: TIFF round-trip,
PPM and GIF encoders, crop, 90-degree rotate, horizontal append, the IM7
'magick' driver and in-place mogrify.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-07 11:27:13 +03:00
Alexandru Ardelean 98243ee6ef graphicsmagick: update to 1.3.48
Update to the latest upstream stable release.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-07 11:27:13 +03:00
Alexandru Ardelean 9c2eb543eb imagemagick: update to 7.1.2.29
Update to the latest upstream stable release. Also fix PKG_SOURCE_URL:
imagemagick.org/archive no longer serves the release tarballs (404),
they live under download.imagemagick.org/archive/releases now.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-07 11:27:13 +03:00
Josef Schlehofer 6de18286ee checksec: remove package
The package ships checksec.bash, which upstream has discontinued. When
asked about the version the script reports, upstream answered that the
bash implementation is legacy, will be removed entirely in an upcoming
release and has been rewritten in Go:
https://github.com/slimm609/checksec.sh/issues/352

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2026-08-07 10:12:06 +03:00
Etienne Champetier 91a6967643 simple-captive-portal: update to 2026.08.06 / use port 80
No issue reported but this is a bit cleaner.

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2026-08-06 22:24:04 -04:00
Dirk Brenken 23e2f530fe banip: report the last run timestamp as ISO 8601
The runtime status reported the last run as DD/MM/YYYY, which reads as a
different date entirely for anyone used to month first ordering.

Use YYYY-MM-DD instead for the frontpage and the Set reporting.
The new ISO 8601 format is unambiguous regardless of the reader's locale.

Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-06 21:26:44 +02:00
Dirk Brenken 28da48b9cb travelmate: release 2.4.7-1
* harden the connectivity check in f_net()
* drop the ineffective 'trm_netcheck' term from the minimum signal
  quality branch in f_check()
* reset 'trm_connection' explicitly in the netcheck exit path
* log the affected uplink in the netcheck messages
* update and restructure the readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-06 16:00:06 +02:00
Dirk Brenken ec4ca5c917 adblock: report the last run timestamp as ISO 8601
The runtime status reported the last run as DD/MM/YYYY, which reads as a
different date entirely for anyone used to month first ordering.

Use YYYY-MM-DD instead. The DNS report already derives its timestamps from
tcpdump -tttt and is ISO 8601, so both views now agree, and the format is
unambiguous regardless of the reader's locale.

Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-05 18:27:10 +02:00
Florian Eckert 5c6578a8b3 strongswan: swanctl.init: remove invalid privkeys option
The 'swanctl.conf' has no 'privkeys' option in
'connections.<conn>.local<suffix>'. The only local-round keys documented
for authentication are 'certs', 'cert<suffix>' and 'pubkeys'. Strongswan
does not let a connection reference a private key by name at all - swanctl
auto-selects the matching private key from '/etc/swanctl/private'
(or rsa/ecdsa/pkcs8) by comparing it against the certificate configured
via 'certs' when credentials are loaded.

Writing 'privkeys = $local_key' into the generated swanctl.conf is
therefore a no-op at best: the option is unknown to the parser and
gets silently dropped, so it never had any effect on which key was
used.

Drop the bogus assignment. The existing local_key validation making
sure the referenced file exists under '/etc/swanctl/private'. Since that's
still useful to catch misconfiguration early, and add a comment explaining
why nothing is written to swanctl.conf for it.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-04 15:09:47 +02:00
Qingfang Deng 37cd414b63 ovpn-dco: fix build on 6.18.40
6.18.40 commit 073d95725269 changed the prototype of proto::recvmsg.
Update the ifdef.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
2026-08-04 15:05:08 +02:00
Andy Chiang c4f3f8d092 cligen: fix depends
fixes: https://github.com/openwrt/openwrt/pull/24247#issuecomment-5139402966

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
2026-08-04 07:33:19 +02:00
Rosen Penev fbac2e7861 cryptsetup: update to 2.8.7
Use OpenSSL now as AF_ALG has been deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2026-08-04 02:33:26 +01:00
dependabot[bot] ad58a29f05 ci: bump lewagon/wait-on-check-action from 1.8.1 to 1.9.0
Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/lewagon/wait-on-check-action/releases)
- [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.8.1...v1.9.0)

---
updated-dependencies:
- dependency-name: lewagon/wait-on-check-action
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-03 21:09:42 +02:00
Dharmik Parmar 8e912e91d5 trafficshaper: avoid recursive dependency
The conditional nftables dependency causes Kconfig to select
PACKAGE_nftables-nojson from itself:

  symbol PACKAGE_nftables-nojson is selected by PACKAGE_nftables-nojson

Split the firewall dependencies into nftables and iptables variants. Keep
trafficshaper as the default nftables variant and provide
trafficshaper-iptables for older systems.

Fixes: 2e945de232 ("trafficshaper: add nftables firewall backend")

Signed-off-by: Dharmik Parmar <dharmikparmar2004@yahoo.com>
2026-08-03 21:08:02 +02:00
Hannu Nyman 2c72717c16 nano: update to 9.2
Update nano editor to version 9.2.
https://www.nano-editor.org/news.php

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2026-08-03 18:10:36 +03:00
Michael Pfeifroth 7885dff933 modemmanager: skip virtual net devices in hotplug script
Every net uevent - eth ports, USB hubs, bridges, taps, SQM IFB,
GRE tunnels, veth, tun/tap - is handed to mmcli via
25-modemmanager-net's mm_report_event call, so ModemManager logs a
'not supported by any plugin' notice per device on every boot and
hotplug replay:

  ModemManager[15132]: <msg> [base-manager] couldn't check support
    for device '.../fsl-ehci.0/usb1/1-1/1-1.1':
    not supported by any plugin

mm_report_event() already discards virtual devices internally, but
only after mm_log "info" has written a "hotplug: add network
interface XXX: event processed" line to daemon.info for every one
of them.

Mirror the same guard in the hotplug script by exiting early when
DEVPATH points under /devices/virtual/*, which covers SQM IFB, GRE,
bridges, veth, tun/tap.  This never rejects a physical modem port
(kernel wwan, MHI, USB CDC/RNDIS/QMI/MBIM are all under real bus
subtrees).

Signed-off-by: Michael Pfeifroth <micpf@westermo.com>
2026-08-03 13:03:31 +02:00
Michael Pfeifroth 187382d9d1 modemmanager: skip live report when the service isn't up yet
At boot procd replays every previously-seen uevent before
/etc/init.d/modemmanager starts.  Each replay walks the hotplug.d/
tree, which calls mm_report_event() in modemmanager.common.  That
helper does two independent things:

  1) appends the event to ${MODEMMANAGER_EVENTS_CACHE}, and
  2) runs 'mmcli --report-kernel-event=...' to notify a live MM.

Step 1 is what matters for boot; step 2 exists so events fired
after MM is running get reported without waiting for the next
cache replay.  The cache path is intentional: ModemManager-wrapper
starts MM, then mm_report_events_from_cache() polls 'mmcli -L'
until the bus is available and replays every cached event.

At boot the modemmanager service instance hasn't been spawned by
procd yet, so step 2 always fails with:

  daemon.err ModemManager[NNN]: hotplug: Couldn't report kernel
    event: error: couldn't get bus: Could not connect: No such
    file or directory

That's one daemon.err line per hotplug script per port, per boot.
On a dual-modem board that's a dozen spurious errors before the
service even starts.  Nothing is lost -- the wrapper's cache
replay picks them all up seconds later -- but the log noise makes
real ModemManager errors harder to spot.

Guard the live call with a cheap pidfile-based liveness check.
The pidfile is procd's, so it proves the service instance has
been spawned, not that MM is already reachable on the bus; the
brief wrapper-startup window (procd spawns the wrapper -> wrapper
execs MM -> MM reaches the bus) is not covered.  In practice no
fresh uevents fire in that window on the boards this was tested
on, and events that do arrive there are still cached.  If the
service hasn't been spawned yet, the event is silently cached and
the wrapper handles it.  If it has, behavior is unchanged.

Signed-off-by: Michael Pfeifroth <micpf@westermo.com>
2026-08-03 13:03:31 +02:00
Florian Eckert 703e679a71 strongswan: bump PKG_RELEASE by one
Update 'PKG_RELEASE'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert 4c58cafc7e strongswan: write local_key to swanctl.conf
The 'local_key' UCI option was validated (checked for existence
under /etc/swanctl/private/) but never written to the generated
'swanctl.conf'. As a result, setting 'local_key' had no actual effect
on which private key was used for local authentication.

Add the corresponding "privkeys" line to the local{} section,
mirroring how local_cert is already written as "certs", so that
swanctl explicitly uses the configured private key.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert 6e6de6aff9 strongswan: rename 'local_sourceip' to 'vips'
The name 'local_sourceip' was misleading, since the option actually
refers to virtual IP addresses (VIPs) used for routing/binding,
not just a single local source IP. Renaming it to 'vips' better
reflects its purpose and makes the configuration more intuitive
for users, especially in setups with multiple virtual IPs.

Add a uci-defaults migration script to convert existing 'local_sourceip'
entries (whether stored as a plain option or as a list) to a
'vips' list on upgrade.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert 07450023bc strongswan: rename 'local_ip' to 'local_addrs'
Rename the 'local_ip' UCI option to 'local_addrs' to match the
'swanctl.conf' 'local_addrs' directive, which accepts one or more
local addresses rather than implying a single fixed IP. The
previous name suggested only one address could be configured.

Store the option as a UCI list to allow specifying multiple local
addresses, consistent with how 'remote_addrs' is already handled.
If left empty, no 'local_addrs' line is written to 'swanctl.conf',
so strongswan falls back to its own default of '%any'.

Add a uci-defaults migration script to convert existing 'local_ip'
entries (whether stored as a plain option or as a list) to a
'local_addrs' list on upgrade.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert b0c5835445 strongswan: rename 'remote_gateway' to 'remote_addrs'
Rename the 'remote_gateway' UCI option to 'remote_addrs' to match
the 'swanctl.conf' 'remote_addrs' directive, which accepts one or
more peer addresses rather than a single gateway. The previous
name implied a single value and did not reflect that multiple
remote addresses can be configured for a connection.

Store the option as a UCI list to allow specifying multiple
remote addresses, consistent with how 'local_subnet' and
'remote_subnet' are already handled.

Add a uci-defaults migration script to convert existing
'remote_gateway' entries (whether stored as a plain option or as
a list) to a 'remote_addrs' list on upgrade.

If the 'remote_addrs' option is empty, strongswan implicitly uses the value
'%any'. In the `swanctl.conf` documentation, '%any' is already the default
value for 'remote_addrs' if the directive is not specified at all.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert d43fa0cbd4 strongswan: rename 'gateway' to 'remote_gateway'
The UCI option 'gateway' in the ipsec config (consumed by
/etc/init.d/swanctl) is ambiguous. It is not clear from the name
alone whether it refers to the local or the remote IKE/IPsec
peer address, which has repeatedly led to misconfiguration.

Rename it to "remote_gateway" to make the direction explicit and
to match the existing "remote_subnet" naming. If the option is
unset, the init script now falls back to the strongSwan default
of '%any', so connections that accept any remote peer no longer
require an explicit placeholder value.

Add a uci-defaults migration script to rename existing 'gateway'
entries to 'remote_gateway' and remove the value 'any' on upgrade. This
is new default if 'remote_gateway' is not set.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert 9cea816088 strongswan: migration and merge local_nat into local_subnet
The UCI option 'local_nat' was a misleading legacy name for the
option that actually specifies the local traffic selector(s) used
by strongSwan/swanctl for a connection, i.e. the local subnet(s)
matched by the IPsec SA. It has nothing to do with NAT-T or NAT
detection, and the name repeatedly caused confusion when writing
or reviewing configs.

Merge it to 'local_subnet' to match its actual purpose and to
align with the naming already used for the corresponding
'local_subnet' option and with swanctl.conf's own 'local_ts/remote_ts'
terminology.

Add a uci-defaults migration script so existing installations are
upgraded automatically. It reads any existing 'local_nat' values
(whether stored as a plain option or as a list) and rewrites them
as a 'local_subnet' list.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert eca6d15e45 strongswan: replace indentation spaces with tabs in swanctl.init
For consistency, the remaining spaces used for indentation have been
replaced with tabs.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert 7f341b3afc strongswan: reorder local var in config_remote function
The local variables were completely jumbled. To keep track of them, they
have been sorted in the order in which the following 'config_get' calls
are made.

No functional change.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Florian Eckert 1ac4335cd6 strongswan: reorder local var in config_child function
The local variables were completely jumbled. To keep track of them, they
have been sorted to the order in which the following 'config_get' calls
are made.

No functional change.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-08-03 11:07:41 +02:00
Dirk Brenken 7c3749d969 adblock: release 4.5.7-1
* add new 'adb_repfilter' option to pass an additional, user
  defined tcpdump filter expression which is logically ANDed
  to the internal port filter. This allows to exclude redundant
  traffic upfront, e.g. DNS requests originating from the router
  itself which are routed via a VPN client interface and which
  are picked up again when 'adb_repiface' is set to 'any';
  see the readme for details/examples.

Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-08-02 20:32:12 +02:00
Hirokazu MORIKAWA a8b6b3b551 node: bump to 22.23.2
This is a security release.
Notable Changes
* (CVE-2026-56846) http2: retain header memory in session accounting (Matteo Collina) – High
* (CVE-2026-56848) http2: defer rst stream while in scope (Matteo Collina) – High
* (CVE-2026-58043) permission: avoid granting radix split nodes (RafaelGSS) – High
* (CVE-2026-56850) https: distinguish PFX object-array agent keys (RafaelGSS) – Medium
* (CVE-2026-58040) https: bind identity checks to session reuse (Matteo Collina) – Medium
* (CVE-2026-58042) dns: handle large resolveAny address replies (RafaelGSS) – Medium
* (CVE-2026-58045) zlib: throw on out-of-bounds write buffers (RafaelGSS) – Medium
* (CVE-2026-56847) permission: enforce fs write permission for trace events (RafaelGSS) – Low
* (CVE-2026-58039) permission: check final report output path (RafaelGSS) – Low
* (CVE-2026-58044) http: reject requests exceeding max header count (Matteo Collina) – Low
* deps: update llhttp to 9.4.3 (Paolo Insogna)
* deps: update undici to 6.28.0 (Node.js GitHub Bot)

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
2026-08-02 09:35:26 +02:00
Hirokazu MORIKAWA fade4013e0 nghttp2: bump to 1.70.0
Various Updates (1.66.0 to 1.70.0)

Notable Changes:
Fixes CVE-2026-27135 (1.68.1)

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
2026-08-02 09:18:28 +02:00
Alexandru Ardelean 927fc5ea54 fluent-bit: fix HTTP output SIGSEGV on too-small coroutine stack
Each output flush runs in a coroutine whose stack was forced to 4096 (one
page). The HTTP output plugin overflows it and crashes with SIGSEGV after
the flush (issue #30113). Pin FLB_CORO_STACK_SIZE to upstream's own 64K
floor (FLB_CORO_STACK_SIZE_MIN_BYTE), which the musl-shrunk default undercuts.

Also add a regression test: drive the dummy input into the http output and
assert fluent-bit survives a few flush cycles instead of dying from a signal
(no listener needed -- the overflow happens while composing the request).

Fixes: https://github.com/openwrt/packages/issues/30113
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-01 21:19:47 +03:00
Lukas Voegl aad6a5a68c fwupd: update to 2.1.7
Release notes: https://github.com/fwupd/fwupd/releases/tag/2.1.7

Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2026-07-31 22:17:17 +02:00
Lukas Voegl 93f8e8cf7b libxmlb: update to 0.3.29
Release notes: https://github.com/hughsie/libxmlb/releases/tag/0.3.29

Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2026-07-31 16:01:13 +02:00
Alexandru Ardelean a256fb99b8 ngircd: update to 28
Update to the latest upstream stable release.

Also expand test.sh beyond the single loose configtest grep: assert the
daemon binary, init script and default config are installed, that
--configtest exits cleanly on the shipped config, and that it rejects an
explicitly-passed missing config file (so the positive check is real).
The daemon is never started, which would hang under QEMU emulation.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 14:15:38 +03:00
Alexandru Ardelean 418ba9a99f cifs-utils: update to 7.7 + more tests + add python3-light dep
Update to the latest upstream stable release.

Replace the version-only test.sh with checks that exercise the installed
binaries. smbinfo ships as a /usr/bin/python3 script, so add +python3-light
or it cannot exec; it also has no version flag, so add test-version.sh to
override the generic per-executable version probe (skipping smbinfo).

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 14:15:38 +03:00
Paul Lipps e4e2f07d60 dnscrypt-proxy2: update to 2.1.18
Update dnscrypt-proxy2 to version 2.1.18.

Fix the blocked_names_file substitution. The previous expression did not
match the upstream example configuration, leaving the bundled blocklist
disabled. This enables blocked-names.txt on fresh installations.

Declare blocked-names.txt as a configuration file so that
local changes are preserved during package upgrades.

Signed-off-by: Paul Lipps <paul.lipps@tb.pro>
2026-07-31 13:14:58 +02:00
Alexandru Ardelean c34c055b28 alsa-ucm-conf: update to 1.2.16.1
Update to the latest upstream stable release.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 12:52:43 +03:00
Alexandru Ardelean fc921fc0b2 less: update to 704
Update to the latest upstream stable release.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 12:52:31 +03:00
Alexandru Ardelean 4504961063 jq: update to 1.8.2
Update to the latest upstream stable release.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 12:52:31 +03:00
Richard Muzik 66b8c2c948 transmission: update to version 4.1.3
This is Transmission 4.1.3, a bugfix release. It fixes a potential
CRSF security issue for users who enable remote access to Transmission.
Users are encouraged to upgrade to this version.

Release notes: https://github.com/transmission/transmission/releases/tag/4.1.3

Signed-off-by: Richard Muzik <richard.muzik@turris.com>
2026-07-31 12:52:18 +03:00
Daniel F. Dickinson 355665cfb5 zabbix: bring proxy to parity with server and agentd
* Add config file patch for proxy
* Add initscript for proxy
* Update Makefile and support files to bring proxy to parity with
  agentd and server.

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
2026-07-31 12:50:45 +03:00
Daniel F. Dickinson ec54972924 zabbix: tweak server initscript and bring agentd to parity
* Genericize zabbix_server initscript.
* Add shellcheck overrides where needed.
* Add a 'never_root' config option (default true) that determines
  whether server starts as an unprivileged user or starts as root and
  drops to an unprivileged user (unless config is changed so it always
  runs as root).
* Bring zabbix_agentd initscript to parity with zabbix_server for the
  initscript and configuration.
* Tweak Makefile to reduce repetition

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
2026-07-31 12:50:45 +03:00
Daniel F. Dickinson 589cf9a73c zabbix: tweak patch agent and server patch configs
Tweak the agentd and server patch configurations and bring agentd and
server confgurations to parity.

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
2026-07-31 12:50:45 +03:00
Daniel F. Dickinson 1340781924 zabbix: use separate users for server and proxy
This is the upstream recommendation, and fits with our separation
of agent and server.

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
2026-07-31 12:50:45 +03:00
Alexandru Ardelean 42be0c979d prosody: extend test.sh past the version string grep
The previous test only grepped prosody.version and ran `prosodyctl
about`, which still passes when the parts that actually differ per
target architecture are broken.

Drive the rest of the package instead:

- Assert `prosodyctl about` reports Lua 5.4. The wrapper silently falls
  back to /usr/bin/lua (5.1 on OpenWrt) if --runwith is lost, and
  prosody 13 refuses to run on it.
- Require loader.lua to be installed, since prosody(ctl) cannot resolve
  any of its 'prosody.*' requires without it.
- Register and unregister an account on the sample VirtualHost. That is
  the only path exercising util.datamanager storage together with the
  internal_hashed SCRAM derivation, and it must not leave the cleartext
  password on disk.
- Load each of the 13 compiled util/*.so extensions through their
  luaopen_prosody_util_* entry points.
- Check known-answer vectors through util.hashes and an Ed25519
  sign/verify round trip through util.crypto (both linked against
  libopenssl), IDNA plus stringprep through util.encodings (libidn),
  and XML parsing through util.xml (luaexpat).
- Require lfs, socket and ssl, so a missing luafilesystem5.4 /
  luasocket5.4 / luasec5.4 runtime dependency fails here rather than on
  a user's router.

The XMPP daemon is still never started: it would block forever under
QEMU emulation.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 09:46:08 +03:00
Alexandru Ardelean 1f5fdd78ec prosody: update to 13.0.6
0.12.x is EOL upstream and accumulating CVEs. Bump to the current
stable 13.0.6, which carries the fix from security advisory
2026-04-29 / prosody.im/security/advisory_735dd9d3 that first shipped
in 13.0.5.

Prosody 13 requires Lua >= 5.2 (configure rejects 5.1). Switch the
build and runtime to Lua 5.4 and depend on the new
luafilesystem5.4 / luaexpat5.4 / luasec5.4 / luasocket5.4 variants.
Drop the now-unused luabitop dependency: bit operations are built in
since Lua 5.3.

Other notes:
- configure now needs an explicit --lua-version=5.4 and --runwith=lua5.4
  because the wrapper script defaults to '/usr/bin/lua' (5.1 on OpenWrt).
- Install the new mod_debug_stanzas plugin directory. The commented-out
  fallbacks/*.lua install is dropped rather than revived: upstream's
  'make install' never copies that directory, and fallbacks/lxp.lua is
  Lua 5.1 code using module(), which does not even load on 5.4.
- util-src/hashes.c now calls EVP_blake2{s256,b512}(), which libopenssl
  does not provide unless OPENSSL_WITH_BLAKE2 is set, so compile those
  two hashes out when libcrypto lacks them. Selecting the symbol instead
  is not enough: the resulting util/hashes.so still fails to relocate
  against a stock libcrypto, and prosody aborts at startup. Only the
  COMPAT util.hmac table references them, and it tolerates nil entries.
- Install loader.lua. 13.x moved every internal require() to the
  'prosody.*' namespace, and loader.lua is what maps those names back
  onto the installed layout. It is the first file prosodyctl looks for,
  so both prosody and prosodyctl abort at startup without it.

Refs: https://github.com/openwrt/packages/issues/29252
Release notes: https://blog.prosody.im/prosody-13.0.6-released/
Security: https://prosody.im/security/advisory_735dd9d3/

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 09:46:08 +03:00
Alexandru Ardelean 60f5e4b230 luasec: add Lua 5.4 variant
Add luasec5.4 (Lua 5.4 + luasocket5.4 + libopenssl) next to existing
luasec (Lua 5.1, default). Installs ssl.so / ssl.lua / ssl/https.lua
under /usr/lib/lua/5.4/.

Needed for the prosody 13.x upgrade.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 09:46:08 +03:00
Alexandru Ardelean 2eaaed5cdf luasocket: add Lua 5.4 variant
Add luasocket5.4 next to the existing luasocket (Lua 5.1) and
luasocket5.3 variants, installed via the upstream makefile's
'make install LUAV=5.4'.

That makefile defaults to prefix=/usr/local on linux, which is where
the luasocket5.3 variant still installs, so pass prefix=/usr explicitly
to land in /usr/share/lua/5.4 and /usr/lib/lua/5.4 like the other Lua
5.4 module packages.

Needed for the prosody 13.x upgrade.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 09:46:08 +03:00
Alexandru Ardelean 59977dc387 luaexpat: add Lua 5.4 variant
Add luaexpat5.4, parallel to existing luaexpat (Lua 5.1, default).
Builds against the Lua 5.4 headers under /usr/include/lua5.4 and
installs to /usr/lib/lua/5.4/. Same pattern as the luasocket 5.3
variant already shipped.

Needed for the prosody 13.x upgrade.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-07-31 09:46:08 +03:00