Annotate

mod_s2s_blacklist/mod_s2s_blacklist.lua @ 5671:c217f4edfc4f

misc/mtail: Start of an mtail config Stashing it here in case anyone wants to continue working on it. Currently it's only counting log messages by level. Due to the permissions set by systemd on Prosody logs, mtail never managed to start correctly until permissions were manually relaxed.
author Kim Alvefur <zash@zash.se>
date Sun, 17 Sep 2023 13:36:30 +0200
parent 2893:d958558e0058
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1179
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local st = require "util.stanza";
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
1325
b21236b6b8d8 Backed out changeset 853a382c9bd6
Kim Alvefur <zash@zash.se>
parents: 1324
diff changeset
3 local blacklist = module:get_option_inherited_set("s2s_blacklist", {});
1179
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 module:hook("route/remote", function (event)
1325
b21236b6b8d8 Backed out changeset 853a382c9bd6
Kim Alvefur <zash@zash.se>
parents: 1324
diff changeset
6 if blacklist:contains(event.to_host) then
2893
d958558e0058 mod_s2s_blacklist: Don't send error replies for error stanzas
Kim Alvefur <zash@zash.se>
parents: 1325
diff changeset
7 if event.stanza.attr.type ~= "error" then
d958558e0058 mod_s2s_blacklist: Don't send error replies for error stanzas
Kim Alvefur <zash@zash.se>
parents: 1325
diff changeset
8 module:send(st.error_reply(event.stanza, "cancel", "not-allowed", "Communication with this domain is restricted"));
d958558e0058 mod_s2s_blacklist: Don't send error replies for error stanzas
Kim Alvefur <zash@zash.se>
parents: 1325
diff changeset
9 end
1179
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 return true;
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 end
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 end, 100);
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 module:hook("s2s-stream-features", function (event)
1325
b21236b6b8d8 Backed out changeset 853a382c9bd6
Kim Alvefur <zash@zash.se>
parents: 1324
diff changeset
15 if blacklist:contains(event.origin.from_host) then
1179
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 event.origin:close({
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 condition = "policy-violation";
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 text = "Communication with this domain is restricted";
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 });
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 end
27b4e01ddbc4 mod_s2s_blacklist: A new _simple_ s2s blacklist module
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 end, 1000);