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; |