view mod_uptime_presence/mod_uptime_presence.lua @ 5381:32a9817c7516

mod_firewall: Initialize compiled chunk just once for all handlers This should fix a case where some stateful dependencies (such as throttles) produce separate instances for every call to new_handler(), leading to surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would have separate rate limits). This also adds better error handling in case the compiled code fails to run for some reason.
author Matthew Wild <mwild1@gmail.com>
date Fri, 28 Apr 2023 13:27:06 +0100
parents d3497b81a3b5
children
line wrap: on
line source

local st = require"util.stanza";
local datetime = require"util.datetime";

local presence = st.presence({ from = module.host })
	:tag("delay", { xmlns = "urn:xmpp:delay",
		stamp = datetime.datetime(prosody.start_time) });

module:hook("presence/host", function(event)
	local stanza = event.stanza;
	if stanza.attr.type == "probe" then
		presence.attr.id = stanza.attr.id;
		presence.attr.to = stanza.attr.from;
		module:send(presence);
		return true;
	end
end, 10);