mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)

Thu, 22 Nov 2012 18:59:10 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Thu, 22 Nov 2012 18:59:10 +0000
changeset 926
f88381a39c56
parent 860
1c886affb375
child 927
a9dfa7232d88

mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)

mod_block_subscribes/mod_block_subscribes.lua file | annotate | diff | comparison | revisions
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_block_subscribes/mod_block_subscribes.lua	Thu Nov 22 18:59:10 2012 +0000
@@ -0,0 +1,13 @@
+local allowed_presence_types = { probe = true, unavailable = true };
+
+function filter_presence(event)
+	local stanza = event.stanza;
+	local presence_type = stanza.attr.type;
+	if presence_type == nil or allowed_presence_types[presence_type] then
+		return;
+	end
+	return true; -- Drop
+end
+
+module:hook("pre-presence/bare", filter_presence, 200); -- Client sending
+module:hook("presence/bare", filter_presence, 200); -- Client receiving

mercurial