Software / code / prosody
Comparison
core/stanza_router.lua @ 854:b9cfc9d5496a
core.stanza_router: Don't bounce errors to iq type=result/error
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 02 Mar 2009 19:45:44 +0000 |
| parent | 848:b1f3977fd140 |
| child | 894:b61c3589cd7b |
| child | 896:2c0b9e3c11c3 |
comparison
equal
deleted
inserted
replaced
| 853:c0a40522041e | 854:b9cfc9d5496a |
|---|---|
| 271 reply.attr.from = to; | 271 reply.attr.from = to; |
| 272 origin.send(reply); | 272 origin.send(reply); |
| 273 end | 273 end |
| 274 -- TODO allow configuration of offline storage | 274 -- TODO allow configuration of offline storage |
| 275 -- TODO send error if not storing offline | 275 -- TODO send error if not storing offline |
| 276 elseif stanza.name == "iq" then | 276 elseif stanza.name == "iq" and (stanza.attr.type == "get" or stanza.attr.type == "set") then |
| 277 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); | 277 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); |
| 278 end | 278 end |
| 279 else -- user does not exist | 279 else -- user does not exist |
| 280 -- TODO we would get here for nodeless JIDs too. Do something fun maybe? Echo service? Let plugins use xmpp:server/resource addresses? | 280 -- TODO we would get here for nodeless JIDs too. Do something fun maybe? Echo service? Let plugins use xmpp:server/resource addresses? |
| 281 if stanza.name == "presence" then | 281 if stanza.name == "presence" then |
| 282 local t = stanza.attr.type; | 282 local t = stanza.attr.type; |
| 283 if t == "subscribe" or t == "probe" then | 283 if t == "subscribe" or t == "probe" then |
| 284 origin.send(st.presence({from = to_bare, to = from_bare, type = "unsubscribed"})); | 284 origin.send(st.presence({from = to_bare, to = from_bare, type = "unsubscribed"})); |
| 285 end | 285 end |
| 286 -- else ignore | 286 -- else ignore |
| 287 else | 287 elseif stanza.attr.type ~= "error" and (stanza.name ~= "iq" or stanza.attr.type ~= "result") then |
| 288 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); | 288 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); |
| 289 end | 289 end |
| 290 end | 290 end |
| 291 end | 291 end |
| 292 elseif origin.type == "c2s" then | 292 elseif origin.type == "c2s" then |