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