Mercurial > prosody-modules
comparison mod_e2e_policy/mod_e2e_policy.lua @ 3385:762c7e7ee64b
mod_e2e_policy: Verify that the bare JID of stanza to and from is not in the whitelist
| author | Michel Le Bihan <michel@lebihan.pl> |
|---|---|
| date | Fri, 30 Nov 2018 19:17:16 +0100 |
| parents | 58d61459cdb1 |
| children | a76c420eca61 |
comparison
equal
deleted
inserted
replaced
| 3384:4321c71cc535 | 3385:762c7e7ee64b |
|---|---|
| 1 local st = require "util.stanza"; | 1 local st = require "util.stanza"; |
| 2 local jid_bare = require "util.jid".bare; | |
| 2 local host = module.host; | 3 local host = module.host; |
| 3 local e2e_policy_chat = module:get_option_string("e2e_policy_chat", "optional"); -- possible values: none, optional and required | 4 local e2e_policy_chat = module:get_option_string("e2e_policy_chat", "optional"); -- possible values: none, optional and required |
| 4 local e2e_policy_muc = module:get_option_string("e2e_policy_muc", "optional"); -- possible values: none, optional and required | 5 local e2e_policy_muc = module:get_option_string("e2e_policy_muc", "optional"); -- possible values: none, optional and required |
| 5 local e2e_policy_whitelist = module:get_option_set("e2e_policy_whitelist", { }); -- make this module ignore messages sent to and from this JIDs or MUCs | 6 local e2e_policy_whitelist = module:get_option_set("e2e_policy_whitelist", { }); -- make this module ignore messages sent to and from this JIDs or MUCs |
| 6 | 7 |
| 9 local e2e_policy_message_optional_muc = module:get_option_string("e2e_policy_message_optional_muc", "For security reasons, OMEMO, OTR or PGP encryption is STRONGLY recommended for MUC on this server."); | 10 local e2e_policy_message_optional_muc = module:get_option_string("e2e_policy_message_optional_muc", "For security reasons, OMEMO, OTR or PGP encryption is STRONGLY recommended for MUC on this server."); |
| 10 local e2e_policy_message_required_muc = module:get_option_string("e2e_policy_message_required_muc", "For security reasons, OMEMO, OTR or PGP encryption is required for MUC on this server."); | 11 local e2e_policy_message_required_muc = module:get_option_string("e2e_policy_message_required_muc", "For security reasons, OMEMO, OTR or PGP encryption is required for MUC on this server."); |
| 11 | 12 |
| 12 function warn_on_plaintext_messages(event) | 13 function warn_on_plaintext_messages(event) |
| 13 -- check if JID is whitelisted | 14 -- check if JID is whitelisted |
| 14 if e2e_policy_whitelist:contains(event.stanza.attr.from) or e2e_policy_whitelist:contains(event.stanza.attr.to) then | 15 if e2e_policy_whitelist:contains(jid_bare(stanza.attr.from)) or e2e_policy_whitelist:contains(jid_bare(stanza.attr.to)) then |
| 15 return nil; | 16 return nil; |
| 16 end | 17 end |
| 17 local body = event.stanza:get_child_text("body"); | 18 local body = event.stanza:get_child_text("body"); |
| 18 -- do not warn for status messages | 19 -- do not warn for status messages |
| 19 if not body or event.stanza.attr.type == "error" then | 20 if not body or event.stanza.attr.type == "error" then |
