27 Commits
Author SHA1 Message Date
Josef Schlehofer 715c606e57 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 <pepe.schlehofer@gmail.com>
2026-08-19 23:27:09 +03:00
Josef Schlehofer 762e3affdd prosody: add test-version.sh
Neither prosody nor prosodyctl reports its version on any flag the
generic tests probe, so the version check fails without an override.
Drop the now duplicate check from the functional test.sh.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2026-08-09 11:40:28 +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 42daa80ffe prosody: fix build, bump to to 0.12.6 and add test.sh
mod_s2s was refactored into a single mod_s2s.lua in the flat modules
directory in 0.12.x; remove the obsolete subdirectory install rule that
caused the package build to fail.

Also add util/human/ and util/prosodyctl/ which are new subdirectories
in 0.12.x not covered by the previous install rules.

Force libidn instead of ICU for stringprep

prosody's configure script auto-detects stringprep backends and prefers
ICU when available, generating -DUSE_STRINGPREP_ICU and including
<unicode/usprep.h>. The OpenWrt SDK staging directory does not provide
ICU development headers, so the build fails with:

  encodings.c:271:10: fatal error: unicode/usprep.h: No such file or directory

The Makefile DEPENDS already declares +libidn. Pass --with-idn=idn to
explicitly select the libidn backend, which is available in the staging
directory.

Also, pass TARGET="../util/" to MAKE_FLAGS. OpenWrt has it's own TARGET
env var which clobbers the 'TARGET' var from prosody's build (specified
as 'TARGET?=../util/')

Adding a test.sh to check for the correct version (since prosody mostly
has lua scripts).

Security release addressing multiple vulnerabilities. 0.12.6 is
likely the last release of the 0.12.x series (EOL June 2026).

Upstream advisory: https://prosody.im/security/

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-06 14:40:45 +03:00
Alexandru Ardelean bf50291ab1 prosody: fix PKG_HASH for 0.12.4
The prosody.im upstream updated the 0.12.4 tarball in-place, changing
its content without bumping the version. Update PKG_HASH to match the
currently published tarball.

Fixes: f4d305b73 ("prosody: update to 0.12.4")
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-04-28 23:10:43 +02:00
copilot-swe-agent[bot]andBKPepe f4d305b733 prosody: update to 0.12.4
Release notes: https://blog.prosody.im/prosody-0.12.4-released/

Co-authored-by: BKPepe <4096468+BKPepe@users.noreply.github.com>
2026-04-26 22:21:48 +02:00
Josef Schlehofer dcedbe8027 prosody: update to version 0.11.13
Fixes CVEs:
- CVE-2022-0217
- CVE-2021-37601
- CVE-2021-32918
- CVE-2021-32920
- CVE-2021-32921
- CVE-2021-32917
- CVE-2021-32919

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2022-01-28 12:10:09 -08:00
Rosen Penev eb46e231cd prosody: fix shellcheck warnings
Remove paxctl stuff. pax is not packaged in OpenWrt.

Add reload support.

