mod_block_strangers/mod_block_strangers.lua
changeset 2064 bd0c5d546bf8
parent 1933 82834df1dea6
child 2200 09f6e1a09b2b
equal deleted inserted replaced
2063:e96a86561f3e 2064:bd0c5d546bf8
     7 function check_subscribed(event)
     7 function check_subscribed(event)
     8 	local stanza = event.stanza;
     8 	local stanza = event.stanza;
     9 	local to_user, to_host, to_resource = jid_split(stanza.attr.to);
     9 	local to_user, to_host, to_resource = jid_split(stanza.attr.to);
    10 	local from_jid = jid_bare(stanza.attr.from);
    10 	local from_jid = jid_bare(stanza.attr.from);
    11 	if to_user and not is_contact_subscribed(to_user, to_host, from_jid) then
    11 	if to_user and not is_contact_subscribed(to_user, to_host, from_jid) then
    12 		if to_resource and stanza.attr.type == "groupchat" then
    12 		if to_resource and stanza.attr.type == "groupchat"
       
    13 		or stanza.name == "iq" and (stanza.attr.type == "result" or stanza.attr.type == "error") then
    13 			return nil; -- Pass through
    14 			return nil; -- Pass through
    14 		end
    15 		end
    15 		if stanza.name == "iq" and ( stanza.attr.type == "get" or stanza.attr.type == "set" ) then
    16 		if stanza.name == "iq" and ( stanza.attr.type == "get" or stanza.attr.type == "set" ) then
    16 			event.origin.send(st.error_reply(stanza, "cancel", "service-unavailable"));
    17 			event.origin.send(st.error_reply(stanza, "cancel", "service-unavailable"));
    17 		end
    18 		end