Subject: Re: [BEHAVE] Questions on draft-ietf-behave-ftp64-00.txt

From: Iljitsch van Beijnum <[email-masked]>
Date: Sun, 2 May 2010 23:25:03 +0200

On 9 mrt 2010, at 1:47, Michael Lui (milui) wrote:

>    Why is translation of EPRT through a stateful translator more
> difficult? Pls clarify.

New text:

because a translation mapping must be set up. This needs to happen before the EPRT command can be translated into a PORT command and passed on to the server.

>       Not sure what kind of "options" should be allowed? Can you
> clarify this in the doc?

Telnet options. Changed "options" to "Telnet options".

> 3) In 4.2 "EPSV to PASV translation", it mentions:
>   "..    If the client issues EPSV ALL, the FTP ALG must not pass this
> command
>          to the server, but respond with:
> 
>          202 Command not implemented.
>    "

>    Is it a MUST to respond 202 to the client? Is it acceptable not
> sending anything back to the client?

I don't think it mentions anywhere in the FTP specification that responding to commands is mandatory, however, I believe NOT responding to commands will break the protocol. I added:

An ALG MAY choose to translate the EPSV ALL command into a NOOP command and then the 200 reply into the 504 reply that is listed above. If the server responds with something other than 200, the ALG MUST tear down the control channel session and log an error.

(I changed 202 to 504 because otherwise clients may think EPSV is not implemented while it's just the "all" parameter that is problematic.)

> 4) When an IPv6 client sends PASV to a IPv4 server, does FTP ALG needs
> to do anything? Will the PASV command and response remain intact?

Yes. (Added text.)