Mercurial > prosody-modules
comparison mod_tcpproxy/mod_tcpproxy.lua @ 1865:db8b256f51ff
mod_admin_web,mod_carbons,mod_csi_compat,mod_mam_muc,mod_tcpproxy: Explicitly return true
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 21 Sep 2015 20:03:08 +0200 |
| parents | 7dbde05b48a9 |
| children | 3804332c204e |
comparison
equal
deleted
inserted
replaced
| 1864:991a5f74f848 | 1865:db8b256f51ff |
|---|---|
| 44 if ibb_tag.name == "open" then | 44 if ibb_tag.name == "open" then |
| 45 -- Starting a new stream | 45 -- Starting a new stream |
| 46 local to_host, to_port = ibb_tag.attr[host_attr], ibb_tag.attr[port_attr]; | 46 local to_host, to_port = ibb_tag.attr[host_attr], ibb_tag.attr[port_attr]; |
| 47 local jid, sid = stanza.attr.from, ibb_tag.attr.sid; | 47 local jid, sid = stanza.attr.from, ibb_tag.attr.sid; |
| 48 if not (to_host and to_port) then | 48 if not (to_host and to_port) then |
| 49 return origin.send(st.error_reply(stanza, "modify", "bad-request", "No host/port specified")); | 49 origin.send(st.error_reply(stanza, "modify", "bad-request", "No host/port specified")); |
| 50 return true; | |
| 50 elseif not sid or sid == "" then | 51 elseif not sid or sid == "" then |
| 51 return origin.send(st.error_reply(stanza, "modify", "bad-request", "No sid specified")); | 52 origin.send(st.error_reply(stanza, "modify", "bad-request", "No sid specified")); |
| 53 return true; | |
| 52 elseif ibb_tag.attr.stanza ~= "message" then | 54 elseif ibb_tag.attr.stanza ~= "message" then |
| 53 return origin.send(st.error_reply(stanza, "modify", "bad-request", "Only 'message' stanza transport is supported")); | 55 origin.send(st.error_reply(stanza, "modify", "bad-request", "Only 'message' stanza transport is supported")); |
| 56 return true; | |
| 54 end | 57 end |
| 55 local conn, err = socket.tcp(); | 58 local conn, err = socket.tcp(); |
| 56 if not conn then | 59 if not conn then |
| 57 return origin.send(st.error_reply(stanza, "wait", "resource-constraint", err)); | 60 origin.send(st.error_reply(stanza, "wait", "resource-constraint", err)); |
| 61 return true; | |
| 58 end | 62 end |
| 59 conn:settimeout(0); | 63 conn:settimeout(0); |
| 60 | 64 |
| 61 local success, err = conn:connect(to_host, to_port); | 65 local success, err = conn:connect(to_host, to_port); |
| 62 if not success and err ~= "timeout" then | 66 if not success and err ~= "timeout" then |
| 63 return origin.send(st.error_reply(stanza, "wait", "remote-server-not-found", err)); | 67 origin.send(st.error_reply(stanza, "wait", "remote-server-not-found", err)); |
| 68 return true; | |
| 64 end | 69 end |
| 65 | 70 |
| 66 local listener,seq = {}, 0; | 71 local listener,seq = {}, 0; |
| 67 function listener.onconnect(conn) | 72 function listener.onconnect(conn) |
| 68 origin.send(st.reply(stanza)); | 73 origin.send(st.reply(stanza)); |
| 86 if conn then | 91 if conn then |
| 87 local data = unb64(ibb_tag:get_text()); | 92 local data = unb64(ibb_tag:get_text()); |
| 88 if data then | 93 if data then |
| 89 conn:write(data); | 94 conn:write(data); |
| 90 else | 95 else |
| 91 return origin.send( | 96 origin.send( |
| 92 st.error_reply(stanza, "modify", "bad-request", "Invalid data (base64?)") | 97 st.error_reply(stanza, "modify", "bad-request", "Invalid data (base64?)") |
| 93 ); | 98 ); |
| 99 return true; | |
| 94 end | 100 end |
| 95 else | 101 else |
| 96 return origin.send(st.error_reply(stanza, "cancel", "item-not-found")); | 102 origin.send(st.error_reply(stanza, "cancel", "item-not-found")); |
| 103 return true; | |
| 97 end | 104 end |
| 98 elseif ibb_tag.name == "close" then | 105 elseif ibb_tag.name == "close" then |
| 99 if close_session(stanza.attr.from, ibb_tag.attr.sid) then | 106 if close_session(stanza.attr.from, ibb_tag.attr.sid) then |
| 100 origin.send(st.reply(stanza)); | 107 origin.send(st.reply(stanza)); |
| 101 else | 108 else |
| 102 return origin.send(st.error_reply(stanza, "cancel", "item-not-found")); | 109 origin.send(st.error_reply(stanza, "cancel", "item-not-found")); |
| 110 return true; | |
| 103 end | 111 end |
| 104 end | 112 end |
| 105 end | 113 end |
| 106 | 114 |
| 107 local function stanza_handler(event) | 115 local function stanza_handler(event) |
