Re: [netmod] [Technical Errata Reported] RFC6020 (4911) - what next?

Martin Bjorklund <mbj@tail-f.com> Mon, 23 January 2017 11:06 UTC

Return-Path: <mbj@tail-f.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 116C712956B for <netmod@ietfa.amsl.com>; Mon, 23 Jan 2017 03:06:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.1
X-Spam-Level:
X-Spam-Status: No, score=-5.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-3.199, SPF_PASS=-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 vB1OdmA6qZ4s for <netmod@ietfa.amsl.com>; Mon, 23 Jan 2017 03:06:02 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 9CCA81294F8 for <netmod@ietf.org>; Mon, 23 Jan 2017 03:06:02 -0800 (PST)
Received: from localhost (unknown [173.38.220.36]) by mail.tail-f.com (Postfix) with ESMTPSA id 733881AE0285; Mon, 23 Jan 2017 12:06:01 +0100 (CET)
Date: Mon, 23 Jan 2017 12:05:59 +0100
Message-Id: <20170123.120559.2013170813371878100.mbj@tail-f.com>
To: j.schoenwaelder@jacobs-university.de
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20170123104655.GA29877@elstar.local>
References: <20170118114858.62A63B80FFD@rfc-editor.org> <fc729e9c-2a65-282b-c12e-ba359347e5fb@cisco.com> <20170123104655.GA29877@elstar.local>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/L7ZzSKnIiEzkck5iS1t92VwkBPE>
Cc: joelja@bogus.com, netmod@ietf.org
Subject: Re: [netmod] [Technical Errata Reported] RFC6020 (4911) - what next?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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: Mon, 23 Jan 2017 11:06:04 -0000

Hi,

I agree with what Juergen writes below.

Also, if we *really* wanted to change RFC 6020 in this regard (which I
don't think we should!), I think the change should be the equivalent
of Y06-01:

  Clarify that "\x" means the two characters '\' and 'x', i.e.,
  "\x" is equivalent to '\x'.

  This is how several known implementations have interpreted the text.

I think that this was the original intention of the text.  (Yes, I
know that there are issues with this design, but that's not the point
here).


/martin


Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> Benoit,
> 
> RFC 6020 is ambiguous and this is just how it is. The solution for
> YANG 1 is simply to give advice to module writers to avoid ambiguous
> character sequences (and avoiding ambiguity can be easily done).
> 
> YANG 1.1 fixes the ambiguity in YANG 1 but backporting this fix to
> YANG 1 is a change of YANG 1, i.e., it might turn a conforming
> implementation into a non-conforming implementation. Hence, this may
> go beyond the scope of an errata.
> 
> If tools generate proper warnings, I think we are fine and we do not
> need to change YANG 1. These kind of issues are caught by tools, not
> by humans reading language specifications.
> 
> If you feel strongly that an errata is needed, then the errata should
> simply clearly spell out that certain backslahs sequences are
> ambiguous and provide advice that they should not be used. This is
> backwards compatible. Making them illegal is not backwards compatible.
> 
> /js
> 
> PS: This is also my recollection of the discussion of issue Y06 when
>     YANG 1.1 was put together.
> 
> On Mon, Jan 23, 2017 at 11:29:25AM +0100, Benoit Claise wrote:
> > Dear all,
> > 
> > Let me summarize the situation.
> >     - The RFC 6020 spec is clearly ambiguous.
> >     - The solution is to use YANG 1.1
> >     - RFC 7950 doesn't update or obsolete RFC 6020 (*)
> >     - We should stop this problem from spreading further: updating tooling
> > is one good aspect, we should update the spec. too to at least warn the
> > users.
> > 
> > There is no perfect solution.
> > Because of (*), I believe I should accept this errata.
> > Any strong objections? If you have, propose a better plan. And I don't
> > believe that "do nothing" is sufficient.
> > 
> > Regarding the "update" solution, see the RFC 7950 writeup at https://datatracker.ietf.org/doc/draft-ietf-netmod-rfc6020bis/shepherdwriteup/
> > 
> >    (16) Will publication of this document change the status of any
> >    existing RFCs? Are those RFCs listed on the title page header, listed
> >    in the abstract, and discussed in the introduction? If the RFCs are not
> >    listed in the Abstract and Introduction, explain why, and point to the
> >    part of the document where the relationship of this document to the
> >    other RFCs is discussed. If this information is not in the document,
> >    explain why the WG considers it unnecessary.
> > 
> >       No. YANG 1.0 [RFC6020] is not expected to change its status since
> >       there are data models on the standards-track that conform to YANG
> >       1.0. YANG 1.0 may be considered for retirement once all data models
> >       have naturally been updated to a future version of YANG.
> > 
> > Regards, Benoit
> > > The following errata report has been submitted for RFC6020,
> > > "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)".
> > > 
> > > --------------------------------------
> > > You may review the report below and at:
> > > http://www.rfc-editor.org/errata_search.php?rfc=6020&eid=4911
> > > 
> > > --------------------------------------
> > > Type: Technical
> > > Reported by: Ladislav Lhotka <lhotka@nic.cz>
> > > 
> > > Section: 6.1.3
> > > 
> > > Original Text
> > > -------------
> > > Within a double-quoted string (enclosed within " "), a backslash
> > > character introduces a special character, which depends on the
> > > character that immediately follows the backslash:
> > > 
> > >   \n      new line
> > >   \t      a tab character
> > >   \"      a double quote
> > >   \      a single backslash
> > > 
> > > 
> > > Corrected Text
> > > --------------
> > > Within a double-quoted string (enclosed within " "), a backslash
> > > character introduces a special character, which depends on the
> > > character that immediately follows the backslash:
> > > 
> > >   \n      new line
> > >   \t      a tab character
> > >   \"      a double quote
> > >   \      a single backslash
> > > 
> > > The backslash MUST NOT be followed by any other character.
> > > 
> > > Notes
> > > -----
> > > The text doesn't state whether other characters may follow the backslash, and if yes, what it means. Existing implementations have used three approaches:
> > > 
> > > 1. report an error if another character follows the backslash
> > > 2. keep only the character following the backslash, i.e., for example, "\x" is the same as "x".
> > > 3. keep both the backslash and the character following it.
> > > 
> > > This ambiguity is undesirable and YANG 1.1 [RFC 7950] explicitly adopted option #1. However, many modules are still being written using YANG version 1.0, so it is important to clarify this issue in RFC 6020 as well.
> > > 
> > > 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.
> > > 
> > > --------------------------------------
> > > RFC6020 (draft-ietf-netmod-yang-13)
> > > --------------------------------------
> > > Title               : YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)
> > > Publication Date    : October 2010
> > > Author(s)           : M. Bjorklund, Ed.
> > > Category            : PROPOSED STANDARD
> > > Source              : NETCONF Data Modeling Language
> > > Area                : Operations and Management
> > > Stream              : IETF
> > > Verifying Party     : IESG
> > > .
> > > 
> > 
> 
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> 
> 
> -- 
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>