git: 78219422d9a8 - main - net-im/prosody: Update to 13.0.1

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Tue, 08 Apr 2025 06:33:30 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=78219422d9a82410a5505dfbeb6870d831c9d176

commit 78219422d9a82410a5505dfbeb6870d831c9d176
Author:     Thomas Morper <twm@pdp11.pw>
AuthorDate: 2025-04-08 06:31:52 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2025-04-08 06:32:54 +0000

    net-im/prosody: Update to 13.0.1
    
    Update to new major version 13.0.1
    Add update hints to pkg-message
    Add patch for FreeBSD <14
    Remove obsolete LUA_PREMK variable
    Some minor cleanups (portfmt, portclippy)
    
    Changelog: https://prosody.im/doc/release/13.0.1
    
    PR:             285896
    Approved by:    submitter is maintainer
---
 net-im/prosody/Makefile                            |  28 +++-
 net-im/prosody/distinfo                            |   6 +-
 .../patch-spec_util__crypto__spec.lua              |  35 +++++
 .../freebsd-13-patches/patch-util-src_crypto.c     | 171 +++++++++++++++++++++
 net-im/prosody/files/patch-GNUmakefile             |   6 +-
 .../prosody/files/patch-tools_migration_Makefile   |   2 +-
 net-im/prosody/files/pkg-message.in                |  20 +++
 net-im/prosody/pkg-plist                           |  33 +++-
 8 files changed, 278 insertions(+), 23 deletions(-)

diff --git a/net-im/prosody/Makefile b/net-im/prosody/Makefile
index 811b51dadce7..083e5b3337f3 100644
--- a/net-im/prosody/Makefile
+++ b/net-im/prosody/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	prosody
-DISTVERSION=	0.12.5
-PORTREVISION=	1
+DISTVERSION=	13.0.1
 CATEGORIES=	net-im
 MASTER_SITES=	https://prosody.im/downloads/source/
 
@@ -22,8 +21,9 @@ RUN_DEPENDS=	${LUA_REFMODLIBDIR}/lfs.so:devel/luafilesystem@${LUA_FLAVOR} \
 		${LUA_REFMODLIBDIR}/ssl.so:security/luasec@${LUA_FLAVOR}
 
 USES=		cpe gmake lua:54 shebangfix ssl
+USE_RC_SUBR=	prosody
 SHEBANG_FILES=	prosody prosodyctl tools/migration/prosody-migrator.lua
-LUA_PREMK=	yes
+
 HAS_CONFIGURE=	yes
 CONFIGURE_ARGS=	--prefix="${PREFIX}" \
 		--datadir="/var/db/prosody" \
@@ -41,13 +41,19 @@ CONFIGURE_ARGS=	--prefix="${PREFIX}" \
 		--no-example-certs
 
 MAKEFILE=	GNUmakefile
+
+SUB_FILES=	pkg-message
+SUB_LIST=	USERS=${USERS} \
+		GROUPS=${GROUPS} \
+		LUA_PREFIX=${LUA_PREFIX} \
+		LUA_CMD=${LUA_CMD} \
+		PORTNAME="${PORTNAME}"
+
 USERS=		prosody
 GROUPS=		${USERS}
 
-USE_RC_SUBR=	prosody
-SUB_FILES=	pkg-message
-SUB_LIST=	USERS=${USERS} GROUPS=${GROUPS} LUA_PREFIX=${LUA_PREFIX} LUA_CMD=${LUA_CMD} PORTNAME="${PORTNAME}"
-PLIST_SUB=	PROSODY_USER=${USERS} PROSODY_GROUP=${GROUPS}
+PLIST_SUB=	PROSODY_USER=${USERS} \
+		PROSODY_GROUP=${GROUPS}
 
 post-install:
 	@${REINPLACE_CMD} -e "s|\"luarocks |\"luarocks${LUA_VER_STR} |" ${STAGEDIR}${PREFIX}/lib/prosody/util/prosodyctl.lua
