powered by Jive Software

Wildfire SOCKS5 proxy server returns always ''00'' reply to clients

Dear sirs,

with the help of Alex i finally managed to engage a file transfer between Spark and my App using Jep0065,jep0095 and jep0096.

The problem is that when i use the CONNECT command to the Wildfire SOCKS5 proxy server, it always returns me the reply ‘‘00’’ which means that I am connected!

I suppose that when the Target tries to CONNECT to Wildfire SOCKS5 server, the server only checks parameters and don’'t really check the HASHED HOST as jep0065 dictates ( SHA1(SIDInitiatorTarget) ).

Possibly the Server matches the HASHED HOSTS from the Target and the Initiator only at the Activate command from the Initiator in order to “set the link”.

I have seen it happening in my App and also I can figure out this, from a conversation with Alex, who told me that Wildfire PROXY returns the OK reply to the Target (when he tryies to CONNECT to Wildfire SOCKS5 Proxy server) before[/b] the Initiator activates the stream.

This approach was arised from the fact that Jep0065 isn’‘t clear about how many OK (’‘00’’) replies the SOCKS5 server should sent to the client who wants to connect to him…

Finally i think i figured out what the jep is talking about.

My position is that indeed the SOCKS5 server should not send the ‘‘00’’ reply to the client connecting to him just after the client pushes the CONENCT comamnd to him.

The server should wait for an Initiator to Activate a stream with a HASHED host which will match with that of the Target’'s, in order to send to the Target the CONNECTED reply.

Also, the Target, as Jep0065 dictates, should indeed sent the StreamHostUsed reply to the Initiator just after he Authenticates to the SOCKS5 server (wildfire) and not waiting for the CONNECT command to conclude (either to OK or ERROR).

This way, the Target will[/b] Activate the stream so that Wildfire will[/b] be able to match the HASHED HOST and then Wildfire will[/b] return the CONNECTED reply to the Target only when there is really a transfer going on based on his HASHED host.

Finally, the Target should receive only one ‘‘00’’ REPLY (if everything is ok) and that will be after the Initiator activates the stream. In that case the Target remove the ‘‘00’’ from the received bytes and the rest is the start of the file that is going to receive.

Of course this change would be quite difficult, but at least I am trying to “decipher” jeps0065 meaning.


Message was edited by: mayprog