Subject: [yang-doctors] Fwd: [Technical Errata Reported] RFC6728 (4909)

From: Benoit Claise <[email-masked]>
Date: Tue, 17 Jan 2017 08:29:23 +0100

YANG-doctors,

Would you mind checking this errata?
Note: I know that RFC6728 was based on YANG1.0 and not YANG1.1. However, 
if this errata is correct, it's worth documenting IMO.

Regards, Benoit

-------- Forwarded Message --------
Subject: 	[Technical Errata Reported] RFC6728 (4909)
Date: 	Mon, 16 Jan 2017 14:15:11 -0800
From: 	RFC Errata System <[email-masked]>
To: 	[email-masked], [email-masked], [email-masked], 
[email-masked], [email-masked], [email-masked], 
[email-masked]
CC: 	[email-masked], [email-masked], [email-masked]

The following errata report has been submitted for RFC6728,
"Configuration Data Model for the IP Flow Information Export (IPFIX) and Packet Sampling (PSAMP) Protocols".

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

--------------------------------------
Type: Technical
Reported by: Pavol Vican <[email-masked]>

Section: 6

Original Text
-------------
pattern "\S+"
...
pattern "\S(.*\S)?"

Corrected Text
--------------
pattern '\S+'
...
pattern '\S(.*\S)?'

or

pattern "\S+"
...
pattern "\S(.*\S)?"

Notes
-----
RFC 7950 in section 6.3.1 says that backslash has special meaning if it is in the double-quoted string. The only characters immediately following the backslash are n, t, \, ". Other characters are forbidden. This can be solved using single-quoted string or double backslash.

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.

--------------------------------------
RFC6728 (draft-ietf-ipfix-configuration-model-11)
--------------------------------------
Title               : Configuration Data Model for the IP Flow Information Export (IPFIX) and Packet Sampling (PSAMP) Protocols
Publication Date    : October 2012
Author(s)           : G. Muenz, B. Claise, P. Aitken
Category            : PROPOSED STANDARD
Source              : IP Flow Information Export
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG
.

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Tue, 17 Jan 2017 08:36:25 +0100

Benoit,

I do not understand the double quote corrected text - I think it
should have been

  pattern "\\S+"

and

  pattern "\\S(.*\\S)?"

but I prefer the single quote version anyway. Hence I suggest to
remove the second corrected text (having a single correction is
generally better anyway).

/js

On Tue, Jan 17, 2017 at 08:29:23AM +0100, Benoit Claise wrote:
> Note: I know that RFC6728 was based on YANG1.0 and not YANG1.1. However, if
> this errata is correct, it's worth documenting IMO.
> 
> Regards, Benoit
> 
> 

> _______________________________________________
> yang-doctors mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/yang-doctors

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

---

From: Benoit Claise <[email-masked]>
Date: Tue, 17 Jan 2017 08:43:18 +0100

Jürgen,

Let me copy Vican, who reported the errata (which I should have done 
initially)

Regards, Benoit

---

From: Paul Aitken <[email-masked]>
Date: Tue, 17 Jan 2017 08:35:26 +0000

I suspect that the "double backslash" version was lost in email. It can 
be seen in the original errata:

https://www.rfc-editor.org/errata_search.php?rfc=6728&eid=4909

Q: has anyone checked for the same issue in other recent RFCs and drafts?

P.

On 17/01/17 07:43, Benoit Claise wrote:
>>> RFC 7950 in section 6.3.1 says that backslash has special meaning if 
>>> it is in the double-quoted string. The only characters immediately 
>>> following the backslash are n, t, \, ". Other characters are 
>>> forbidden. This can be solved using single-quoted string or double 
>>> backslash.
>>>
>>> Instructions:
>>> -------------
>>> Title               : Configuration Data Model for the IP Flow 
>>> Information Export (IPFIX) and Packet Sampling (PSAMP) Protocols

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Tue, 17 Jan 2017 09:40:32 +0100

This is an explanation - (although this makes me wonder whether I can
play dirty tricks with the errata form).

Still I prefer a single alternative and this is for me the single
quote correction.

/js

On Tue, Jan 17, 2017 at 08:35:26AM +0000, Paul Aitken wrote:
> I suspect that the "double backslash" version was lost in email. It can be
> seen in the original errata:
> 
> > > > "Configuration Data Model for the IP Flow Information Export
> > > > (IPFIX) and Packet Sampling (PSAMP) Protocols".
> > > > 
> > > > RFC 7950 in section 6.3.1 says that backslash has special
> > > > meaning if it is in the double-quoted string. The only
> > > > characters immediately following the backslash are n, t, \, ".
> > > > Other characters are forbidden. This can be solved using
> > > > single-quoted string or double backslash.
> > > > 
> > > > Instructions:
> > > > -------------

---

From: PJ Aitken <[email-masked]>
Date: Tue, 17 Jan 2017 08:45:13 +0000

Juergen,

> Still I prefer a single alternative and this is for me the single

+1

The loss of the double-backslashed version in this email thread argues 
against its inclusion in the RFC.

P.

---

From: Ladislav Lhotka <[email-masked]>
Date: Tue, 17 Jan 2017 10:16:47 +0100