Install lua cfg file as 644. It's needed to be readable as prosody user

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-10-15 18:20:20 -07:00
Rosen Penev 68a3a06e98 prosody: update to 0.11.7
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-10-15 15:34:51 -07:00
Vieno Hakkerinen bc500293e3 prosody: update to 0.11.5
Signed-off-by: Vieno Hakkerinen <vieno@hakkerinen.eu>
2020-04-21 05:57:56 +02:00
Sergio E. Nemirowski 838306cb37 prosody: /etc/prosody permissions fix
Signed-off-by: Sergio E. Nemirowski <sergio@outerface.net>
2020-03-31 00:42:17 +03:00
Rosen Penev 73d29b9fd7 prosody: Update to 0.11.3
Several Makefile rearrangements for consistency between packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-12-08 14:49:13 -08:00
Yousong Zhou 9ac5ac81ab treewide: avoid deref symlinks when installing .so
This change is inspired by commit openwrt/openwrt@38b22b1e ("nghttp2:
deduplicate files in libnghttp2")

The packages in this commit are identified with the following command

	grep -rin -E 'INSTALL_(DATA|BIN)' | grep -F '.so' | grep -F '*'

Some of them do not have symlinks and are not affected, but the change
is still applied for consideration of best practices just in case

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-06-21 09:52:32 +08:00
Rosen Penev 3deb14bf5b prosody: Change linker from LD to CC
This is causing linking errors on i3486 and maybe other platforms. Linking
with LD does not seem to be very portable.

Also cleaned up the Makefile by getting rid of whitespace, HTTPS,
duplicated entries, etc...

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-04-05 14:30:06 -07:00
Luís Felipe Safady e144ffd24b prosody: Update prosody to 0.11.2 Update
Fixes CVE-2018-10847

Added PKG_CPE_ID for proper CVE tracking.

Signed-off-by: Luís Felipe Safady <lagonauta@gmail.com>
2019-02-14 22:53:44 -02:00
Etienne Champetier 4006865ae8 treewide: run "make check FIXUP=1"
fix Makefile chmod (644)
replace MD5SUM with HASH
add PKG_MIRROR_HASH when PKG_SOURCE_PROTO:=git

(PKG_SOURCE_PROTO:=svn tarballs are not reproducible for now)

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2017-08-29 21:41:14 -07:00
heil eb0309bc87 prosody: bump to version 0.9.12
Signed-off-by: heil <heil@terminal-consulting.de>
2017-01-15 21:28:23 +01:00
Matthias Schiffer 4a984a8d60 treewide: replace $(STAGING_DIR)/host and $(HOST_BUILD_PREFIX) with $(STAGING_DIR_HOSTPKG)
As both LEDE and OpenWrt have STAGING_DIR_HOSTPKG now, we can start to rely
on it. See 73b7f55424 for more information on
STAGING_DIR_HOSTPKG.

STAGING_DIR_HOSTPKG won't actually be changed before the first LEDE release
(it is equivalent to $(STAGING_DIR)/host), so this simple search/replace
cleanup is safe to apply. Doing this cleanup now will be useful for the
Gluon project (an OpenWrt/LEDE based firmware framework) for experimenting
with modifying STAGING_DIR_HOSTPKG before doing this in the LEDE upstream.

Also fixes a typo in the dbus Makefile ("STAGIND_DIR").

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-01-10 18:25:54 +01:00
Stefan Hellermann e7f0d02076 prosody: update to 0.9.10, switch to procd init script
Update to 0.9.10 due to https://prosody.im/issues/issue/585
The init script seems to block, as "prosodyctl start" started to block
at least on my configuration. I switched to a procd init script, which
deals with blocking processes.

Signed-off-by: Stefan Hellermann <stefan@the2masters.de>
2016-02-18 21:37:12 +01:00
heil 39bc4992a1 prosody: upgrade to 0.9.9
fixes:
    * path traversal vulnerability in mod_http_files (CVE-2016-1231)
    * use of weak PRNG in generation of dialback secrets (CVE-2016-1232)

Signed-off-by: heil <heil@terminal-consulting.de>
2016-01-25 13:29:55 +01:00
Thomas Heil 53ffbc9dbd prosody: bump to 0.9.8
- Ensure only valid UTF-8 is passed to libidn. It was found
   (CVE-2015-2059) that libidn can read beyond the boundaries of the
   provided buffer when an input string contains invalid UTF-8 sequences.

Signed-off-by: Thomas Heil <heil@terminal-consulting.de>
2015-03-30 17:48:18 +02:00
W. Michael Petullo 9bcbcdfbc1 prosody: fix use of randomseed (prosody issue #439)
Signed-off-by: W. Michael Petullo <mike@flyn.org>
2015-01-02 14:22:54 -05:00
Stefan Hellermann 0410029b09 prosody: update to 0.9.7
update prosody to 0.9.7 to get the latest fixes. Changelogs:
http://blog.prosody.im/prosody-0-9-5-released/
http://blog.prosody.im/prosody-0-9-6-released/
http://blog.prosody.im/prosody-0-9-7-released/

Tested for a few days with a dozen clients

Signed-off-by: Stefan Hellermann <stefan@the2masters.de>
2014-12-08 14:20:11 +01:00
John Crispin d4042ec35e generic userid: use the new USERID api
recent changes in trunk allow us to specify the userid inside the openwrt makefile.
the info is stored int he meta data of the IPK contorl file and users are generated
by the new generic postinst trigger.

Signed-off-by: John Crispin <blogic@openwrt.org>
2014-10-08 03:45:30 +02:00
W. Michael Petullo 7664891988 prosody: add s2s and other modules to package
Signed-off-by: W. Michael Petullo <mike@flyn.org>
2014-09-20 20:14:17 -04:00
Thomas Heil 7fbd2bd5ee prosody: import from packages, add myself as the maintainer
This adds the prosody package from the old svn tree. Ive updated
the licensing information and will maintain the package in the
future. This request also updates prosdoy to the latest version 0.9.4.

Signed-off-by: Thomas Heil <heil@terminal-consulting.de>
2014-06-23 19:19:11 +02:00