Subject: [core] [Technical Errata Reported] RFC6690 (5254)

From: RFC Errata System <[email-masked]>
Date: Sat, 3 Feb 2018 13:11:25 -0800 (PST)

The following errata report has been submitted for RFC6690,
"Constrained RESTful Environments (CoRE) Link Format".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata/eid5254

--------------------------------------
Type: Technical
Reported by: David Mosberger <[email-masked]>

Section: 2

Original Text
-------------
relation-types = relation-type
                   / DQUOTE relation-type *( 1*SP relation-type ) DQUOTE

Corrected Text
--------------
relation-types = reg-rel-type
               / DQUOTE relation-type *( 1*SP relation-type ) DQUOTE

Notes
-----
As defined originally "relation-types" may consist of a "URI".  RFC 3986 defines URI to allow semi-colons in various places.  For example, "http://;" seems to be a valid URI.  Unfortunately, that makes parsing a link-param list ambiguous since its elements are separated by semicolons.

The proposed fix to to allow "ext-rel-type" (i.e., "URI") to appear only inside a quoted relation-type list.

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. 

--------------------------------------
RFC6690 (draft-ietf-core-link-format-14)
--------------------------------------
Title               : Constrained RESTful Environments (CoRE) Link Format
Publication Date    : August 2012
Author(s)           : Z. Shelby
Category            : PROPOSED STANDARD
Source              : Constrained RESTful Environments APP
Area                : Applications
Stream              : IETF
Verifying Party     : IESG

---

From: Carsten Bormann <[email-masked]>
Date: Sun, 4 Feb 2018 09:09:20 +0100

Hi David,

while the observation is correct that there are URIs (Instances of ext-rel-type) that disturb parsing of link-value-lists, the cure cited here is worse than the ailment:  It would suddenly rule out constructs such as:

	rel=urn:foo:bar           (1)

Yes, this could be quoted, as in

	rel=“urn:foo:bar”         (2)

but example 1 is legal 6690 syntax now.

Better to add an English language restriction to the production that URIs that disturb link-value-list parsing are not to be used outside of double quotes.

Background:
The whole idea of using ABNF to describe both the unquoted and quoted values is deeply broken.
See RFC 8288 for how to do this right.  
We’ll need to update RFC 6690 at some point, and we’ll certainly move up to RFC 8288 from RFC 5988 then.
Up to then, we should avoid introducing more artifacts that stem from this failed attempt, such as suddenly outlawing the perfectly parsable example 1 above.

Grüße, Carsten

> On Feb 3, 2018, at 22:11, RFC Errata System <[email-masked]> wrote:
>