Re: [I18ndir] I-D on filesystem I18N

Nico Williams <nico@cryptonector.com> Wed, 08 July 2020 03:23 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: i18ndir@ietfa.amsl.com
Delivered-To: i18ndir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F20E83A1063 for <i18ndir@ietfa.amsl.com>; Tue, 7 Jul 2020 20:23:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cryptonector.com
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 6HjIrt78wnVl for <i18ndir@ietfa.amsl.com>; Tue, 7 Jul 2020 20:23:54 -0700 (PDT)
Received: from antelope.aspen.relay.mailchannels.net (antelope.aspen.relay.mailchannels.net [23.83.221.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF70C3A1060 for <i18ndir@ietf.org>; Tue, 7 Jul 2020 20:23:52 -0700 (PDT)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 4B8A6120EA1; Wed, 8 Jul 2020 03:23:48 +0000 (UTC)
Received: from pdx1-sub0-mail-a38.g.dreamhost.com (100-96-12-18.trex.outbound.svc.cluster.local [100.96.12.18]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A055D121238; Wed, 8 Jul 2020 03:23:47 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from pdx1-sub0-mail-a38.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.8); Wed, 08 Jul 2020 03:23:48 +0000
X-MailChannels-SenderId: dreamhost|x-authsender|nico@cryptonector.com
X-MailChannels-Auth-Id: dreamhost
X-Bubble-Left: 7e520d0216d58fe6_1594178627946_1260535659
X-MC-Loop-Signature: 1594178627946:1484409534
X-MC-Ingress-Time: 1594178627946
Received: from pdx1-sub0-mail-a38.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTP id 3B3A3B47B2; Tue, 7 Jul 2020 20:23:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=pOIYJFh2xDznIP JSDpdzDzsd1/E=; b=AYPG69uiFCnfZQ6MsfKgkrvNeCuXc+8nrAGlE9lyzd8Yk/ 4CJcj8MhU9GEaNGGqXgTAkLphRQ/Wsz2FgTjIsvU6/8Px9NOGEyBZtgZk5whOenR UPezEP/saL7eEK3DZaWcRF4eef5qq8cGVFlQ9+BeHxTxsqOY4QC9LwHN7rANI=
Received: from localhost (unknown [24.28.108.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTPSA id 2916CB47A1; Tue, 7 Jul 2020 20:23:45 -0700 (PDT)
Date: Tue, 07 Jul 2020 22:23:42 -0500
X-DH-BACKEND: pdx1-sub0-mail-a38
From: Nico Williams <nico@cryptonector.com>
To: John R Levine <johnl@taugh.com>
Cc: i18ndir@ietf.org
Message-ID: <20200708032341.GF3100@localhost>
References: <20200706225139.GJ3100@localhost> <20200708004250.01B111C67670@ary.qy> <20200708013311.GZ3100@localhost> <alpine.OSX.2.22.407.2007072143001.22521@ary.qy>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <alpine.OSX.2.22.407.2007072143001.22521@ary.qy>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-VR-OUT-STATUS: OK
X-VR-OUT-SCORE: -100
X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduiedrudeigdejudcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpeffhffvuffkfhggtggujggfsehttdertddtredvnecuhfhrohhmpefpihgtohcuhghilhhlihgrmhhsuceonhhitghosegtrhihphhtohhnvggtthhorhdrtghomheqnecuggftrfgrthhtvghrnhepffdtkeethfeuteeviefgfeegjeetjedvhfehgfdvtdefueejheelgeeuhffghffgnecukfhppedvgedrvdekrddutdekrddukeefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdpihhnvghtpedvgedrvdekrddutdekrddukeefpdhrvghtuhhrnhdqphgrthhhpefpihgtohcuhghilhhlihgrmhhsuceonhhitghosegtrhihphhtohhnvggtthhorhdrtghomheqpdhmrghilhhfrhhomhepnhhitghosegtrhihphhtohhnvggtthhorhdrtghomhdpnhhrtghpthhtohepnhhitghosegtrhihphhtohhnvggtthhorhdrtghomh
Archived-At: <https://mailarchive.ietf.org/arch/msg/i18ndir/c40wuUoXOWi0trvxKp2I3sZ5V70>
Subject: Re: [I18ndir] I-D on filesystem I18N
X-BeenThere: i18ndir@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Internationalization Directorate <i18ndir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i18ndir>, <mailto:i18ndir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i18ndir/>
List-Post: <mailto:i18ndir@ietf.org>
List-Help: <mailto:i18ndir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i18ndir>, <mailto:i18ndir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Jul 2020 03:23:57 -0000

On Tue, Jul 07, 2020 at 10:27:36PM -0400, John R Levine wrote:
> > It's the same issue.
> 
> Indeed, so unless we can address it, I wouldn't put a lot of work into this.

Well, we have a spec that running code does not match.

We have two choices: leave it as-is, or find a way to make it a better
match for reality while achieving our I18N goals.  I believe we can do
the latter, and I believe that the former kinda sucks.

We in the then Solaris Engineering group chose to do the right thing,
which meant ignoring the spec.  We were able to do that by reasoning our
way through the problem, and because implementing the spec as written
leads to serious problems (described in my I-D).

So what shall we do?

And what shall we do for other protocols that deal in filenames?  E.g.,
if ever we finish SFTP, or maybe in HTTP.  RFC 7230 basically refers to
RFC 3986 regarding lookups, but it says nothing about PUT/POST and
whether new resources get their local parts normalized.

> > > You are right that NFS clients need some way to find out whether two
> > > different names refer to the same file, but the idea of a registry
> > > seems like a non-starter, both because nobody has any incentive to
> > > register and because I expect there are a lot of strange corner cases
> > > like unpaired UTF-16 surrogates that would be very hard to describe.
> > 
> > Perhaps.  I was considering using some existing repository of locales,
> > specifically CLDR.
> 
> CLDR is great for what it does, but I would be surprised if file system case
> folding matched any of its entries.  CLDR tells the "ls" program how to
> format timestamps for display.

I looked, and... I'll have to look again, but I'm pretty sure CLDR does
have case-folding tailorings.

> > [ NFS already has a way to get handles for filenames ]
> 
> > Caching clients might support disconnected operation.  Then what?
> 
> I don't think I've ever seen a disconnected NFS client, but let's assume one
> exists.  It will have to deal with all sorts of synchronization issues
> including the possibility that "foo" and "bar" are the same file.  Why is
> dealing with "foo" and "FOO" any different?

Indeed, NFSv4 clients don't, but the whole world isn't NFSv4.  That's a
big part of what's wrong with putting I18N into the NFSv4 server: NFSv4
isn't the only protocol.

Thanks for your review!

Nico
--