Mercurial > prosody-modules
annotate mod_require_otr/mod_require_otr.lua @ 5472:b80b6947b079
mod_http_oauth2: Always show early errors to user
Before having validated the client_id, communicating an error back to
the client via redirect would make this an open redirect, so we may just
as well skip past that logic, and especially the warning log message.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 18 May 2023 13:43:17 +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); |