Subject: [Netconf] [Technical Errata Reported] RFC6536 (3862)

From: RFC Errata System <[email-masked]>
Date: Fri, 10 Jan 2014 05:32:33 -0800 (PST)

The following errata report has been submitted for RFC6536,
"Network Configuration Protocol (NETCONF) Access Control Model".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=6536&eid=3862

--------------------------------------
Type: Technical
Reported by: Jernej Tuljak <[email-masked]>

Section: 3.5.2.

Original Text
-------------
     typedef matchall-string-type {
       type string {
         pattern "\*";
       }
       description
         "The string containing a single asterisk '*' is used
          to conceptually represent all possible values
          for the particular leaf using this data type.";
     }

Corrected Text
--------------
     typedef matchall-string-type {
       type string {
         pattern '\*';
       }
       description
         "The string containing a single asterisk '*' is used
          to conceptually represent all possible values
          for the particular leaf using this data type.";
     }

Notes
-----
As per RFC6020, Section 6.1.3., a backslash within a double-quoted string introduces a special character. The only valid escape sequences inside a double-quoted YANG string are: \n, \t, \" and \. As \* is not a valid escape sequence, a single quoted string should be used to specify the offending pattern statement's argument. The quotes could also be omitted.

Instructions:
-------------
This errata 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 (IESG)
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC6536 (draft-ietf-netconf-access-control-07)
--------------------------------------
Title               : Network Configuration Protocol (NETCONF) Access Control Model
Publication Date    : March 2012
Author(s)           : A. Bierman, M. Bjorklund
Category            : PROPOSED STANDARD
Source              : Network Configuration
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG

---

From: Martin Bjorklund <[email-masked]>
Date: Fri, 10 Jan 2014 14:40:38 +0100 (CET)

Hi,

This errata should be rejected.  "\*" is equvalent to '\*'.  \* in a
double quoted string is not an escape sequence, which means that the
characters are interpreted literally, i.e. the two characters \
followed by *.

The same goes for errata 3863.

/martin

RFC Errata System <[email-masked]> wrote:
> As per RFC6020, Section 6.1.3., a backslash within a double-quoted
> string introduces a special character. The only valid escape sequences
> inside a double-quoted YANG string are: \n, \t, \" and \. As \* is not
> a valid escape sequence, a single quoted string should be used to
> specify the offending pattern statement's argument. The quotes could
> also be omitted.
> 
> Instructions:
> -------------

---

From: Jernej Tuljak <[email-masked]>
Date: Fri, 10 Jan 2014 14:58:11 +0100

If this is true, then it is RFC6020 that needs a clarification on this. 
Namely, that the "special character" which follows a backslash need not 
be special and that it does not represent an escape sequence in such a case.

    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

My reading is that a backslash starts a YANG escape sequence and may 
therefore be removed during string dequoting. A "\*" ends up as *, which 
is not equivalent to '\*'.

Please move this discussion over to NETMOD it that's the case.

Jernej