File transfer problem

Hello!

I’m using Openfire Server 3.6.0 and have some problems with file transfer.

When I try to transfer a file on localhost - all is OK, because server doesn’t act as proxy. But when I try to transfer a file through remote server - transfer failed.

I’ve used different jabber-clients: Adium, Psi, Pidgin, Miranda, Spark with same result.

Here is debug log from Pidgin (trying to transfer files from Pidgin to Adium):

(22:42:28) jabber: Recv (ssl)(357): <iq type="result" to="admin@dvlp.shtrih-m.ru/Home" id="purpled182a488" from="alur@dvlp.shtrih-m.ru/AlurMac"><si xmlns="http://jabber.org/protocol/si"><feature xmlns="http://jabber.org/protocol/feature-neg"><x xmlns="jabber:x:data" type="submit"><field var="stream-method"><value>http://jabber.org/protocol/bytestreams</value></field></x></feature></si></iq>
(22:42:28) network: Listening on port: 8245
(22:42:30) network: Couldn't create UPnP mapping
(22:42:30) network: Couldn't create UPnP mapping
(22:42:30) stun: using server (22:42:30) jabber: jabber_si_xfer_bytestreams_listen_cb() will be looking at jsx 01AD42D0: jsx->streamhosts 00000000 and sh->jid 01B1DDA0(22:42:30) jabber: Sending (ssl): <iq type='set' id='purpled182a493' to='alur@dvlp.shtrih-m.ru/AlurMac'><query xmlns='http://jabber.org/protocol/bytestreams' sid='purpled182a489'><streamhost jid='admin@dvlp.shtrih-m.ru/Home' host='192.168.204.1' port='8245'/><streamhost jid='proxy.dvlp.shtrih-m.ru' host='10.11.0.4' port='7777'/></query></iq>
(22:42:33) jabber: Sending (ssl): <iq type='get' id='purpled2e84e6'><ping xmlns='urn:xmpp:ping'/></iq>
(22:42:36) jabber: Recv (ssl)(357): <iq type="result" to="admin@dvlp.shtrih-m.ru/Home" id="purpled182a47c" from="alur@dvlp.shtrih-m.ru/AlurMac"><si xmlns="http://jabber.org/protocol/si"><feature xmlns="http://jabber.org/protocol/feature-neg"><x xmlns="jabber:x:data" type="submit"><field var="stream-method"><value>http://jabber.org/protocol/bytestreams</value></field></x></feature></si></iq>
(22:42:55) jabber: Sending (ssl): <iq type='get' id='purple45db12f'><ping xmlns='urn:xmpp:ping'/></iq>
(22:43:01) jabber: Recv (ssl)(213): <iq type="error" id="purpled182a493" to="admin@dvlp.shtrih-m.ru/Home" from="alur@dvlp.shtrih-m.ru/AlurMac"><error code="404" type="cancel"><item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
(22:43:01) jabber: jabber_si_xfer_free(): freeing jsx 01AD42D0(22:43:01) jabber: in jabber_si_xfer_cancel_send
(22:43:03) jabber: Sending (ssl): <iq type='get' id='purpled2e84e7'><ping xmlns='urn:xmpp:ping'/></iq>
(22:47:51) jabber: Sending (ssl): <iq type='result' to='alur@dvlp.shtrih-m.ru/AlurMac' id='purple98a67fbd'><si xmlns='http://jabber.org/protocol/si'><feature xmlns='http://jabber.org/protocol/feature-neg'><x xmlns='jabber:x:data' type='submit'><field var='stream-method'><value>http://jabber.org/protocol/bytestreams</value></field></x></feature></si></iq>
(22:47:52) jabber: Recv (ssl)(345): <iq type="set" id="purple98a67fbf" to="admin@dvlp.shtrih-m.ru/Home" from="alur@dvlp.shtrih-m.ru/AlurMac"><query xmlns="http://jabber.org/protocol/bytestreams" sid="purple98a67fbe"><streamhost jid="alur@dvlp.shtrih-m.ru/AlurMac" host="192.168.1.9" port="56061"/><streamhost jid="proxy.dvlp.shtrih-m.ru" host="10.11.0.4" port="7777"/></query></iq>
(22:47:52) dnsquery: Performing DNS lookup for 192.168.1.9
(22:47:52) dnsquery: IP resolved for 192.168.1.9
(22:47:52) proxy: Attempting connection to 192.168.1.9
(22:47:52) proxy: Connecting to f16850700f45afc7e2a24b5be1b1394f1e29ff36:0 via 192.168.1.9:56061 using SOCKS5
(22:47:52) socks5 proxy: Connection in progress
(22:48:03) jabber: Sending (ssl): <iq type='get' id='purpled2e84f1'><ping xmlns='urn:xmpp:ping'/></iq>
(22:48:07) jabber: Streamhost connection timeout of 15 seconds exceeded.
(22:48:07) jabber: si connection failed, jid was alur@dvlp.shtrih-m.ru/AlurMac, host was 192.168.1.9, error was Timeout Exceeded.
(22:48:07) dnsquery: Performing DNS lookup for 10.11.0.4
(22:48:07) dnsquery: IP resolved for 10.11.0.4
(22:48:07) proxy: Attempting connection to 10.11.0.4
(22:48:07) proxy: Connecting to f16850700f45afc7e2a24b5be1b1394f1e29ff36:0 via 10.11.0.4:7777 using SOCKS5
(22:48:07) socks5 proxy: Connection in progress
(22:48:08) jabber: Sending (ssl): <iq type='get' id='purple29d4b4e3'><ping xmlns='urn:xmpp:ping'/></iq>
(22:48:22) jabber: Recv (ssl)(72): <iq type="result" id="purpled182a4a4" to="admin@dvlp.shtrih-m.ru/Home"/>
(22:48:22) jabber: Streamhost connection timeout of 15 seconds exceeded.
(22:48:22) jabber: si connection failed, jid was proxy.dvlp.shtrih-m.ru, host was 10.11.0.4, error was Timeout Exceeded.
(22:48:22) jabber: Sending (ssl): <iq type='error' id='purple98a67fbf' to='alur@dvlp.shtrih-m.ru/AlurMac'><error code='404' type='cancel'><item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
(22:48:22) jabber: jabber_si_xfer_free(): freeing jsx 0306B890(22:48:22) jabber: in jabber_si_xfer_cancel_recv

And here is an example of error from Openfire error.log:

2008.11.04 15:53:18 [org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$1$1.run(Pr oxyConnectionManager.java:115)
] Error processing file transfer proxy connection
java.io.IOException: Illegal proxy transfer
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.processConn ection(ProxyConnectionManager.java:192)
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.access$100( ProxyConnectionManager.java:44)
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$1$1.run(Pro xyConnectionManager.java:112)
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)

Please, help me solve this problem!