Mercurial > prosody-modules
annotate mod_require_otr/mod_require_otr.lua @ 5354:39d59d857bfb
mod_http_oauth2: Use new mod_cron API for periodic cleanup
Less frequent but this isn't that important after all since, as the
comment states, expired codes are not usable anyway. They're also not
that large so memory usage probably doesn't matter.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Apr 2023 11:59:52 +0200 |
parents | dfe1818962f5 |
children |
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); |