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

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Mon, 23 January 2017 10:46 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 EC430129B09 for <netmod@ietfa.amsl.com>; Mon, 23 Jan 2017 02:46:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.399
X-Spam-Level:
X-Spam-Status: No, score=-7.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-3.199] 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 Ope4JhGoTQnq for <netmod@ietfa.amsl.com>; Mon, 23 Jan 2017 02:46:58 -0800 (PST)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EBF941294F8 for <netmod@ietf.org>; Mon, 23 Jan 2017 02:46:57 -0800 (PST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id C20EB6A9; Mon, 23 Jan 2017 11:46:56 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.205]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id QpiRzqP2tnTR; Mon, 23 Jan 2017 11:46:55 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Mon, 23 Jan 2017 11:46:56 +0100 (CET)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 0570E200A8; Mon, 23 Jan 2017 11:46:56 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius3.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id YvajvJSziGzy; Mon, 23 Jan 2017 11:46:55 +0100 (CET)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id C09A8200A7; Mon, 23 Jan 2017 11:46:54 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 7194A3E467E5; Mon, 23 Jan 2017 11:46:56 +0100 (CET)
Date: Mon, 23 Jan 2017 11:46:55 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Benoit Claise <bclaise@cisco.com>
Message-ID: <20170123104655.GA29877@elstar.local>
Mail-Followup-To: Benoit Claise <bclaise@cisco.com>, mbj@tail-f.com, joelja@bogus.com, lberger@labn.net, kwatsen@juniper.net, netmod@ietf.org
References: <20170118114858.62A63B80FFD@rfc-editor.org> <fc729e9c-2a65-282b-c12e-ba359347e5fb@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <fc729e9c-2a65-282b-c12e-ba359347e5fb@cisco.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ZCHWrnUsaiR2u_tGm6g13MVyjhE>
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
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
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 10:47:00 -0000

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/>