I use proxy for file transfer. when i transfer file to the other user,but he does not accept file as soon as he get the invitation message. After a long time(for example,half an hour later),when he clicked acept button, the file can’'t transfer. The problem happens during the process of Target Establishes SOCKS5 Connection with StreamHost.
after send SOCKS request as follow:
----–-+–-+–+
+–
VER
REP
RSV
ATYP
BND.ADDR
BND.PORT
----–-+–-+–+
+–
1
1
X’‘00’’
1
Variable
2
----–-+–-+–+
+–
where:
o VER : X’‘05’’
o CMD: X’‘01’’
o RSV : X’‘00’’
o ATYP: X’'03
…
the The server returns a reply in which the value of Reply field is X’‘02’’ (connection not allowed by ruleset)
why this happens?when the file transfer fails,the openfire error log of server is as follow:
2007.07.16 14:40:36 [org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$1$1.run(Pr oxyConnectionManager.java:110)
] Error processing file transfer proxy connection
java.io.IOException: Illegal proxy transfer
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.processConn ection(ProxyConnectionManager.java:187)
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.access$100( ProxyConnectionManager.java:39)
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$1$1.run(Pro xyConnectionManager.java:107)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2007.07.16 14:41:25 [org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$2.run(Prox yConnectionManager.java:296)
] Error during file transfer
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.jivesoftware.openfire.filetransfer.proxy.DefaultProxyTransfer.doTransfer(De faultProxyTransfer.java:129)
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$2.run(Proxy ConnectionManager.java:293)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)