Opened 12 years ago

Closed 10 years ago

#8048 closed Patch (fixed)

Support SOCKS 4

Reported by: Raphael_FR Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc:
Component version: Operating system type:
Operating system version:


In the version 2.x of FileZilla, we have the functionnality of "SOCKS 4" in the Proxy.

Some Proxy like Microsoft TMG use only SOCKS 4 and not SOCKS 5, so we can't use FileZilla with this software and it is a missing.

Could you re-add this functionnality ?

Attachments (1)

8084.patch (7.3 KB ) - added by Tautvydas Andrikys 11 years ago.
Updated implementation

Download all attachments as: .zip

Change History (5)

comment:1 by Tautvydas Andrikys, 11 years ago

Type: Feature requestPatch

Added implementation for this feature

comment:2 by Tim Kosse, 11 years ago

Status: newmoreinfo

Thanks, however there are a couple of issues with your patch which need to be fixed before your patch can be applied:

1) wxIPV4address::Hostname is blocking, it can potentially block for minutes. Use asynchronous host lookup instead.

2) In CProxySocket::OnReceive(), you need to take care of partial reads. You expect to receive 8 bytes total, but it can happen that they arrive one byte at a time.

3) Likewise, server might close connection, you're not handling that case either.

4) Due to 2) and 3), you're reading from uninitialized memory.

5) Even in case of error reply from the proxy, you're changing connection state to connected.

6) Please test SFTP over SOCKS 4

7) Double keyboard mnemonic in settings dialog, can't use S as mnemonic for both SOCKS4 and SOCKS5.

by Tautvydas Andrikys, 11 years ago

Attachment: 8084.patch added

Updated implementation

comment:3 by Tautvydas Andrikys, 11 years ago

Status: moreinfonew

I have fixed/tested #2 - #7, but did not implement #1, couse it would require to implement async hostname lookup(current async lookup in socket class wont fit here).

comment:4 by Tim Kosse, 10 years ago

Resolution: fixed
Status: newclosed

Thanks, applied.

Note: See TracTickets for help on using tickets.