annotate mod_measure_message_e2ee/mod_measure_message_e2ee.lua @ 6280:6ea80b73d8f2

mod_http_oauth2: Only require redirect URIs when using grant types that need it In the Device flow, no redirect URI is used because the client instead receives responses by polling. It is therefore unnecessary to enforce a requirement that these include redirect URI(s).
author Kim Alvefur <zash@zash.se>
date Thu, 03 Jul 2025 15:42:42 +0200
parents 72b7e0ca71ab
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3137
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
1 local count_message = module:measure("message", "rate");
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
2 local count_plain = module:measure("plain", "rate");
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
3 local count_openpgp = module:measure("openpgp", "rate");
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
4 local count_otr = module:measure("otr", "rate");
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
5 local count_ox = module:measure("ox", "rate");
6161
72b7e0ca71ab mod_measure_message_e2ee: Add support for OMEMO:2
Link Mauve <linkmauve@linkmauve.fr>
parents: 3782
diff changeset
6 local count_omemo2 = module:measure("omemo2", "rate");
3137
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
7 local count_omemo = module:measure("omemo", "rate");
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
8 local count_encrypted = module:measure("encrypted", "rate");
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
9
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
10 local function message_handler(event)
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
11 local origin, stanza = event.origin, event.stanza;
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
12
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
13 -- This counts every message, even those with no body-like content.
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
14 count_message();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
15
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
16 -- Annotates that a message is encrypted, using any of the following methods.
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
17 if stanza:get_child("encryption", "urn:xmpp:eme:0") then
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
18 count_encrypted();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
19 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
20
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
21 if stanza:get_child("openpgp", "urn:xmpp:openpgp:0") then
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
22 count_ox();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
23 return;
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
24 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
25
6161
72b7e0ca71ab mod_measure_message_e2ee: Add support for OMEMO:2
Link Mauve <linkmauve@linkmauve.fr>
parents: 3782
diff changeset
26 if stanza:get_child("encrypted", "urn:xmpp:omemo:2") then
72b7e0ca71ab mod_measure_message_e2ee: Add support for OMEMO:2
Link Mauve <linkmauve@linkmauve.fr>
parents: 3782
diff changeset
27 count_omemo2();
72b7e0ca71ab mod_measure_message_e2ee: Add support for OMEMO:2
Link Mauve <linkmauve@linkmauve.fr>
parents: 3782
diff changeset
28 return;
72b7e0ca71ab mod_measure_message_e2ee: Add support for OMEMO:2
Link Mauve <linkmauve@linkmauve.fr>
parents: 3782
diff changeset
29 end
72b7e0ca71ab mod_measure_message_e2ee: Add support for OMEMO:2
Link Mauve <linkmauve@linkmauve.fr>
parents: 3782
diff changeset
30
3137
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
31 if stanza:get_child("encrypted", "eu.siacs.conversations.axolotl") then
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
32 count_omemo();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
33 return;
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
34 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
35
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
36 if stanza:get_child("x", "jabber:x:encrypted") then
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
37 count_openpgp();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
38 return;
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
39 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
40
3370
c414a7e884b3 mod_measure_message_e2ee: Count OTR messages too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3137
diff changeset
41 local body = stanza:get_child_text("body");
c414a7e884b3 mod_measure_message_e2ee: Count OTR messages too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3137
diff changeset
42 if body then
c414a7e884b3 mod_measure_message_e2ee: Count OTR messages too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3137
diff changeset
43 if body:sub(1,4) == "?OTR" then
3137
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
44 count_otr();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
45 return;
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
46 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
47
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
48 count_plain();
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
49 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
50 end
178ebea5097c mod_measure_message_e2ee: Get statistics about message encryption status.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
51
3782
70e5bab388d8 mod_measure_message_e2ee: Make this module non-global; users can aggregate data if they care about that
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3370
diff changeset
52 module:hook("pre-message/host", message_handler, 2);
70e5bab388d8 mod_measure_message_e2ee: Make this module non-global; users can aggregate data if they care about that
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3370
diff changeset
53 module:hook("pre-message/bare", message_handler, 2);
70e5bab388d8 mod_measure_message_e2ee: Make this module non-global; users can aggregate data if they care about that
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3370
diff changeset
54 module:hook("pre-message/full", message_handler, 2);