> On 17 Jan 2017, at 08:29, Benoit Claise <[email-masked]> wrote:
> 
> YANG-doctors,
> 
> Note: I know that RFC6728 was based on YANG1.0 and not YANG1.1. However, if this errata is correct, it's worth documenting IMO.

I just learnt independently that the same problem is quite common also in proprietary modules:

https://github.com/llhotka/yang-parser-coffee/pull/1

So it may be worthwhile to "backport" the clarification of this issue from YANG 1.1 as an erratum to RFC 6020 because its text is clearly ambiguous.

Lada

> To:	[email-masked], [email-masked], [email-masked], [email-masked], [email-masked], [email-masked], [email-masked]

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

---

From: Benoit Claise <[email-masked]>
Date: Tue, 17 Jan 2017 16:42:27 +0100

Hi Jürgen,
> Still I prefer a single alternative and this is for me the single
You prefer it, I understand, but since this is an errata, the question 
is: are the two proposals legal according to RFC 7950?
I yes, then both should be in the errata.

Regards, Benoit

---

From: Benoit Claise <[email-masked]>
Date: Tue, 17 Jan 2017 16:43:34 +0100

> So it may be worthwhile to "backport" the clarification of this issue from YANG 1.1 as an erratum to RFC 6020 because its text is clearly ambiguous.
More people supporting this view?

Regards, Benoit

---

From: Ladislav Lhotka <[email-masked]>
Date: Tue, 17 Jan 2017 16:58:12 +0100

> On 17 Jan 2017, at 16:42, Benoit Claise <[email-masked]> wrote:
> 
> Hi Jürgen,
> You prefer it, I understand, but since this is an errata, the question is: are the two proposals legal according to RFC 7950?

Yes, both are legal but I think the erratum is supposed to provide a new text (one version) that is correct, right? And I agree with Juergen that single quotes are definitely better. Funny enough, the unquoted version is also legal, but better don't tell it to anybody. :-)

  pattern \S(.*\S)?;

Lada

---

From: Benoit Claise <[email-masked]>
Date: Tue, 17 Jan 2017 17:05:25 +0100

> So it may be worthwhile to "backport" the clarification of this issue from YANG 1.1 as an erratum to RFC 6020 because its text is clearly ambiguous.
btw,
bclaise@bclaise-VirtualBox:~/ietf/YANG-rfc$ pyang --ietf 
[email-masked]
bclaise@bclaise-VirtualBox:~/ietf/YANG-rfc$ pyang --ietf 
[email-masked]
[email-masked]:260: error: the escape sequence 
"\S" is illegal in double quoted strings
bclaise@bclaise-VirtualBox:~/ietf/YANG-rfc$ diff 
[email-masked] [email-masked]
2a3
 >   yang-version "1.1";

Is there a way to force a YANG 1.0 module to be compiled with YANG 1.1 
rules?
I would like to verify if Cisco proprietary YANG 1.0 modules face this 
issue.

Regards, Benoit

---

From: Ladislav Lhotka <[email-masked]>
Date: Tue, 17 Jan 2017 17:11:47 +0100

> On 17 Jan 2017, at 17:05, Benoit Claise <[email-masked]> wrote:
> 
> bclaise@bclaise-VirtualBox:~/ietf/YANG-rfc$ pyang --ietf [email-masked]
> bclaise@bclaise-VirtualBox:~/ietf/YANG-rfc$ pyang --ietf [email-masked]
> [email-masked]:260: error: the escape sequence "\S" is illegal in double quoted strings
> bclaise@bclaise-VirtualBox:~/ietf/YANG-rfc$ diff [email-masked] [email-masked]
> 2a3
> >   yang-version "1.1";
> 
> Is there a way to force a YANG 1.0 module to be compiled with YANG 1.1 rules?
> I would like to verify if Cisco proprietary YANG 1.0 modules face this issue.

The guy who sent me the pull request that I mentioned (Peter Lee) said he had found this issue in some proprietary Cisco modules, too.
I will ask him for details.

Lada

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Tue, 17 Jan 2017 18:38:20 +0100

On Tue, Jan 17, 2017 at 04:42:27PM +0100, Benoit Claise wrote:
> You prefer it, I understand, but since this is an errata, the question is:
> are the two proposals legal according to RFC 7950?

If people manually apply errata to their copies of YANG modules
extracted from RFCs (like I do), would it no be nice if they end up
also syntactically with the same result?

But if you feel strongly that it is a feature to show multiple ways to
fix the issue, go ahead (and I know which edit I apply to my copy).

/js

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 17 Jan 2017 21:01:22 +0100 (CET)

> generally better anyway).

Yes, I agree.  Actually the errata as specified is not quite clear.
I would rephrase the errata like this:

Section 6 says:

  pattern "\S+";

it should say:

  pattern '\S+';

and Section 6 also says:

  pattern "\S(.*\S)?";

it should say:

  pattern '\S(.*\S)?';

This way the errata can be applied without any knowledge of YANG just
by doing text substitution.

/martin

---

From: Benoit Claise <[email-masked]>
Date: Wed, 18 Jan 2017 08:47:12 +0100

> also syntactically with the same result?
Ok, convinced now.

The errata has been accepted.

Regards, Benoit