Re: [nfsv4] My probable non-participation in IETF114 meeting -- missing agenda items

David Noveck <davenoveck@gmail.com> Tue, 09 August 2022 15:07 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2517FC13C51A for <nfsv4@ietfa.amsl.com>; Tue, 9 Aug 2022 08:07:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jgDjNaGEWteD for <nfsv4@ietfa.amsl.com>; Tue, 9 Aug 2022 08:07:13 -0700 (PDT)
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E3750C136333 for <nfsv4@ietf.org>; Tue, 9 Aug 2022 08:06:52 -0700 (PDT)
Received: by mail-ed1-x52e.google.com with SMTP id z22so15483663edd.6 for <nfsv4@ietf.org>; Tue, 09 Aug 2022 08:06:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=kDWzNo5DqafZ6yv0mkH1GS9VZrlzPuN8JM50koMND70=; b=mgwTCFaj7OUTlMcCWisQvCVDrBCvvEphMT+fIwX+L/Sndp4+vrT2Gl6iqysXMvj5/X qoVUq7rDffofMoiKjZfab8hcUIt5NBtkfS0LiswwduvKDh6hXOVeSDixrjYtnGWO9F6b /LrluOx3ZLBf7B++dcR9tBKIQW8qbXPlT4ykHdr4YyBTJ7oX9LhG3vFItGELIanyGWH4 4lxckJPxmj5R8PEpqvjIfFeuGuF14BemyDdWZMcnjs+bX+ixXI9fFNw8TdEbYuZjBlfk Wd5UgxP/lVBR33obl2jfA85z1sLV+j8euUBr2nXxc7F96wZbULiy+wpdS4dCiaEQnqR6 WIPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=kDWzNo5DqafZ6yv0mkH1GS9VZrlzPuN8JM50koMND70=; b=wIbzXiyJt64dAVA2xYRrSbrxJljJdl0plBSFxv3VadhUo/DNX6Wap4FrmQIxm+ESOF N48IqDv1arvQ0pS7ZzGEKJsJInyOWQ1n9tEVrnzcZuoCYzynWQAtxsTbzleniudD6QHc dUMZ/hB8J0Rjau3ND/QFKQb5SfpPdO/9pjlRet/4YdG+vKYXTmO/eZhQNLDAE3YZNX18 /h6BB47xo4Fh5JSEJHeDAzMI94sRJZqEqXwU2PVM2Y8PkrDEa51h3h9Ex2bkBqHAn3/g IabvDico7g8rx3nlA+VkfJmxNllVNVIB6JEW4NMMSGt7GXUmElLDTPTvStBnUoc2T+xm hWdw==
X-Gm-Message-State: ACgBeo1khQz+EI6iQQQg5mL4W2J19F2w5/ZO0XqOOEUVmQtc38IkwzYH YKAHHa9G4Gp8ZzMlF3oNdYxkw6qvUMKRKCyh/Lk=
X-Google-Smtp-Source: AA6agR55zJkHKdpFH3HsIi8tzv52pHSxLmiNSCkE9es8fnTiMunqrAwjJhd1xyCEBfZSuROl7U2pxuYj5t+KirDeMb4=
X-Received: by 2002:a05:6402:294c:b0:43a:91a9:a691 with SMTP id ed12-20020a056402294c00b0043a91a9a691mr23010443edb.182.1660057611253; Tue, 09 Aug 2022 08:06:51 -0700 (PDT)
MIME-Version: 1.0
References: <MN2PR06MB5597E737F236E8E35C02380FE18C9@MN2PR06MB5597.namprd06.prod.outlook.com> <20220726022100.GD30255@kduck.mit.edu> <CADaq8jfb0Ecbh-3AUW=wMJCT4yu1GwUX+y50cYNrZfRRHc8Dhg@mail.gmail.com> <MN2PR19MB4045F9FDDDD501D798B3B8A9839A9@MN2PR19MB4045.namprd19.prod.outlook.com> <YQBPR0101MB97426A8AF9FAF18186C495B8DD9D9@YQBPR0101MB9742.CANPRD01.PROD.OUTLOOK.COM> <MN2PR19MB4045965236195D2DC755CDF7839D9@MN2PR19MB4045.namprd19.prod.outlook.com>
In-Reply-To: <MN2PR19MB4045965236195D2DC755CDF7839D9@MN2PR19MB4045.namprd19.prod.outlook.com>
From: David Noveck <davenoveck@gmail.com>
Date: Tue, 09 Aug 2022 11:06:38 -0400
Message-ID: <CADaq8jc4HEMMK7o0_0jPU-X-gkceQQ+uZ9Vj_Xg0VknhzKBoTg@mail.gmail.com>
To: "Black, David" <David.Black@dell.com>
Cc: Rick Macklem <rmacklem@uoguelph.ca>, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000039bd2705e5d048e0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/y15Aaw0H7_CMQNKWacZY-Uvkafc>
Subject: Re: [nfsv4] My probable non-participation in IETF114 meeting -- missing agenda items
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Aug 2022 15:07:17 -0000

