mod_privilege/mod_privilege.lua
changeset 1668 6bdcb1418029
parent 1667 ca07a6ada631
child 1669 746d94f37a4c
equal deleted inserted replaced
1667:ca07a6ada631 1668:6bdcb1418029
   285 		session.send(st.error_reply(stanza, 'auth', 'forbidden'))
   285 		session.send(st.error_reply(stanza, 'auth', 'forbidden'))
   286 	end
   286 	end
   287 
   287 
   288 	return true
   288 	return true
   289 end);
   289 end);
       
   290 
       
   291 
       
   292 --> presence permission <--
       
   293 
       
   294 module:hook("presence/bare", function(event)
       
   295 	if presence_man_ent:empty() then return; end
       
   296 	local session, stanza = event.origin, event.stanza;
       
   297 	if stanza.attr.to then return; end
       
   298 	if stanza.attr.type == nil or stanza.attr.type == "unavailable" then
       
   299 		for entity in presence_man_ent:items() do
       
   300 			if stanza.attr.from ~= entity then
       
   301 				presence_fwd = st.clone(stanza)
       
   302 				presence_fwd.attr.to = entity
       
   303 				module:log("debug", "presence forwarded to "..entity..": "..tostring(presence_fwd))
       
   304 				prosody.core_route_stanza(nil, presence_fwd)
       
   305 			end
       
   306 		end
       
   307 	end
       
   308 end, 150);