view mod_measure_message_e2ee/mod_measure_message_e2ee.lua @ 6219:4d040f506c6c

mod_vcard_muc: deprecated diff --git a/mod_vcard_muc/README.md b/mod_vcard_muc/README.md --- a/mod_vcard_muc/README.md +++ b/mod_vcard_muc/README.md @@ -1,6 +1,7 @@ --- summary: Support for MUC vCards and avatars labels: +- 'Stage-Deprecated' - 'Stage-Stable' ... @@ -21,8 +22,8 @@ modules_enabled = { # Compatibility - ------------------------- ---------- - trunk^[as of 2024-10-22] Works + ------------------------- ---------------------------------------- + 0.13 Room avatar feature included in Prosody 0.12 Works - ------------------------- ---------- + ------------------------- ----------------------------------------
author Menel <menel@snikket.de>
date Mon, 12 May 2025 12:13:25 +0200
parents 72b7e0ca71ab
children
line wrap: on
line source

local count_message = module:measure("message", "rate");
local count_plain = module:measure("plain", "rate");
local count_openpgp = module:measure("openpgp", "rate");
local count_otr = module:measure("otr", "rate");
local count_ox = module:measure("ox", "rate");
local count_omemo2 = module:measure("omemo2", "rate");
local count_omemo = module:measure("omemo", "rate");
local count_encrypted = module:measure("encrypted", "rate");

local function message_handler(event)
	local origin, stanza = event.origin, event.stanza;

	-- This counts every message, even those with no body-like content.
	count_message();

	-- Annotates that a message is encrypted, using any of the following methods.
	if stanza:get_child("encryption", "urn:xmpp:eme:0") then
		count_encrypted();
	end

	if stanza:get_child("openpgp", "urn:xmpp:openpgp:0") then
		count_ox();
		return;
	end

	if stanza:get_child("encrypted", "urn:xmpp:omemo:2") then
		count_omemo2();
		return;
	end

	if stanza:get_child("encrypted", "eu.siacs.conversations.axolotl") then
		count_omemo();
		return;
	end

	if stanza:get_child("x", "jabber:x:encrypted") then
		count_openpgp();
		return;
	end

	local body = stanza:get_child_text("body");
	if body then
		if body:sub(1,4) == "?OTR" then
			count_otr();
			return;
		end

		count_plain();
	end
end

module:hook("pre-message/host", message_handler, 2);
module:hook("pre-message/bare", message_handler, 2);
module:hook("pre-message/full", message_handler, 2);