Re: Two FTP issues

John C Klensin <john-ietf@jck.com> Tue, 01 December 2020 18:25 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6237A3A1424 for <ietf@ietfa.amsl.com>; Tue, 1 Dec 2020 10:25:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y2jD3BgsH-ex for <ietf@ietfa.amsl.com>; Tue, 1 Dec 2020 10:25:20 -0800 (PST)
Received: from bsa2.jck.com (bsa2.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A440D3A1420 for <ietf@ietf.org>; Tue, 1 Dec 2020 10:25:20 -0800 (PST)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1kkAKz-000I9i-6P; Tue, 01 Dec 2020 13:25:17 -0500
Date: Tue, 01 Dec 2020 13:25:11 -0500
From: John C Klensin <john-ietf@jck.com>
To: "Theodore Y. Ts'o" <tytso@mit.edu>
cc: Carsten Bormann <cabo@tzi.org>, ietf@ietf.org
Subject: Re: Two FTP issues
Message-ID: <5720F933910C959C9278EBCF@PSB>
In-Reply-To: <20201201030759.GJ5364@mit.edu>
References: <AA1E0A8464BC45FB4FA44684@PSB> <2D63A357-E253-462C-864D-2BF96D3E2E18@tzi.org> <F4CD3381C5D0E24C91FC4A91@PSB> <20201201030759.GJ5364@mit.edu>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/xzuC6RGMyz_x0ZvB-GVb-W9xErU>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Dec 2020 18:25:22 -0000


--On Monday, November 30, 2020 22:07 -0500 "Theodore Y. Ts'o"
<tytso@mit.edu> wrote:

> On Mon, Nov 30, 2020 at 06:26:00PM -0500, John C Klensin wrote:
>> --On Monday, November 30, 2020 23:38 +0100 Carsten Bormann
>> <cabo@tzi.org> wrote:
>> 
>> > I believe a hard-earned piece of experience I took from
>> > using FTP is that you don't want to do conversions during
>> > transit.
>> 
>> I think we had figured that out by early in 1971. At least in
>> general, I think it is still true.
> 
> And yet, just recently on this mailing list, some of the people
> arguing for the inherent superiority of the ftp protocol as
> compared to http is that with ftp, it *Would* do conversions
> of text files (e.g., crlf mangling, etc.)

Perhaps one of us didn't understand Carsten's comment.  I agreed
because FTP does not do conversions in transit.  The party
requesting the file specifies the form it wants it in and the
system being asked to supply the file either supplies it in that
form... or doesn't.  No conversion "during transit" as I
understood that.

--On Tuesday, December 1, 2020 07:27 -0800 Larry Masinter
<LMM@acm.org> wrote:

> At the time FTP was developed, PDP-10s with 9-bit bytes and
> IBM mainframes using EBCDIC were common, disk space was
> limited, and transfer with format conversion was necessary.

As just one example, transfer of "plain text" files, the
community had already concluded that, no matter how text was
represented on a particular host, the right solution was to have
a network-standard form in which it could be transmitted.   That
resulted in each system having to support, at most, conversion
between its format and the standard one because, otherwise, each
host would have an N-squared problem where N was the number of
distinct system architectures on the net.  Inside the various
systems, ASCII was represented in five 7 bit "bytes", with one
bit left over, on the 36 bit word of TENEX; in four 9 bit
"bytes", with two leading zero bits in each on the 36 bit work
of Multics; in the first three and last four bits of 8 bit bytes
of some systems (including ASCII on IBM mainframes); and in the
last seven bits of an 8 bit byte on others... and those are
examples, not an inclusive list.  Similarly, there were machines
that used CR as line-end, those that used LF, those that used
CRLF, those that used either a special delimiting control
character other than either of those, and those that used a
length count at the beginning of every line.  

So, even without the decision to allow TYPE E and the reasons
for it, the choice was either an N-squared problem for a
not-very-small value of N or a standard for strings in
transmission.  See RFCs 20 and 137.

Now, almost certainly there are fewer variations for "plain
text" today.  But, even it it were only "Unicode" (and it isn't:
while a large fraction of them are spam, I still routinely
receive messages identified with charset GB2312, GBK, and
ISO8859-1), there would still be the different encoding forms
and many of the same arguments would apply.

But, again, while I cannot prevent people from doing so, for
questions of whether or not the IETF has standardization work to
do, I don't think it is helpful to discuss why FTP was more or
less useful 45 years ago than it is today or whether or not it
is useful for complex file types.   And I don't think it is
useful to try to convince people who find it useful and who
understand its strengths and limitations that they should stop
using it.  The question I am trying to ask is _only_ whether
those who are using and/or supporting it would find an effort to
provide better error response information and/or provisions for
Unicode in UTF-8 useful and whether they would implement and
deploy those changes.  I don't believe a single on-list response
to those questions has been posted yet.

   john


   john