Re: [ftpext] COMB command IETF draft proposal

" Ángel González " <keisial@gmail.com> Thu, 09 June 2011 15:24 UTC

Return-Path: <keisial@gmail.com>
X-Original-To: ftpext@ietfa.amsl.com
Delivered-To: ftpext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B51C511E80FD for <ftpext@ietfa.amsl.com>; Thu, 9 Jun 2011 08:24:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.298
X-Spam-Level:
X-Spam-Status: No, score=-3.298 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zwDHme8R0QrB for <ftpext@ietfa.amsl.com>; Thu, 9 Jun 2011 08:24:14 -0700 (PDT)
Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com [74.125.82.172]) by ietfa.amsl.com (Postfix) with ESMTP id C33CC11E8109 for <ftpext@ietf.org>; Thu, 9 Jun 2011 08:24:13 -0700 (PDT)
Received: by wyb29 with SMTP id 29so1365993wyb.31 for <ftpext@ietf.org>; Thu, 09 Jun 2011 08:24:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type; bh=uJ9X1G2M1H0wDP8vl2BiYux2ghTpHA4gEt8BfYvdO9U=; b=paxAGLvLSu+Yl5gr0de+lwJa8P6zvaLdWV3RL5NsOp8lhKM7Y4NhQhjoe9HXjJLB7m 1Van0ubmYFZRYtDEELKo0fiwZEpTaxO+4jJ0EOfyEpWekaQOHag/6v5qfH3Zo9srE1mT 4moAiuH0dOQvJoi77JX8pAt3U8RrqS8joKk/8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; b=iSwXi61NlMXF1QBffMiqHfe9ZSdVLvB4jA86OrCDLF4GRJpMOTAc5ryJyO7yKcjnNn ZwFDghETfbLAGj5ngvvXuZP/iNpYhdwckAT7gjEkY5PYoKshoHJ5h6wiV6T8QMxR/u98 tH0qIrH+EAMTVB9+nlLe1QhPeuW6fk0qKrLDw=
Received: by 10.216.67.72 with SMTP id i50mr975021wed.29.1307633052590; Thu, 09 Jun 2011 08:24:12 -0700 (PDT)
Received: from [192.168.1.26] (143.red-80-28-70.adsl.dynamic.ccgg.telefonica.net [80.28.70.143]) by mx.google.com with ESMTPS id n20sm905299weq.15.2011.06.09.08.24.10 (version=SSLv3 cipher=OTHER); Thu, 09 Jun 2011 08:24:11 -0700 (PDT)
Message-ID: <4DF0E6C3.7020209@gmail.com>
Date: Thu, 09 Jun 2011 17:29:07 +0200
From: Ángel González <keisial@gmail.com>
User-Agent: Thunderbird
MIME-Version: 1.0
To: Robert Oslin <rto@globalscape.com>
References: <F15941D3C8A2D54D92B341C20CACDF2311AC408AB1@exchange>
In-Reply-To: <F15941D3C8A2D54D92B341C20CACDF2311AC408AB1@exchange>
Content-Type: multipart/alternative; boundary="------------040407010105020600050009"
Cc: "ftpext@ietf.org" <ftpext@ietf.org>
Subject: Re: [ftpext] COMB command IETF draft proposal
X-BeenThere: ftpext@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <ftpext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Thu, 09 Jun 2011 15:24:16 -0000

Robert Oslin wrote:
>
> "Any submission to the IETF intended by the Contributor for 
> publication as all or part of an IETF Internet-Draft or RFC and any 
> statement made within the context of an IETF activity is considered an 
> "IETF Contribution".
>
> It only took me 10+ years, but here's my contribution the FTP ext 
> community (attached).
>
I still have some cuteftp binary ~12 years old :)

> Essentially an early draft to ratify the commonly used COMB command 
> for support of multi-part (a.k.a accelerated) uploads. I welcome 
> comments/questions from the community. Ideally redlining the document 
> (or via comments in the doc). I will resubmit using formal IETF draft 
> (in ASCII) once I've addressed all comments/questions in the MS Word 
> version (hope that's ok and doesn't break and IETF rules).
>
Libreoffice opens it fine, but the Table of contents is garbled, and 
there's a footer 'Oslin Expires 
666666000000FailFailFailFailFailFailDecemberDecemberDecemberDecemberDecemberDecember 
9/06/11 6201192009201020102011' which I doubt is present in the original 
file.


I would change the text
>
> in the rare case COMB is used as an append rather than a create 
> operation, which is why a single (source) part pathname is supported.
>
to
 > in such case COMB appends the partial pathnames to the existent file.

Regardign the Client or Server delete question:
a) Which is the behavior of current implementors?

b) IMHO "The client MUST check that no partial files are left after they 
are no longer needed."
Note that some interrupted upload could have left temporary files, so 
the client should always check. I'd suggest in the rfc using some 
specific pattern that the can application can easily recognise, maybe 
even containing the hash of what's supposedly there.

So if connecting a new session, the client detects a file called 
partial-8418bfdb63bc5d6ccc434b33d6017cd4.tmp it could prompt the user 
about deleting temporary files it has found. But also, on resuming a 
temporary upload, that same file could be reused without needing to 
reupload it (eg. the connection dropped when uploading the 7th piece, on 
next run it can skip the first 6 blocks), by knowing which piece it is 
(from the hash) and verifying that the content indeed matches (with HASH 
command).
Another option would be basing the temporary names on the target name, 
eg: mybigfile.iso.1 mybigfile.iso.2... Same resuming capabilities are 
available, by knowing the file sizes (and the block size it uses when 
splitting) and usage of the hash command.

I would provide the server the ability of deleting files after COMB, 
specially in cases where copying the final file would exceed the quota, 
in which case it COULD generate the big file and remove the partial ones.

I think there should be an error code for "I won't perform the action in 
this mode (text)" for cases where combining would involve some kind of 
transliteration.