Software / code / prosody
Comparison
core/stanza_router.lua @ 1367:e4d660e58dfc
stanza_router: A little refactoring
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sat, 20 Jun 2009 17:51:00 +0500 |
| parent | 1358:71fbf8a52dcf |
| child | 1368:0cb70958b8fb |
comparison
equal
deleted
inserted
replaced
| 1366:54b5121b6c83 | 1367:e4d660e58dfc |
|---|---|
| 46 origin.send(st.error_reply(stanza, "modify", "bad-request")); | 46 origin.send(st.error_reply(stanza, "modify", "bad-request")); |
| 47 return; | 47 return; |
| 48 end | 48 end |
| 49 end | 49 end |
| 50 | 50 |
| 51 if origin.type == "c2s" and not origin.full_jid | |
| 52 and not(stanza.name == "iq" and stanza.attr.type == "set" and stanza.tags[1] and stanza.tags[1].name == "bind" | |
| 53 and stanza.tags[1].attr.xmlns == "urn:ietf:params:xml:ns:xmpp-bind") then | |
| 54 -- authenticated client isn't bound and current stanza is not a bind request | |
| 55 origin.send(st.error_reply(stanza, "auth", "not-authorized")); -- FIXME maybe allow stanzas to account or server | |
| 56 end | |
| 57 | |
| 58 -- TODO also, stanzas should be returned to their original state before the function ends | |
| 59 if origin.type == "c2s" then | 51 if origin.type == "c2s" then |
| 52 if not origin.full_jid | |
| 53 and not(stanza.name == "iq" and stanza.attr.type == "set" and stanza.tags[1] and stanza.tags[1].name == "bind" | |
| 54 and stanza.tags[1].attr.xmlns == "urn:ietf:params:xml:ns:xmpp-bind") then | |
| 55 -- authenticated client isn't bound and current stanza is not a bind request | |
| 56 origin.send(st.error_reply(stanza, "auth", "not-authorized")); -- FIXME maybe allow stanzas to account or server | |
| 57 end | |
| 58 | |
| 59 -- TODO also, stanzas should be returned to their original state before the function ends | |
| 60 stanza.attr.from = origin.full_jid; | 60 stanza.attr.from = origin.full_jid; |
| 61 end | 61 end |
| 62 local to, xmlns = stanza.attr.to, stanza.attr.xmlns; | 62 local to, xmlns = stanza.attr.to, stanza.attr.xmlns; |
| 63 local from = stanza.attr.from; | 63 local from = stanza.attr.from; |
| 64 local node, host, resource; | 64 local node, host, resource; |