Mercurial > prosody-modules
comparison mod_sift/mod_sift.lua @ 140:9a632cf13f51
mod_sift: Don't sift IQ errors and results.
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sat, 06 Mar 2010 22:23:25 +0500 |
| parents | 3165e56f96a1 |
| children | b42a88eba9ba |
comparison
equal
deleted
inserted
replaced
| 139:3165e56f96a1 | 140:9a632cf13f51 |
|---|---|
| 92 | 92 |
| 93 -- IQ handler | 93 -- IQ handler |
| 94 module:hook("iq/full", function(event) | 94 module:hook("iq/full", function(event) |
| 95 local origin, stanza = event.origin, event.stanza; | 95 local origin, stanza = event.origin, event.stanza; |
| 96 local siftdata = data[stanza.attr.to]; | 96 local siftdata = data[stanza.attr.to]; |
| 97 if siftdata and siftdata.iq then -- we seem to have an IQ filter | 97 if stanza.attr.type == "get" or stanza.attr.type == "set" then |
| 98 local tag = stanza.tags[1]; -- the IQ child | 98 if siftdata and siftdata.iq then -- we seem to have an IQ filter |
| 99 if not siftdata.iq[(tag.attr.xmlns or "jabber:client").."|"..tag.name] then | 99 local tag = stanza.tags[1]; -- the IQ child |
| 100 -- element not allowed; sending back generic error | 100 if not siftdata.iq[(tag.attr.xmlns or "jabber:client").."|"..tag.name] then |
| 101 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); | 101 -- element not allowed; sending back generic error |
| 102 return true; | 102 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); |
| 103 return true; | |
| 104 end | |
| 103 end | 105 end |
| 104 end | 106 end |
| 105 end, 50); | 107 end, 50); |
| 106 | 108 |
| 107 -- Message to full JID handler | 109 -- Message to full JID handler |