@@ -55,4 +61,10 @@ post-install:
 	@${MKDIR} ${STAGEDIR}/var/run/prosody
 	@${RM} ${STAGEDIR}${ETCDIR}/certs/*
 
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1400000 && ${SSL_DEFAULT} == base
+EXTRA_PATCHES=	${PATCHDIR}/freebsd-13-patches
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/net-im/prosody/distinfo b/net-im/prosody/distinfo
index f0ff0d3dc9ad..1bb2fc85fa9e 100644
--- a/net-im/prosody/distinfo
+++ b/net-im/prosody/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735848660
-SHA256 (prosody-0.12.5.tar.gz) = 778fb7707a0f10399595ba7ab9c66dd2a2288c0ae3a7fe4ab78f97d462bd399f
-SIZE (prosody-0.12.5.tar.gz) = 617833
+TIMESTAMP = 1743762247
+SHA256 (prosody-13.0.1.tar.gz) = 7bde8a5bf3cce195fd454970001b9faeac1a4601bcaa5c74eed7c6b74e48d806
+SIZE (prosody-13.0.1.tar.gz) = 735228
diff --git a/net-im/prosody/files/freebsd-13-patches/patch-spec_util__crypto__spec.lua b/net-im/prosody/files/freebsd-13-patches/patch-spec_util__crypto__spec.lua
new file mode 100644
index 000000000000..4b2bb5ec8739
--- /dev/null
+++ b/net-im/prosody/files/freebsd-13-patches/patch-spec_util__crypto__spec.lua
@@ -0,0 +1,35 @@
+--- spec/util_crypto_spec.lua.orig	2025-03-13 13:12:42 UTC
++++ spec/util_crypto_spec.lua
+@@ -3,32 +3,11 @@ describe("util.crypto", function ()
+ describe("util.crypto", function ()
+ 	local crypto = require "util.crypto";
+ 	local random = require "util.random";
+-	local encodings = require "util.encodings";
+ 
+ 	describe("generate_ed25519_keypair", function ()
+ 		local keypair = crypto.generate_ed25519_keypair();
+ 		assert.is_not_nil(keypair);
+ 		assert.equal("ED25519", keypair:get_type());
+-	end)
+-
+-	describe("generate_p256_keypair", function ()
+-		local keypair = crypto.generate_p256_keypair();
+-		assert.is_not_nil(keypair);
+-		assert.equal("id-ecPublicKey", keypair:get_type());
+-	end)
+-
+-	describe("export/import raw", function ()
+-		local keypair = crypto.generate_p256_keypair();
+-		assert.is_not_nil(keypair);
+-		local raw = keypair:public_raw()
+-		local imported = crypto.import_public_ec_raw(raw, "P-256")
+-		assert.equal(keypair:public_pem(), imported:public_pem());
+-	end)
+-
+-	describe("derive", function ()
+-		local key = crypto.import_private_pem(test_keys.ecdsa_private_pem);
+-		local peer_key = crypto.import_public_pem(test_keys.ecdsa_public_pem);
+-		assert.equal("n1v4KeKmOVwjC67fiKtjJnqcEaasbpZa2fLPNHW51co=", encodings.base64.encode(key:derive(peer_key)))
+ 	end)
+ 
+ 	describe("import_private_pem", function ()
diff --git a/net-im/prosody/files/freebsd-13-patches/patch-util-src_crypto.c b/net-im/prosody/files/freebsd-13-patches/patch-util-src_crypto.c
new file mode 100644
index 000000000000..2b805a603c95
--- /dev/null
+++ b/net-im/prosody/files/freebsd-13-patches/patch-util-src_crypto.c
@@ -0,0 +1,171 @@
+--- util-src/crypto.c.orig	2025-03-13 13:12:42 UTC
++++ util-src/crypto.c
+@@ -27,7 +27,6 @@ typedef unsigned __int32 uint32_t;
+ #include <openssl/err.h>
+ #include <openssl/evp.h>
+ #include <openssl/obj_mac.h>
+-#include <openssl/param_build.h>
+ #include <openssl/pem.h>
+ 
+ #if (LUA_VERSION_NUM == 501)
+@@ -93,40 +92,6 @@ static int Lpkey_meth_get_type(lua_State *L) {
+ 	return 1;
+ }
+ 
+-static int Lpkey_meth_derive(lua_State *L) {
+-	size_t outlen;
+-	EVP_PKEY *key = pkey_from_arg(L, 1, 0, 0);
+-	EVP_PKEY *peer = pkey_from_arg(L, 2, 0, 0);
+-	EVP_PKEY_CTX *ctx;
+-	BUF_MEM *buf;
+-	BIO *bio = new_managed_BIO_s_mem(L);
+-	BIO_get_mem_ptr(bio, &buf);
+-	if (!(ctx = EVP_PKEY_CTX_new(key, NULL)))
+-		goto sslerr;
+-	if (EVP_PKEY_derive_init(ctx) <= 0)
+-		goto sslerr;
+-	if (EVP_PKEY_derive_set_peer(ctx, peer) <= 0)
+-		goto sslerr;
+-	if (EVP_PKEY_derive(ctx, NULL, &outlen) <= 0)
+-		goto sslerr;
+-	if (!BUF_MEM_grow_clean(buf, outlen))
+-		goto sslerr;
+-	if (EVP_PKEY_derive(ctx, (unsigned char*)buf->data, &outlen) <= 0)
+-		goto sslerr;
+-	EVP_PKEY_CTX_free(ctx);
+-	ctx = NULL;
+-	lua_pushlstring(L, buf->data, outlen);
+-	BIO_reset(bio);
+-	return 1;
+-sslerr:
+-	if (ctx) {
+-		EVP_PKEY_CTX_free(ctx);
+-		ctx = NULL;
+-	}
+-	BIO_reset(bio);
+-	return luaL_error(L, "pkey:derive failed");
+-}
+-
+ static int base_evp_sign(lua_State *L, const int key_type, const EVP_MD *digest_type) {
+ 	EVP_PKEY *pkey = pkey_from_arg(L, 1, (key_type!=NID_rsassaPss)?key_type:NID_rsaEncryption, 1);
+ 	luaL_Buffer sigbuf;
+@@ -198,28 +163,6 @@ cleanup:
+ 	return 1;
+ }
+ 
+-static int Lpkey_meth_public_raw(lua_State *L) {
+-	OSSL_PARAM *params;
+-	EVP_PKEY *pkey = pkey_from_arg(L, 1, 0, 0);
+-
+-	if (EVP_PKEY_todata(pkey, EVP_PKEY_PUBLIC_KEY, &params)) {
+-		OSSL_PARAM *item = params;
+-		while (item->key) {
+-			if (!strcmp("pub", item->key)) {
+-				lua_pushlstring(L, item->data, item->data_size);
+-				break;
+-			}
+-			item++;
+-		}
+-		if (!item->key) lua_pushnil(L);
+-		OSSL_PARAM_free(params);
+-	} else {
+-		lua_pushnil(L);
+-	}
+-
+-	return 1;
+-}
+-
+ static int Lpkey_meth_public_pem(lua_State *L) {
+ 	char *data;
+ 	size_t bytes;
+@@ -294,25 +237,6 @@ static int Lgenerate_ed25519_keypair(lua_State *L) {
+ 	return 1;
+ }
+ 
+-static int Lgenerate_p256_keypair(lua_State *L) {
+-	EVP_PKEY *pkey = NULL;
+-	EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL);
+-
+-	/* Generate key */
+-	if (EVP_PKEY_keygen_init(pctx) <= 0) goto err;
+-	if (EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, NID_X9_62_prime256v1) <= 0) goto err;
+-	if (EVP_PKEY_keygen(pctx, &pkey) <= 0) goto err;
+-	EVP_PKEY_CTX_free(pctx);
+-
+-	push_pkey(L, pkey, NID_X9_62_prime256v1, 1);
+-	return 1;
+-
+-err:
+-	if (pctx) EVP_PKEY_CTX_free(pctx);
+-	lua_pushnil(L);
+-	return 1;
+-}
+-
+ static int Limport_private_pem(lua_State *L) {
+ 	EVP_PKEY *pkey = NULL;
+ 
+@@ -333,42 +257,6 @@ static int Limport_private_pem(lua_State *L) {
+ 	return 1;
+ }
+ 
+-static int Limport_public_ec_raw(lua_State *L) {
+-	OSSL_PARAM_BLD *param_bld = NULL;
+-	OSSL_PARAM *params = NULL;
+-	EVP_PKEY_CTX *ctx = NULL;
+-	EVP_PKEY *pkey = NULL;
+-
+-	size_t pubkey_bytes;
+-	const char* pubkey_data = luaL_checklstring(L, 1, &pubkey_bytes);
+-	const char* curve = luaL_checkstring(L, 2);
+-
+-	param_bld = OSSL_PARAM_BLD_new();
+-	if (!param_bld) goto err;
+-	if (!OSSL_PARAM_BLD_push_utf8_string(param_bld, "group", curve, 0)) goto err;
+-	if (!OSSL_PARAM_BLD_push_octet_string(param_bld, "pub", pubkey_data, pubkey_bytes)) goto err;
+-	params = OSSL_PARAM_BLD_to_param(param_bld);
+-	if (!params) goto err;
+-	ctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL);
+-	if (!ctx) goto err;
+-	if (!EVP_PKEY_fromdata_init(ctx)) goto err;
+-	if (EVP_PKEY_fromdata(ctx, &pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) goto err;
+-
+-	push_pkey(L, pkey, EVP_PKEY_id(pkey), 0);
+-
+-	EVP_PKEY_CTX_free(ctx);
+-	OSSL_PARAM_free(params);
+-	OSSL_PARAM_BLD_free(param_bld);
+-
+-	return 1;
+-err:
+-	if (ctx) EVP_PKEY_CTX_free(ctx);
+-	if (params) OSSL_PARAM_free(params);
+-	if (param_bld) OSSL_PARAM_BLD_free(param_bld);
+-	lua_pushnil(L);
+-	return 1;
+-}
+-
+ static int Limport_public_pem(lua_State *L) {
+ 	EVP_PKEY *pkey = NULL;
+ 
+@@ -683,11 +571,9 @@ static const luaL_Reg Reg[] = {
+ 	{ "aes_256_ctr_decrypt",         Laes_256_ctr_decrypt      },
+ 
+ 	{ "generate_ed25519_keypair",    Lgenerate_ed25519_keypair },
+-	{ "generate_p256_keypair",       Lgenerate_p256_keypair    },
+ 
+ 	{ "import_private_pem",          Limport_private_pem       },
+ 	{ "import_public_pem",           Limport_public_pem        },
+-	{ "import_public_ec_raw",        Limport_public_ec_raw     },
+ 
+ 	{ "parse_ecdsa_signature",       Lparse_ecdsa_signature    },
+ 	{ "build_ecdsa_signature",       Lbuild_ecdsa_signature    },
+@@ -697,9 +583,7 @@ static const luaL_Reg KeyMethods[] = {
+ static const luaL_Reg KeyMethods[] = {
+ 	{ "private_pem",            Lpkey_meth_private_pem       },
+ 	{ "public_pem",             Lpkey_meth_public_pem        },
+-	{ "public_raw",             Lpkey_meth_public_raw        },
+ 	{ "get_type",               Lpkey_meth_get_type          },
+-	{ "derive",                 Lpkey_meth_derive            },
+ 	{ NULL,                     NULL                         }
+ };
+ 
diff --git a/net-im/prosody/files/patch-GNUmakefile b/net-im/prosody/files/patch-GNUmakefile
index 990d0caf62f8..5c189f0254dc 100644
--- a/net-im/prosody/files/patch-GNUmakefile
+++ b/net-im/prosody/files/patch-GNUmakefile
@@ -1,4 +1,4 @@
---- GNUmakefile.orig	2022-03-08 12:34:39 UTC
+--- GNUmakefile.orig	2025-03-13 13:12:42 UTC
 +++ GNUmakefile
 @@ -35,7 +35,7 @@ install-etc: prosody.cfg.lua.install
  	$(MKDIR) $(CONFIG)
@@ -9,10 +9,10 @@
  
  install-bin: prosody.install prosodyctl.install
  	$(MKDIR) $(BIN)
-@@ -89,6 +89,7 @@ install-data:
+@@ -94,6 +94,7 @@ install: install-util install-net install-core install
  	$(MKDIR_PRIVATE) $(DATA)
  
- install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data
+ install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data install-loader
 +	$(MAKE) -C tools/migration install
  
  clean:
diff --git a/net-im/prosody/files/patch-tools_migration_Makefile b/net-im/prosody/files/patch-tools_migration_Makefile
index 2d4c55fea3b2..faf4b5febb19 100644
--- a/net-im/prosody/files/patch-tools_migration_Makefile
+++ b/net-im/prosody/files/patch-tools_migration_Makefile
@@ -1,4 +1,4 @@
---- tools/migration/Makefile.orig	2022-03-08 12:34:39 UTC
+--- tools/migration/Makefile.orig	2025-03-13 13:12:42 UTC
 +++ tools/migration/Makefile
 @@ -18,14 +18,14 @@ install: prosody-migrator.install migrator.cfg.lua.ins
  	install -d $(BIN) $(CONFIG) $(SOURCE)
diff --git a/net-im/prosody/files/pkg-message.in b/net-im/prosody/files/pkg-message.in
index 09cb718c3642..b47014e4fcc1 100644
--- a/net-im/prosody/files/pkg-message.in
+++ b/net-im/prosody/files/pkg-message.in
@@ -9,6 +9,26 @@ interfaces = { 'x.x.x.x' }
 where 'x.x.x.x' is the public IP you wish Prosody to bind to.
 EOM
 },
+{ type: upgrade
+  maximum-version: "13.0.0"
+  message: <<EOM
+Prosody 13.0 will function correctly on any config file that is compatible
+with 0.12. No changes are required, however there may be some recommendations.
+The best way to find these is to run:
+
+  prosodyctl check config
+
+If you are upgrading from an earlier release and you use PostgreSQL or SQLite
+for storage, Prosody may refuse to initialize storage until you complete a
+schema upgrade. To check for any necessary schema upgrades and apply them, run:
+
+  prosodyctl mod_storage_sql upgrade
+
+For more detailed information check the release notes at:
+
+  https://prosody.im/doc/release/13.0.0
+EOM
+},
 { type: remove
   message: <<EOM
 ===> post-deinstallation information for %%PORTNAME%%:"
diff --git a/net-im/prosody/pkg-plist b/net-im/prosody/pkg-plist
index 75d1322f3178..b897a4fc70c6 100644
--- a/net-im/prosody/pkg-plist
+++ b/net-im/prosody/pkg-plist
@@ -1,9 +1,11 @@
-bin/prosody
-bin/prosodyctl
-bin/prosody-migrator
 @dir %%ETCDIR%%/certs
+@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) /var/db/prosody
+@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) /var/run/prosody
 @sample %%ETCDIR%%/migrator.cfg.lua.sample
 @sample %%ETCDIR%%/prosody.cfg.lua.sample
+bin/prosody
+bin/prosody-migrator
+bin/prosodyctl
 lib/prosody/core/certmanager.lua
 lib/prosody/core/configmanager.lua
 lib/prosody/core/features.lua
@@ -19,8 +21,10 @@ lib/prosody/core/stanza_router.lua
 lib/prosody/core/statsmanager.lua
 lib/prosody/core/storagemanager.lua
 lib/prosody/core/usermanager.lua
+lib/prosody/loader.lua
 lib/prosody/modules/adhoc/adhoc.lib.lua
 lib/prosody/modules/adhoc/mod_adhoc.lua
+lib/prosody/modules/mod_account_activity.lua
 lib/prosody/modules/mod_admin_adhoc.lua
 lib/prosody/modules/mod_admin_shell.lua
 lib/prosody/modules/mod_admin_socket.lua
@@ -37,16 +41,21 @@ lib/prosody/modules/mod_bookmarks.lua
 lib/prosody/modules/mod_bosh.lua
 lib/prosody/modules/mod_c2s.lua
 lib/prosody/modules/mod_carbons.lua
+lib/prosody/modules/mod_cloud_notify.lua
 lib/prosody/modules/mod_component.lua
 lib/prosody/modules/mod_cron.lua
 lib/prosody/modules/mod_csi.lua
 lib/prosody/modules/mod_csi_simple.lua
+lib/prosody/modules/mod_debug_reset.lua
 lib/prosody/modules/mod_debug_sql.lua
+lib/prosody/modules/mod_debug_stanzas/watcher.lib.lua
 lib/prosody/modules/mod_dialback.lua
 lib/prosody/modules/mod_disco.lua
 lib/prosody/modules/mod_external_services.lua
+lib/prosody/modules/mod_flags.lua
 lib/prosody/modules/mod_groups.lua
 lib/prosody/modules/mod_http.lua
+lib/prosody/modules/mod_http_altconnect.lua
 lib/prosody/modules/mod_http_errors.lua
 lib/prosody/modules/mod_http_file_share.lua
 lib/prosody/modules/mod_http_files.lua
@@ -76,6 +85,7 @@ lib/prosody/modules/mod_posix.lua
 lib/prosody/modules/mod_presence.lua
 lib/prosody/modules/mod_private.lua
 lib/prosody/modules/mod_proxy65.lua
+lib/prosody/modules/mod_pubsub/commands.lib.lua
 lib/prosody/modules/mod_pubsub/mod_pubsub.lua
 lib/prosody/modules/mod_pubsub/pubsub.lib.lua
 lib/prosody/modules/mod_register.lua
@@ -84,10 +94,12 @@ lib/prosody/modules/mod_register_limits.lua
 lib/prosody/modules/mod_roster.lua
 lib/prosody/modules/mod_s2s.lua
 lib/prosody/modules/mod_s2s_auth_certs.lua
+lib/prosody/modules/mod_s2s_auth_dane_in.lua
 lib/prosody/modules/mod_s2s_bidi.lua
 lib/prosody/modules/mod_saslauth.lua
 lib/prosody/modules/mod_scansion_record.lua
 lib/prosody/modules/mod_server_contact_info.lua
+lib/prosody/modules/mod_server_info.lua
 lib/prosody/modules/mod_smacks.lua
 lib/prosody/modules/mod_stanza_debug.lua
 lib/prosody/modules/mod_storage_internal.lua
@@ -130,8 +142,10 @@ lib/prosody/modules/muc/persistent.lib.lua
 lib/prosody/modules/muc/presence_broadcast.lib.lua
 lib/prosody/modules/muc/register.lib.lua
 lib/prosody/modules/muc/request.lib.lua
+lib/prosody/modules/muc/restrict_pm.lib.lua
 lib/prosody/modules/muc/subject.lib.lua
 lib/prosody/modules/muc/util.lib.lua
+lib/prosody/modules/muc/vcard.lib.lua
 lib/prosody/modules/muc/whois.lib.lua
 lib/prosody/net/adns.lua
 lib/prosody/net/connect.lua
@@ -143,7 +157,6 @@ lib/prosody/net/http/errors.lua
 lib/prosody/net/http/files.lua
 lib/prosody/net/http/parser.lua
 lib/prosody/net/http/server.lua
-lib/prosody/net/httpserver.lua
 lib/prosody/net/resolvers/basic.lua
 lib/prosody/net/resolvers/chain.lua
 lib/prosody/net/resolvers/manual.lua
@@ -153,6 +166,7 @@ lib/prosody/net/server_epoll.lua
 lib/prosody/net/server_event.lua
 lib/prosody/net/server_select.lua
 lib/prosody/net/stun.lua
+lib/prosody/net/tls_luasec.lua
 lib/prosody/net/unbound.lua
 lib/prosody/net/websocket.lua
 lib/prosody/net/websocket/frames.lua
@@ -168,6 +182,7 @@ lib/prosody/util/cache.lua
 lib/prosody/util/caps.lua
 lib/prosody/util/compat.so
 lib/prosody/util/crand.so
+lib/prosody/util/crypto.so
 lib/prosody/util/dataforms.lua
 lib/prosody/util/datamanager.lua
 lib/prosody/util/datamapper.lua
@@ -183,6 +198,7 @@ lib/prosody/util/error.lua
 lib/prosody/util/events.lua
 lib/prosody/util/filters.lua
 lib/prosody/util/format.lua
+lib/prosody/util/fsm.lua
 lib/prosody/util/gc.lua
 lib/prosody/util/hashes.so
 lib/prosody/util/hashring.lua
@@ -204,11 +220,13 @@ lib/prosody/util/jsonpointer.lua
 lib/prosody/util/jsonschema.lua
 lib/prosody/util/jwt.lua
 lib/prosody/util/logger.lua
+lib/prosody/util/mathcompat.lua
 lib/prosody/util/mercurial.lua
 lib/prosody/util/multitable.lua
 lib/prosody/util/net.so
 lib/prosody/util/openmetrics.lua
 lib/prosody/util/openssl.lua
+lib/prosody/util/paseto.lua
 lib/prosody/util/paths.lua
 lib/prosody/util/pluginloader.lua
 lib/prosody/util/poll.so
@@ -222,12 +240,13 @@ lib/prosody/util/prosodyctl/shell.lua
 lib/prosody/util/pubsub.lua
 lib/prosody/util/queue.lua
 lib/prosody/util/random.lua
-lib/prosody/util/rfc6724.lua
 lib/prosody/util/ringbuffer.so
+lib/prosody/util/roles.lua
 lib/prosody/util/rsm.lua
 lib/prosody/util/sasl.lua
 lib/prosody/util/sasl/anonymous.lua
 lib/prosody/util/sasl/external.lua
+lib/prosody/util/sasl/oauthbearer.lua
 lib/prosody/util/sasl/plain.lua
 lib/prosody/util/sasl/scram.lua
 lib/prosody/util/serialization.lua
@@ -236,6 +255,7 @@ lib/prosody/util/set.lua
 lib/prosody/util/signal.so
 lib/prosody/util/smqueue.lua
 lib/prosody/util/sql.lua
+lib/prosody/util/sqlite3.lua
 lib/prosody/util/sslconfig.lua
 lib/prosody/util/stanza.lua
 lib/prosody/util/startup.lua
@@ -250,7 +270,6 @@ lib/prosody/util/throttle.lua
 lib/prosody/util/time.so
 lib/prosody/util/timer.lua
 lib/prosody/util/uuid.lua
-lib/prosody/util/vcard.lua
 lib/prosody/util/watchdog.lua
 lib/prosody/util/x509.lua
 lib/prosody/util/xml.lua
@@ -258,5 +277,3 @@ lib/prosody/util/xmppstream.lua
 lib/prosody/util/xpcall.lua
 lib/prosody/util/xtemplate.lua
 share/man/man1/prosodyctl.1.gz
-@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) /var/db/prosody
-@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) /var/run/prosody