Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)

Joel Jaeggli <joelja@bogus.com> Sat, 05 October 2019 16:03 UTC

Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D3C90120857 for <netmod@ietfa.amsl.com>; Sat, 5 Oct 2019 09:03:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.897
X-Spam-Level:
X-Spam-Status: No, score=-6.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=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 bpqXJ0zzqpSZ for <netmod@ietfa.amsl.com>; Sat, 5 Oct 2019 09:03:12 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (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 C69D01200A3 for <netmod@ietf.org>; Sat, 5 Oct 2019 09:03:12 -0700 (PDT)
Received: from [192.168.11.90] (c-73-96-132-59.hsd1.or.comcast.net [73.96.132.59]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x95G37gt035549; Sat, 5 Oct 2019 16:03:08 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-96-132-59.hsd1.or.comcast.net [73.96.132.59] claimed to be [192.168.11.90]
From: Joel Jaeggli <joelja@bogus.com>
Message-Id: <245C9D8B-CA7E-433E-8FDA-6A045F38C0D1@bogus.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_2E08661D-376A-4F96-95A5-DA215083B790"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Sat, 05 Oct 2019 09:03:01 -0700
In-Reply-To: <CAHw9_iLb8Bf6ntnjM+c5bxawTkvw3Q0opr5wgAwvnWLOoHnpAA@mail.gmail.com>
Cc: Andy Bierman <andy@yumaworks.com>, Ignas Bagdonas <ibagdona@gmail.com>, Peter Loborg <peter.loborg@ericsson.com>, NetMod WG <netmod@ietf.org>, RFC Editor <rfc-editor@rfc-editor.org>
To: Warren Kumari <warren@kumari.net>
References: <CABCOCHQMAq-vzANerP3ehY1y9fiiQZKY_S4dEh0qfhO=7bS8hA@mail.gmail.com> <HE1PR0701MB29053FE1EC7A4F199C688050EA7E0@HE1PR0701MB2905.eurprd07.prod.outlook.com> <CABCOCHQMB8KD9Z8zXw8uxLOrcBE7_RqNFGRmJfNmoQ=TvFUaDg@mail.gmail.com> <20190221.193325.152438307014996574.mbj@tail-f.com> <CABCOCHSx50uOPeF6AXYsobe2uPBMrx4pkFnHr7GKMTJpq-HR2Q@mail.gmail.com> <CAHw9_iLb8Bf6ntnjM+c5bxawTkvw3Q0opr5wgAwvnWLOoHnpAA@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/xCOPumZYAhxiGvPBJJPdhz3Reec>
Subject: Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Oct 2019 16:03:16 -0000


> On Sep 6, 2019, at 12:27, Warren Kumari <warren@kumari.net> wrote:
> 
> On Thu, Feb 21, 2019 at 1:53 PM Andy Bierman <andy@yumaworks.com <mailto:andy@yumaworks.com>> wrote:
>> 
>> 
>> 
>> On Thu, Feb 21, 2019 at 10:33 AM Martin Bjorklund <mbj@tail-f.com> wrote:
>>> 
>>> Andy Bierman <andy@yumaworks.com> wrote:
>>>> On Thu, Feb 21, 2019 at 10:07 AM Peter Loborg <peter.loborg@ericsson.com>
>>>> wrote:
>>>> 
>>>>> 
>>>>> 
>>>>> Your example is fine – but the gammar is ch14 specifies something
>>>>> different:
>>>>> 
>>>>> 
>>>>> 
>>>>> enum-stmt           = enum-keyword sep string optsep
>>>>> 
>>>>>                         (";" /
>>>>> 
>>>>>                          "{" stmtsep
>>>>> 
>>>>>                              ;; these stmts can appear in any order
>>>>> 
>>>>>                              *if-feature-stmt
>>>>> 
>>>>>                              [value-stmt]
>>>>> 
>>>>>                              [status-stmt]
>>>>> 
>>>>>                              [description-stmt]
>>>>> 
>>>>>                              [reference-stmt]
>>>>> 
>>>>>                           "}") stmtsep
>>>>> 
>>>>> 
>>>>> 
>>>>> It clearly states  string, not quoted-string. These two have the following
>>>>> rules:
>>>>> 
>>>>> 
>>>>> 
>>>>> quoted-string       = (DQUOTE string DQUOTE) / (SQUOTE string SQUOTE)
>>>>> 
>>>>> 
>>>>> 
>>>>> string              = < an unquoted string, as returned by >
>>>>> 
>>>>>                         < the scanner, that matches the rule >
>>>>> 
>>>>>                         < yang-string >
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> The text in 9.6.4 is correct.
>>>> The ABNF is wrong.
>>> 
>>> No, the ABNF is correct.  The ABNF doens't handle concatenation etc.
>>> The idea is that the scanner handles quotes and concatenation and
>>> returns a "string".
>>> 
>> 
>> 
>> OK -- it is confusing that the rule quoted-string exists, but it
>> is only for key and leaf-list predicates.
> 
> Hi all,
> 
> I'm trying to go through and do some cleanup of the dangling Errata.
> I'm *certainly* not an expert here, and so am relying on y'all.
>> From what I've been able to figure out, the consensus is that this
> Errata should be rejected, yes?
> W

yes,

this is done.

as Lada noted some time ago the explanation could be more clear.

I guess the explanation could be improved. Section 6.1.3 talks about unquoted,
single- and double-quoted strings, but then the term "string" is used in the
ABNF to mean the argument string, i.e. the result of scanner preprocessing
(concatenation, substitution of escaped characters). Maybe we can use another
term, such as "argstring", for the latter.

Also, the term scanner only appears in the ABNF appendix. Some explanation of
the preprocessing stage in the main text would also help.

but Juergen and Martin's point contentions still hold that ABNF works as described.

>> 
>> 
>>> 
>>> 
>>> /martin
>>> 
>> 
>> Andy
>> 
>>> 
>>> 
>>> 
>>>> 
>>>> 
>>>> 
>>>>> …and in 6.1.3 we can read that:
>>>>> 
>>>>>   An unquoted string is any sequence of characters that does not
>>>>> 
>>>>>   contain any space, tab, carriage return, or line feed characters, a
>>>>> 
>>>>>   single or double quote character, a semicolon (";"), braces ("{" or
>>>>> 
>>>>>   "}"), or comment sequences ("//", "/*", or "*/").
>>>>> 
>>>>> 
>>>>> 
>>>>>   Note that any keyword can legally appear as an unquoted string.
>>>>> 
>>>>> 
>>>>> 
>>>>> Since the section so clearly writes about single quoted strings and double
>>>>> quoted strings, there can unfortunately be no interpretation that would
>>>>> allow “identifier” to be called an unquoted string – even though it follows
>>>>> the rules about limited character contents.
>>>>> 
>>>>> 
>>>>> 
>>>>> Hence – this is not a matter of opinion – it’s a matter of reading what’s
>>>>> actually written in the RFC.
>>>>> 
>>>>> 
>>>>> 
>>>>> But on the subject of opinion…
>>>>> 
>>>>> 
>>>>> 
>>>>>      enum "This is also legal";   // should definitely always be illegal
>>>>> 
>>>>> 
>>>>> 
>>>>> …as we cannot create a language binding to enum constructs in any major
>>>>> programming languages.
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> There are many aspects of YANG that do not map directly to programming
>>>> languages,
>>>> such as allowing '.' in identifiers.
>>>> 
>>>> 
>>>> 
>>>>> Br,
>>>>> 
>>>>> Peter
>>>>> 
>>>> 
>>>> 
>>>> Andy
>>>> 
>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> *From:* Andy Bierman <andy@yumaworks.com>
>>>>> *Sent:* den 21 februari 2019 18:45
>>>>> *To:* Martin Bjorklund <mbj@tail-f.com>
>>>>> *Cc:* RFC Editor <rfc-editor@rfc-editor.org>; Ignas Bagdonas <
>>>>> ibagdona@gmail.com>; NetMod WG <netmod@ietf.org>; Peter Loborg <
>>>>> peter.loborg@ericsson.com>; Warren Kumari <warren@kumari.net>
>>>>> *Subject:* Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> On Thu, Feb 21, 2019 at 8:53 AM Martin Bjorklund <mbj@tail-f.com> wrote:
>>>>> 
>>>>> RFC Errata System <rfc-editor@rfc-editor.org> wrote:
>>>>>> The following errata report has been submitted for RFC7950,
>>>>>> "The YANG 1.1 Data Modeling Language".
>>>>>> 
>>>>>> --------------------------------------
>>>>>> You may review the report below and at:
>>>>>> http://www.rfc-editor.org/errata/eid5642
>>>>>> 
>>>>>> --------------------------------------
>>>>>> Type: Editorial
>>>>>> Reported by: Peter Loborg <peter.loborg@ericsson.com>
>>>>>> 
>>>>>> Section: 9.6.4
>>>>>> 
>>>>>> Original Text
>>>>>> -------------
>>>>>> It takes as an argument a string that is the assigned name.
>>>>>> 
>>>>>> Corrected Text
>>>>>> --------------
>>>>>> It takes as an argument an unquoted string that is the assigned name.
>>>>> 
>>>>> This is not correct.  The enum argument is not different from any
>>>>> other keyword's arguments in YANG.  See e.g. the example in 9.12.4:
>>>>> 
>>>>>       type enumeration {
>>>>>         enum "unbounded";
>>>>>       }
>>>>> 
>>>>> The following is also legal:
>>>>> 
>>>>>         enum "unb" + 'ounded';
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>  enum "This is also legal";
>>>>> 
>>>>> 
>>>>> 
>>>>> 9.6.4.  The "enum" Statement
>>>>> 
>>>>> 
>>>>> 
>>>>>   The "enum" statement, which is a substatement to the "type"
>>>>> 
>>>>>   statement, MUST be present if the type is "enumeration".  It is
>>>>> 
>>>>>   repeatedly used to specify each assigned name of an enumeration type.
>>>>> 
>>>>>   It takes as an argument a string that is the assigned name.  *The*
>>>>> 
>>>>> *   string MUST NOT be zero-length and MUST NOT have any leading or*
>>>>> 
>>>>> *   trailing whitespace characters* (any Unicode character with the
>>>>> 
>>>>>   "White_Space" property).  The use of Unicode control codes SHOULD be
>>>>> 
>>>>>   avoided.
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> This errata should be rejected.
>>>>> 
>>>>> 
>>>>> 
>>>>> /martin
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> Andy
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> 
>>>>>> Notes
>>>>>> -----
>>>>>> Readers are not beeing made aware that careful reading of section 6.1.3
>>>>> and the detailed definition of string in section 14 must be consulted.
>>>>>> For comming versions of this RFC it would be preferable to use a more
>>>>> specialized grammar token for these cases (e.g. unquoted-string).
>>>>>> 
>>>>>> Instructions:
>>>>>> -------------
>>>>>> This erratum is currently posted as "Reported". If necessary, please
>>>>>> use "Reply All" to discuss whether it should be verified or
>>>>>> rejected. When a decision is reached, the verifying party
>>>>>> can log in to change the status and edit the report, if necessary.
>>>>>> 
>>>>>> --------------------------------------
>>>>>> RFC7950 (draft-ietf-netmod-rfc6020bis-14)
>>>>>> --------------------------------------
>>>>>> Title               : The YANG 1.1 Data Modeling Language
>>>>>> Publication Date    : August 2016
>>>>>> Author(s)           : M. Bjorklund, Ed.
>>>>>> Category            : PROPOSED STANDARD
>>>>>> Source              : Network Modeling
>>>>>> Area                : Operations and Management
>>>>>> Stream              : IETF
>>>>>> Verifying Party     : IESG
>>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> netmod mailing list
>>>>> netmod@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/netmod
>>>>> 
>>>>> 
> 
> 
> 
> -- 
> I don't think the execution is relevant when it was obviously a bad
> idea in the first place.
> This is like putting rabid weasels in your pants, and later expressing
> regret at having chosen those particular rabid weasels and that pair
> of pants.
>   ---maf
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org <mailto:netmod@ietf.org>
> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>