mod_saslname/mod_saslname.lua
author Kim Alvefur <zash@zash.se>
Mon, 16 May 2022 19:47:09 +0200
changeset 4945 e7b9bc629ecc
parent 1271 e927d95512e8
permissions -rw-r--r--
mod_rest: Add special handling to catch MAM results from remote hosts Makes MAM queries to remote hosts works. As the comment says, MAM results from users' local archives or local MUCs are returned via origin.send() which is provided in the event and thus already worked. Results from remote hosts go via normal stanza routing and events, which need this extra handling to catch. This pattern of iq-set, message+, iq-result is generally limited to MAM. Closest similar thing might be MUC join, but to really handle that you would need the webhook callback mechanism.

local hostname = module:get_option_string("sasl_hostname", module.host);

module:hook("stream-features", function(event)
	local features = event.features;
	local mechs = features:get_child("mechanisms", "urn:ietf:params:xml:ns:xmpp-sasl");
	if mechs then
		mechs:tag("hostname", { xmlns = "urn:xmpp:domain-based-name:1" })
			:text(hostname):up();
	end
end);