Re: [ftpext] draft-peterson-streamlined-ftp-command-extensions

"Mark P. Peterson" <mpp@rhinosoft.com> Wed, 24 November 2010 13:57 UTC

Return-Path: <prvs=1944f83767=mpp@rhinosoft.com>
X-Original-To: ftpext@core3.amsl.com
Delivered-To: ftpext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AED963A6A58 for <ftpext@core3.amsl.com>; Wed, 24 Nov 2010 05:57:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.109
X-Spam-Level:
X-Spam-Status: No, score=-2.109 tagged_above=-999 required=5 tests=[AWL=0.190, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i0wRZKk6OXdK for <ftpext@core3.amsl.com>; Wed, 24 Nov 2010 05:57:14 -0800 (PST)
Received: from rhinosoft.com (mail1.rhinosoft.com [97.88.242.106]) by core3.amsl.com (Postfix) with ESMTP id 49CBE3A6A51 for <ftpext@ietf.org>; Wed, 24 Nov 2010 05:57:13 -0800 (PST)
Received: from MPNOTEBOOK ([192.168.1.20]) (authenticated user mpp@rhinosoft.com) by rhinosoft.com (rhinosoft.com [127.0.0.1]) (MDaemon PRO v11.0.3) with ESMTP id md50009936413.msg for <ftpext@ietf.org>; Wed, 24 Nov 2010 07:58:13 -0600
X-Spam-Processed: rhinosoft.com, Wed, 24 Nov 2010 07:58:13 -0600 (not processed: spam filter heuristic analysis disabled)
X-Authenticated-Sender: mpp@rhinosoft.com
X-MDRemoteIP: 192.168.1.20
X-Return-Path: prvs=1944f83767=mpp@rhinosoft.com
X-Envelope-From: mpp@rhinosoft.com
X-MDaemon-Deliver-To: ftpext@ietf.org
Message-ID: <24FEC9729BA54CC7B08C13D51785BB1F@rhinooffice.net>
From: "Mark P. Peterson" <mpp@rhinosoft.com>
To: Ángel González <keisial@gmail.com>
References: <A5FC996C3C37DC4DA5076F1046B5674C442CE618@TK5EX14MBXC125.redmond.corp.microsoft.com> <4CEC5427.1070605@gmail.com>
In-Reply-To: <4CEC5427.1070605@gmail.com>
Date: Wed, 24 Nov 2010 07:58:06 -0600
Organization: Rhino Software, Inc.
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 14.0.8089.726
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726
Cc: ftpext@ietf.org
Subject: Re: [ftpext] draft-peterson-streamlined-ftp-command-extensions
X-BeenThere: ftpext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <ftpext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ftpext>, <mailto:ftpext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ftpext>
List-Post: <mailto:ftpext@ietf.org>
List-Help: <mailto:ftpext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ftpext>, <mailto:ftpext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Nov 2010 13:57:15 -0000

Hi Ángel,

RMDA
-------
> If the folder being RMDAed is not deletable by the logged in user, the
server MAY -based both on its configuration and user credentials-
directly reject the command. On the other hand, if it deletes one file
(and can not rollback the operation), it must continue the whole subtree.

I will add this to the document.

THMB
-------
>  It should allow full MIME types, so an application/x-better-image-format could be used.

I cannot find a reason to disagree, so I agree that following a standard for
identifying the thumbnail type should be used.  I could use your help here
clarifying my document.

> I also prefer the OPTS syntax, since that would allow larger options and
extensions, such as:...

I prefer specifying the parameters in the command for two primary reasons.

1) By requiring a client to use OPTS to specify output type and resolution
the client and server must exchange this information in a separate command.
Commands require a handshake and consequently some latency between the
server and client for the exchange.  Depending on many different factors this
latency, even on a fast connection, can be noticeable.  If the client wants different
sized images frequently, let's say for every thumbnail image, it would be
even more noticeable.  The bandwidth required to specify 10 bytes or less as a
parameter to the command is trivial by comparison even on the slowest
connections.

