File

core/features.lua @ 13758:fc97319ef48e 13.0

util.sasl: Preserve 'userdata' field between clones The :clean_clone() method is designed to provide a new cloned SASL handler, to be used when starting a fresh SASL negotiation on an existing connection. The userdata field is currently populated by mod_saslauth with the "read-only" information that the channel binding methods need to do their stuff. When :clean_clone() does not preserve this, it causes tracebacks in the cb profile handlers due to the property being nil. This does mean that SASL handlers should now not be reused (even when cloned) across different connections, if they ever could.
author Matthew Wild <mwild1@gmail.com>
date Thu, 06 Mar 2025 13:34:37 +0000
parent 13718:569fae28a2f3
line wrap: on
line source

local set = require "prosody.util.set";

return {
	available = set.new{
		-- mod_bookmarks bundled
		"mod_bookmarks";
		-- mod_server_info bundled
		"mod_server_info";
		-- mod_flags bundled
		"mod_flags";
		-- mod_cloud_notify bundled
		"mod_cloud_notify";
		-- mod_muc has built-in vcard support
		"muc_vcard";
		-- mod_http_altconnect bundled
		"http_altconnect";
		-- Roles, module.may and per-session authz
		"permissions";
		-- prosody.* namespace
		"loader";
		-- "keyval+" store
		"keyval+";

		"s2sout-pre-connect-event";

		-- prosody:guest, prosody:registered, prosody:member
		"split-user-roles";

		-- new moduleapi methods
		"getopt-enum";
		"getopt-interval";
		"getopt-period";
		"getopt-integer";

		-- new module.ready()
		"module-ready";

		-- SIGUSR1 and 2 events
		"signal-events";
	};
};