Software /
code /
prosody
Diff
plugins/mod_proxy65.lua @ 3692:117778c5a7fe
mod_proxy65: s:len() -> #s.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Fri, 03 Dec 2010 00:21:49 +0500 |
parent | 3691:07f789ac7e3c |
child | 3693:519f5eadf4b9 |
line wrap: on
line diff
--- a/plugins/mod_proxy65.lua Fri Dec 03 00:13:30 2010 +0500 +++ b/plugins/mod_proxy65.lua Fri Dec 03 00:21:49 2010 +0500 @@ -33,7 +33,7 @@ function connlistener.onincoming(conn, data) local session = sessions[conn] or {}; - if session.setup == nil and data ~= nil and data:byte(1) == 0x05 and data:len() > 2 then + if session.setup == nil and data ~= nil and data:byte(1) == 0x05 and #data > 2 then local nmethods = data:byte(2); local methods = data:sub(3); local supported = false; @@ -63,7 +63,7 @@ return; end end - if data ~= nil and data:len() == 0x2F and -- 40 == length of SHA1 HASH, and 7 other bytes => 47 => 0x2F + if data ~= nil and #data == 0x2F and -- 40 == length of SHA1 HASH, and 7 other bytes => 47 => 0x2F data:byte(1) == 0x05 and -- SOCKS5 has 5 in first byte data:byte(2) == 0x01 and -- CMD must be 1 data:byte(3) == 0x00 and -- RSV must be 0 @@ -86,7 +86,7 @@ server.link(conn, transfers[sha].target, max_buffer_size); server.link(transfers[sha].target, conn, max_buffer_size); end - conn:write(string.char(5, 0, 0, 3, sha:len()) .. sha .. string.char(0, 0)); -- VER, REP, RSV, ATYP, BND.ADDR (sha), BND.PORT (2 Byte) + conn:write(string.char(5, 0, 0, 3, #sha) .. sha .. string.char(0, 0)); -- VER, REP, RSV, ATYP, BND.ADDR (sha), BND.PORT (2 Byte) conn:lock_read(true) else module:log("warn", "Neither data transfer nor initial connect of a participator of a transfer.")