2) By requiring a client to use OPTS to identify the parameters, both the client
and the server must maintain the parameters for this command, more-or-less
as a state.  I'm a big fan of keeping things very simple.

3) End-user support is easier when parameters are specified with the command.
When end-users or customers have problems they'll often provide a portion of a
log to identify what is going on with the communication between the server and
client.  Technicians analyzing the log may not have all of the required information
regarding the THMB command.  With the parameters being issued with the
command analysis is far simpler and accurate.

> There should be a note about the potential security issues of the THMB
command. Vulnerabilities processing images are common.

Could you give me some examples or how you would like to see this worded
and where you would like to see this placed in the document?

Mark P. Peterson - President
http://www.RhinoSoft.com
Voice: +1(262) 560-9627
FAX: +1(262) 560-9628


--------------------------------------------------
From: "Ángel González" <keisial@gmail.com>
Sent: Tuesday, November 23, 2010 5:54 PM
To: <ftpext@ietf.org>
Cc: "Robert McMurray" <robmcm@microsoft.com>; <anthonybryan@gmail.com>; <mark.peterson@rhinosoft.com>; <mb@smartftp.com>
Subject: Re: [ftpext] draft-peterson-streamlined-ftp-command-extensions

Hello all,

Robert McMurray wrote:
> RMDA - This could be a very useful command, and it would parallel the
> functionality that I'm sure we all typically use in a native operating
> system environment. In a server implementation I would probably make
> this command configurable, so administrators would have an option to
> disable the feature. In which case I would probably hide the command
> from a FEAT response so it would not be discoverable and have the
> server return a 500 or 502 reply when RMDA is sent by the client and
> disabled at the server.

I don't think a server should do that or be encouraged to. If a server
rejects a RMDA the client SHOULD fall back to a recursive listing and
removing.
As currently defined, on receiving a RMDA the server MUST delete
everything in the subpath the user is allowed to. I think that changing
it to also allow a not remove anything would solve the issue.
If the folder being RMDAed is not deletable by the logged in user, the
server MAY -based both on its configuration and user credentials-
directly reject the command. On the other hand, if it deletes one file
(and can not rollback the operation), it must continue the whole subtree.


About THMB:
The format is restricted to registered image subtypes. It should allow
full MIME types, so an application/x-better-image-format could be used.
And giving that step, always using the full mime for images would seem
more clear.

I also prefer the OPTS syntax, since that would allow larger options and
extensions, such as:

  C> OPTS THMB image/png 60 60 page=2
  S> 200 OPTS THMB PNG command successful.

  C> THMB document.doc
  S> 150 PNG Starting thumbnail transfer
  S> 226 Transfer complete.

for requesting a thumbnail for the second page of the document.

Since the OPTS would be given once at the beginning and then used for many files, it's also important for reducing its continuous 
repetition.


Robert McMurray wrote:
> That being said, I'm not a big fan of computing the thumbnail dynamically, nor am I fond of allowing the client to specify the 
> thumbnail format and size. I think that it would be better if the server could pre-cache thumbnails for any file type in a 
> server-determined size and image format, and then return the binary data and image format information to the client. For example, 
> most graphically-based operating systems have some method for displaying file icons to a user that is seated at a computer 
> terminal, so an FTP server implementation could simply return that same icon to a client in response to a THMB request.
Note that the server can compute it the first time, then cache the
thumbnails you have requested on previous sessions. Moreover, it could
get heuristics as 'Start prethumbnailing with the current options if it
has requested in order the thumbnails of the first three files in the
folder'.


There should be a note about the potential security issues of the THMB
command. Vulnerabilities processing images are common.



Mat Berchtold wrote:
> Server/Client fact requirement
> The draft proposes that the client must provide the name and version fact where for the server these facts are optional. For 
> equality both parties involved should have equal requirements/rights. My proposal is that all facts are optional. The reasoning is 
> that there is no need for the client to expose its name or version if it only wants to figure out the case sensitivity of the 
> server file system.
Sad as it is, it may be useful for implementing client-specific
workarounds in the server.