Ticket #8048 (closed Patch: fixed)

Opened 2 years ago

Last modified 7 months ago

Support SOCKS 4

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

Description

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

8084.patch Download (7.3 KB) - added by esminis 19 months ago.
Updated implementation

Change History

Changed 22 months ago by esminis

  • type changed from Feature request to Patch

Added implementation for this feature

Changed 20 months ago by codesquid

  • status changed from new to moreinfo

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.

Changed 19 months ago by esminis

Updated implementation

Changed 19 months ago by esminis

  • status changed from moreinfo to new

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).

Changed 7 months ago by codesquid

  • status changed from new to closed
  • resolution set to fixed

Thanks, applied.

Note: See TracTickets for help on using tickets.