On Tue, Aug 2, 2022, 9:33 AM Black, David <David.Black@dell.com> wrote:

> >>>       As a result, the domain string returned on a GETATTR of
> >>>       the user id MUST be the same as that used when setting the
> >>>       user id by the SETATTR.
> >>
> >>I would expect server implementations to do exactly that, but it'd be
> good >to check - would compliance with that "MUST" be a problem for any
> >known implementations?
> >>
> >>If so, please explain how the GETATTR and SETATTR user id values could
> >differ.
> > For the FreeBSD name<->id mapping daemon, the domain string is
> > considered to be case independent.
> > i.e., UoGuelph.ca is considered the same as uoguelph.ca
> > I think I did this because that is how DNS host domain names have
> > traditionally been handled.
>

It appears they can't be now.  How disruptive would it be to change this
for ASCII names?

>
> Unfortunately, the concept of case independence is significantly more
> complex in Unicode.


It is not only more complex. You cannot do case conversion using the text
string alone.

A common example is that in ASCII, 'i' is the lower-case counterpart of
> 'I', but that's not always the case for Unicode, e.g., in Turkish, the
> lower case counterpart of 'I' is U+0131 (&inodot), LATIN SMALL LETTER
> DOTLESS I (https://en.wikipedia.org/wiki/Dotless_I), and applying ASCII
> case independence produced incorrect results, as there are words in Turkish
> that differ only in dotted-i vs. dotless-i.
>
> The "method one" that is proposed for elimination dealt with Unicode case
> insensitivity via use of ToASCII and ToUnicode - Unicode case mapping is
> buried in the NAMEPREP step.  Unfortunately, the entire NAMEPREP framework
> (including those mechanisms) is obsolete for a number of good reasons,
> including its dependence on a specific version of Unicode.  Case
> insensitivity of domain names has been moved to input processing, as
> indicated by this item in Appendix A of RFC 5891 (
> https://datatracker.ietf.org/doc/html/rfc5891#appendix-A):


Method one has to go.


>
>    4.   Remove the mapping and normalization steps from the protocol and
>         have them, instead, done by the applications themselves,
>         possibly in a local fashion, before invoking the protocol.
>

This doesn't address cases in which the domain name is formulated by the
server. There is no obvious "application" on the server.  The important
case is multiple domains in multi-server namespace.


> For NFS, the likely upshot is that language/locale-dependent (case)
> mapping and normalization has to be done by the client or code above it.


That works for mount and the client side of referrals.  To deal with this
in full, we should simply say the protocol does modify the domain to either
an equivalent one with a  changed case or a canonically equivalent one.

ASCII case insensitivity would be safe for a server that enforces a
> restriction to 7-bit ASCII, but it's not safe in general for UTF-8.
>

Yes but not sure what spec should say about that case



> Thanks, --David.


Thanks for the guidance.  Will provide an updated section for discussion in
about a week. After that, will try to produce internationalization-02.

>
> -----Original Message-----
> From: Rick Macklem <rmacklem@uoguelph.ca>
> Sent: Monday, August 1, 2022 8:37 PM
> To: Black, David; David Noveck
> Cc: NFSv4
> Subject: Re: [nfsv4] My probable non-participation in IETF114 meeting --
> missing agenda items
>
>
> [EXTERNAL EMAIL]
>
> Black, David <David.Black=40dell.com@dmarc.ietf.org> wrote:
> >Dave,
> >
> >> The core issue derives from the following text in RFC7530:
> >
> >[ ... SNIP ...]
> >
> >> The above text was suggested by David Black based on discussions with
> internationalization experts, and had no problems getting accepted by the
> IESG.
> >
> >In light of what has (not) transpired since then ...
> >
> >> The first method references RFC 3490, now obsolete, so cannot be
> transferred to a new NFSv4 internationalization document
> >>
> >> This reference should, almost certainly, not have appeared in RFC7530,
> but I'm not sure how it was approved.
> >>
> >> It seems very unlikely that the first method was ever implemented by
> any NFSv4 server, despite the fact it is recommended above.
> >
> >... while I could patch the text to deal with RFC 3490 being obsolete, I
> think "running code" wins this one ... i.e., I suggest that the WG proceed
> to:
> >
> >>    - eliminate the use of method one.
> >
> >That creates a small item to deal with, as method 2 contains a "MUST"
> >requirement that would apply to all implementations:
> >
> >
> >>       As a result, the domain string returned on a GETATTR of
>
> >>       the user id MUST be the same as that used when setting the
>
> >>       user id by the SETATTR.
> >
> >I would expect server implementations to do exactly that, but it'd be
> good >to check - would compliance with that "MUST" be a problem for any
> >known implementations?
> >
> >If so, please explain how the GETATTR and SETATTR user id values could
> >differ.
> For the FreeBSD name<->id mapping daemon, the domain string is
> considered to be case independent.
> ie. UoGuelph.ca is considered the same as uoguelph.ca
> I think I did this because that is how DNS host domain names have
> traditionally been handled.
>
> rick
>
> Thanks, --David
>
> From: nfsv4 <nfsv4-bounces@ietf.org> On Behalf Of David Noveck
> Sent: Thursday, July 28, 2022 9:57 AM
> To: Benjamin Kaduk
> Cc: Noveck, David; NFSv4
> Subject: Re: [nfsv4] My probable non-participation in IETF114 meeting --
> missing agenda items
>
>
> [EXTERNAL EMAIL]
> The core issue derives from the following text in RFC7530:
>
>
>    string sent SHOULD be in the form of one or more U-labels as
>
>    defined by [RFC5890 [datatracker.ietf.org]<
> https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc5890__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVR6jQoVSp$>].
> If that is impractical, it can instead be in
>
>    the form of one or more LDH labels [RFC5890 [datatracker.ietf.org]<
> https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc5890__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVR6jQoVSp$>]
> or a UTF-8 domain name
>
>    that contains labels that are not properly formatted U-labels.  The
>
>    receiver needs to be able to accept domain and server names in any of
>
>    the formats allowed.  The server MUST reject, using the error
>
>    NFS4ERR_INVAL, a string that is not valid UTF-8, or that contains an
>
>    ASCII label that is not a valid LDH label, or that contains an
>
>    XN-label (begins with "xn--") for which the characters after "xn--"
>
>    are not valid output of the Punycode algorithm [RFC3492 [
> datatracker.ietf.org]<
> https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc3492__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVR8HVeyrh$
> >].
>
>
>
>    When a domain string is part of id@domain or group@domain, there are
>
>    two possible approaches:
>
>    1.  The server treats the domain string as a series of U-labels.  In
>
>        cases where the domain string is a series of A-labels or
>
>        Non-Reserved LDH (NR-LDH) labels, it converts them to U-labels
>
>        using the Punycode algorithm [RFC3492 [datatracker.ietf.org]<
> https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc3492__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVR8HVeyrh$>].
> In cases where the
>
>        domain string is a series of other sorts of LDH labels, the
>
>        server can use the ToUnicode function defined in [RFC3490 [
> datatracker.ietf.org]<
> https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc3490__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVRw5pOT9y$>]
> to
>
>        convert the string to a series of labels that generally conform
>
>        to the U-label syntax.  In cases where the domain string is a
>
>        UTF-8 string that contains non-U-labels, the server can attempt
>
>        to use the ToASCII function defined in [RFC3490 [
> datatracker.ietf.org]<
> https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc3490__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVRw5pOT9y$>]
> and then the
>
>        ToUnicode function on the string to convert it to a series of
>
>        labels that generally conform to the U-label syntax.  As a
>
>        result, the domain string returned within a user id on a GETATTR
>
>        may not match that sent when the user id is set using SETATTR,
>
>        although when this happens, the domain will be in the form that
>
>        generally conforms to the U-label syntax.
>
>
>
>    2.  The server does not attempt to treat the domain string as a
>
>        series of U-labels; specifically, it does not map a domain string
>
>        that is not a U-label into a U-label using the methods described
>
>        above.  As a result, the domain string returned on a GETATTR of
>
>        the user id MUST be the same as that used when setting the
>
>        user id by the SETATTR.
>
>
>
>    A server SHOULD use the first method.
>
>
>
>
>
>
> The above text was suggested by David Black based on discussions with
> internationalization experts, and had  no problems getting accepted by the
> IESG.
> .
>
> The first method references RFC 3490, now obsolete, so cannot be
> transferred to a new NFSv4 internationalization document
>
> This reference should, almost certainly, not have appeared in RFC7530, but
> I'm not sure how it was approved.
>
> It seems very unlikely that the first method was ever implemented by any
> NFSv4 server, despite the fact it is recommended above.
>
> The basis of the recommendation is quite unclear and it is not easy to
> determine a situation in which the use of the first method would be
> needed/desirable.  Further, the use of "SHOULD" leaves unanswered the
> question of what are valid reasons to bypass the recommendation.
>
> The existing handling is not transferrable to other NFSv4.  We need to  do
> one of the following:
>
>    - eliminate the use of method one.
>
>    - provide an alternative the process in method 1 that does not depend
> on RFC3490.
>
>
>
> On Mon, Jul 25, 2022, 10:21 PM Benjamin Kaduk <kaduk@mit.edu<mailto:
> kaduk@mit.edu>> wrote:
> Hi David,
>
> On Mon, Jul 18, 2022 at 01:05:25PM +0000, Noveck, David wrote:
> >
> >   *   draft-ietf-nfsv4-internationalization is now expired.  In order to
> get it anywhere wglc, I have to address the issues in section 12.
> >
> > I haven't been able to get idna information from the working group or
> the internationalization people. Please provide viable sources on email.
> Ifno willing experts are to be found, will need to do further research and
> may have to update 7530 to not support idna, if that is possible.
>
> While I don't consider myself an internationalization person, I do know a
> few who would probably qualify.  Please forgive my only sporadic
> attentiveness to this list -- is there a clean summary of the open issues
> that I could send to people and ask for help?
>
> Thanks,
>
> Ben
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org<mailto:nfsv4@ietf.org>
>
> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/nfsv4__;!!LpKI!j7NGRO1t2zpt74VohXnTaCVcI5yF4q6IlWSmly-txDjG1Zsps-m41aBflmY1EC2eDKCuH3y92J99lxNwrwyZXw$
> [ietf[.]org] [ietf.org]<
> https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/nfsv4__;!!LpKI!gD1BRtFwwUpp8etNt74yc4T_v57MvYaRpGrXsWpU9X61X1wbdZB1UvN3ftbQldXRpIblsAw3UTPVR46uD3g8$
> >p
>