view mod_spam_report_forwarder/mod_spam_report_forwarder.lua @ 5447:aa4828f040c5

mod_http_oauth2: Enforce client scope restrictions in authorization When registering a client, a scope field can be included as a promise to only ever use those. Here we enforce that promise, if given, ensuring a client can't request or be granted a scope it didn't provide in its registration. While currently there is no restrictions at registration time, this could be changed in the future in various ways.
author Kim Alvefur <zash@zash.se>
date Thu, 11 May 2023 19:33:44 +0200
parents 94472eb41d0a
children
line wrap: on
line source

local st = require "util.stanza";

local destinations = module:get_option_set("spam_report_destinations", {});

function forward_report(event)
	local report = st.clone(event.report);
	report:text_tag("jid", event.jid, { xmlns = "urn:xmpp:jid:0" });

	local message = st.message({ from = module.host })
		:add_child(report);

	for destination in destinations do
		local m = st.clone(message);
		m.attr.to = destination;
		module:send(m);
	end
end

module:hook("spam_reporting/abuse-report", forward_report, -1);
module:hook("spam_reporting/spam-report", forward_report, -1);
module:hook("spam_reporting/unknown-report", forward_report, -1);