annotate mod_require_otr/mod_require_otr.lua @ 4260:c539334dd01a

mod_http_oauth2: Rescope oauth client config into users' storage This produces client_id of the form owner@host/random and prevents clients from being deleted by registering an account with the same name and then deleting the account, as well as having the client automatically be deleted when the owner account is removed. On one hand, this leaks the bare JID of the creator to users. On the other hand, it makes it obvious who made the oauth application. This module is experimental and only for developers, so this can be changed if a better method comes up.
author Kim Alvefur <zash@zash.se>
date Sat, 21 Nov 2020 23:55:10 +0100
parents dfe1818962f5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1295
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local st = require "util.stanza";
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 local block_groupchat = module:get_option_boolean("otr_block_groupchat", false);
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 function reject_plaintext_messages(event)
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 local body = event.stanza:get_child_text("body");
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 if body and body:sub(1,4) ~= "?OTR" or (not block_groupchat and event.stanza.attr.type == "groupchat") then
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 return event.origin.send(st.error_reply(event.stanza, "modify", "policy-violation", "OTR encryption is required for conversations on this server"));
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 end
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 end
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 module:hook("pre-message/bare", reject_plaintext_messages, 300);
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 module:hook("pre-message/full", reject_plaintext_messages, 300);
dfe1818962f5 mod_require_otr: New module to (attempt to) require that all messages are encrypted with OTR (credit for the idea goes to Gregory Maxwell on the liberationtech mailing list)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 module:hook("pre-message/host", reject_plaintext_messages, 300);