[RFC] Native FTP proxying

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Mon, 11 Mar 2013 18:04:11 -0600

On 09/04/2012 03:04 PM, Henrik Nordström wrote:
>>> A FTP client-side might be accepted, allowing Squid to act as an
>>> ftp->ftp gateway using HTTP semantics internally, even accepting
>>> ftp->http gatewaying if you want. But not sure it makes sense to add
>>> native FTP proxy support.

>> Can you clarify the difference between "ftp->ftp gateway" and "native
>> FTP proxy support"? Please assume that we are "using HTTP semantics
>> internally" in both cases, which I interpret as not altering the
>> forward.cc and Store code much -- the new FTP code will convert FTP
>> commands into HTTP messages for internal processing and the code outside
>> FTP client and server modules will remain pretty much the same.

> An ftp->ftp gateway using HTTP semantics internally is a FTP server
> component (client_side..) that accepts FTP commands from FTP clients and
> maps them to HTTP semantics which is then proxied by Squid.
>
> Native FTP proxy support means acting as an FTP proxy relaying FTP
> commands between client and requested server without going via an
> internal HTTP sematics mapping.
>
>
> The first is very feasible and maps nicely to Squid.

I started documenting that approach at
http://wiki.squid-cache.org/Features/NativeFtp

I am not sure the name of that wiki URL is correct because it sounds
like "native FTP" in Squid context means more than "listening for native
FTP commands" to Henrik and possibly others. To me, Squid internals
(i.e., how the FTP commands and replies are forwarded inside Squid)
should not matter when naming this feature, but I can rename if others
think that "FtpGateway" is better than "NativeFtp".

The initial implementation will not allow any caching or filtering by
file names with full paths because tracking true "current directory"
within an FTP session is difficult (as we discussed a little on this
thread). I think there are a few ways it can be done with a high
probability of success, but those ways should be finalized and discussed
later, once the basic FTP mapping and forwarding code is working IMO.

The current wiki page documents overall feature functionality and
FTP<->HTTP mapping basics. Comments and suggestions are welcomed.

Thank you,

Alex.
Received on Tue Mar 12 2013 - 00:04:25 MDT

This archive was generated by hypermail 2.2.0 : Tue Mar 12 2013 - 12:00:06 MDT