Re: [RFC] Native FTP proxying

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Tue, 12 Mar 2013 13:21:56 +1300

On 12/03/2013 1:04 p.m., Alex Rousskov wrote:
> 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".

Yes "Gateway" in the name please.

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

Replied directly.

Amos
Received on Tue Mar 12 2013 - 00:22:06 MDT

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