Diff

mod_block_subscribes/mod_block_subscribes.lua @ 926:f88381a39c56

mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
author Matthew Wild <mwild1@gmail.com>
date Thu, 22 Nov 2012 18:59:10 +0000
line wrap: on
line diff
--- /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