Re: [netconf] [Technical Errata Reported] RFC8040 (7866)
Jernej Tuljak <jernej.tuljak@mg-soft.si> Thu, 04 April 2024 13:17 UTC
Return-Path: <jernej.tuljak@mg-soft.si>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8849C14CF1B for <netconf@ietfa.amsl.com>; Thu, 4 Apr 2024 06:17:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.095
X-Spam-Level:
X-Spam-Status: No, score=-7.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mg-soft.si
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jt6REvM7jfCF for <netconf@ietfa.amsl.com>; Thu, 4 Apr 2024 06:17:02 -0700 (PDT)
Received: from galileo.mg-soft.si (gate.mg-soft.si [212.30.73.66]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F30ABC14F5EB for <netconf@ietf.org>; Thu, 4 Apr 2024 06:17:00 -0700 (PDT)
Received: from [10.0.0.249] (zvonkok-mbp.mg-soft.si [10.0.0.249]) by galileo.mg-soft.si (Postfix) with ESMTP id A26DD1029C0; Thu, 4 Apr 2024 15:16:57 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.11.0 galileo.mg-soft.si A26DD1029C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mg-soft.si; s=default; t=1712236617; bh=KSYAGHv4jJNltVIdr2vMV7gPgG5XHkD9KTdA3VgpmcY=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=HOllK0pU9AUcozq+ExVZRoKqr6DsqNwkEGiz6rop3YnBIf0p25eq0lOQV8DnoqcvQ gTtKmReYRVcAPcKHXDAO0qVkCHNNNt1fit5QH0cCdr4OhKlJfVOarslv1/vv6a9lt+ 1UlhwbrkTkrrhel/DTrFJQoZh9KyXO8fO38muCdR1Us3YcAQSWBwuhs3eWb3AcorIQ IydpXBaPNhjQp8Yls7aqRciDRPAXYvRNd05ynDkK4yEuy7GhOJmpBCl2eAiW+eZ3qQ j/6IWSum4K9Yrj+XTT6Qu1FepEywQc1DzNxUHQvksJXqhSGzQO2b170MUabTYCifXh OcoYVJpLmQPAQ==
Content-Type: multipart/alternative; boundary="------------5YE49MDY3Umy9L70Vq2XA1qM"
Message-ID: <2eae1936-6294-4c9f-b50a-faab7587941e@mg-soft.si>
Date: Thu, 04 Apr 2024 15:16:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Andy Bierman <andy@yumaworks.com>
Cc: Kent Watsen <kent+ietf@watsen.net>, RFC Errata System <rfc-editor@rfc-editor.org>, mbj@tail-f.com, Warren Kumari <warren@kumari.net>, "netconf@ietf.org" <netconf@ietf.org>
References: <20240323173810.33A49E6634@rfcpa.amsl.com> <0100018e809ecc8b-b17354dc-f70c-437a-b915-b8ed4086bffb-000000@email.amazonses.com> <f5ea7cfe-65f2-429d-bdc2-11d377d45fd6@mg-soft.si> <CABCOCHQpK=9LADz77M7t2VLF-UNMhNE_oxpNC13yyvX_zME4NA@mail.gmail.com> <7e00b6e4-4d1f-496e-b945-1c4379c28884@mg-soft.si> <CABCOCHTVn2Dbs7NX8cfAu7EjmhuaZ6eez=bFS_6dP88v4So7CA@mail.gmail.com> <cabe39b1-2c23-4bcb-b817-e5021f428a15@mg-soft.si> <CABCOCHStyAP2Bn7ad3M57Rg-FJ+8vBBfDFMJirUxjx63YECU-A@mail.gmail.com>
Content-Language: en-US
From: Jernej Tuljak <jernej.tuljak@mg-soft.si>
In-Reply-To: <CABCOCHStyAP2Bn7ad3M57Rg-FJ+8vBBfDFMJirUxjx63YECU-A@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/DeQtqXiCYZIe_n13K0Ow8EmgKkI>
Subject: Re: [netconf] [Technical Errata Reported] RFC8040 (7866)
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Apr 2024 13:17:06 -0000
On 03/04/2024 18:55, Andy Bierman wrote: > > > On Wed, Apr 3, 2024 at 6:16 AM Jernej Tuljak > <jernej.tuljak@mg-soft.si> wrote: > > On 29/03/2024 17:09, Andy Bierman wrote: >> >> >> On Fri, Mar 29, 2024 at 12:46 AM Jernej Tuljak >> <jernej.tuljak@mg-soft.si> wrote: >> >> On 28/03/2024 17:25, Andy Bierman wrote: >>> >>> >>> On Thu, Mar 28, 2024 at 2:41 AM Jernej Tuljak >>> <jernej.tuljak@mg-soft.si> wrote: >>> >>> And I'm still not sure why RFC8040 refers to "reserved >>> characters" as >>> the only characters that need to be percent-encoded. >>> >>> Section 2.1 of RFC3986 that describes percent encoding says: >>> >>> A percent-encoding mechanism is used to represent a >>> data octet in a >>> component when that octet's corresponding character >>> is outside the >>> allowed set or is being used as a delimiter of, or >>> within, the >>> component. >>> >>> Then in 2.2 it says: >>> >>> URIs include components and subcomponents that are >>> delimited by >>> characters in the "reserved" set. These characters >>> are called >>> "reserved" because they may (or may not) be defined >>> as delimiters by >>> the generic syntax, by each scheme-specific syntax, >>> or by the >>> implementation-specific syntax of a URI's >>> dereferencing algorithm. >>> >>> To me this means there's more than just what RFC3986 >>> considers to be a >>> "reserved character" that should to be percent-encoded. >>> The "more" in >>> this case being characters "outside the allowed set". >>> Characters like >>> the double-quote, which I've brought up before, but >>> never got a response: >>> >>> >>> >>> The part of sec. 2.2 that was left out lists the chars: >>> >>> reserved = gen-delims / sub-delims >>> >>> gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" >>> >>> sub-delims = "!" / "$" / "&" / "'" / "(" / ")" >>> / "*" / "+" / "," / ";" / "=" >>> >>> IMO these chars need to be percent-encoded in RESTCONF URIs >>> >>> https://mailarchive.ietf.org/arch/msg/netconf/I8kXANHiqeV2JsCWmtTE2fGjYd8/ >>> >>> >>> >>> Perhaps there are some details that are not spelled out. >>> Double-quote and space are not special in RESTCONF. >>> >> >> Are you saying that valid RESTCONF URIs are not required to >> be valid RFC3986 URIs? >> >> >> No, I am saying that if restconf-next ever happens, then the >> document can clarify any additional >> reserved characters. > > You said that double-quote and space are not special in RESTCONF, > but how can that be true, when they are special in RFC3986? What > makes them special is that they are not allowed at all. Anywhere. > No production of RFC3986 ABNF grammar [1] can match them. So they > need to be percent-encoded. They do not represent reserved > characters but at the same time cannot be recognized as unreserved > characters. > > > > I meant no special meaning in RESTCONF. > RFC 3986 defines the URI encoding. > There is no intent for RESTCONF to change anything or cherry-pick > certain requirements and ignore others. > > I am not sure what document changes are needed. Perhaps none. I have a specific change in mind. RFC8040, Section 3.5.3.: OLD: The following example shows how reserved characters are percent-encoded within a key value. The value of "key1" contains a comma, single-quote, double-quote, colon, double-quote, space, and forward slash (,'":" /). Note that double-quote is not a reserved character and does not need to be percent-encoded. The value of "key2" is the empty string, and the value of "key3" is the string "foo". Example URL: /restconf/data/example-top:top/list1=%2C%27"%3A"%20%2F,,foo NEW: The following example shows how specific characters are percent-encoded within a key value. The value of "key1" contains a comma, single-quote, double-quote, colon, double-quote, space, and forward slash (,'":" /). Note that double-quote and space are not reserved characters but also do not correspond to characters in the unreserved set and therefore need to be percent-encoded. The value of "key2" is the empty string, and the value of "key3" is the string "foo". Example URL: /restconf/data/example-top:top/list1=%2C%27%22%3A%22%20%2F,,foo Or something along those lines. It seemed related to this errata (7866), which is why I brought it up again. Jernej > Perhaps hold for document update. > > [1] - https://datatracker.ietf.org/doc/html/rfc3986#appendix-A > > Jernej > > > > Andy > > >> >> Jernej >> >> >> Andy >> >> >>> One thing that is clear: >>> Any user of a RESTCONF URI MUST be capable of converting >>> percent-encoded chars, >>> no matter what they are. >>> >>> >>> >>> >>> Jernej >>> >>> >>> Andy >>> >>> >>> On 27/03/2024 16:54, Kent Watsen wrote: >>> > This errata is incomplete. >>> > The issue occurs three times. >>> > The occurrence in Section 5.1 is missing. >>> > >>> > K. >>> > >>> > >>> >> On Mar 23, 2024, at 1:38 PM, RFC Errata System >>> <rfc-editor@rfc-editor.org> wrote: >>> >> >>> >> The following errata report has been submitted for >>> RFC8040, >>> >> "RESTCONF Protocol". >>> >> >>> >> -------------------------------------- >>> >> You may review the report below and at: >>> >> https://www.rfc-editor.org/errata/eid7866 >>> >> >>> >> -------------------------------------- >>> >> Type: Technical >>> >> Reported by: Andy Bierman <andy@yumaworks.com> >>> >> >>> >> Section: 3.5.3 >>> >> >>> >> Original Text >>> >> ------------- >>> >> Text occurs in two places >>> >> >>> >> 1) >>> >> >>> >> The leaf-list value is specified as a string, >>> using the canonical >>> >> representation for the YANG data type. Any >>> reserved characters >>> >> MUST be percent-encoded, according to Sections >>> 2.1 and 2.5 of >>> >> [RFC3986]. >>> >> >>> >> >>> >> 2) >>> >> >>> >> The key value is specified as a string, using >>> the canonical >>> >> representation for the YANG data type. Any >>> reserved characters >>> >> MUST be percent-encoded, according to Sections >>> 2.1 and 2.5 of >>> >> [RFC3986]. >>> >> >>> >> >>> >> Corrected Text >>> >> -------------- >>> >> >>> >> 1) >>> >> >>> >> The leaf-list value is specified as a string, >>> using the canonical >>> >> representation for the YANG data type. Any >>> reserved characters >>> >> MUST be percent-encoded, according to Sections >>> 2.1, 2.2, and 2.5 of >>> >> [RFC3986]. >>> >> >>> >> 2) >>> >> >>> >> The key value is specified as a string, using >>> the canonical >>> >> representation for the YANG data type. Any >>> reserved characters >>> >> MUST be percent-encoded, according to Sections >>> 2.1, 2.2, and 2.5 of >>> >> [RFC3986]. >>> >> >>> >> >>> >> Notes >>> >> ----- >>> >> The reserved character list is defined in section 2.2 >>> of RFC 3986 >>> >> >>> >> Instructions: >>> >> ------------- >>> >> This erratum is currently posted as "Reported". (If >>> it is spam, it >>> >> will be removed shortly by the RFC Production >>> Center.) Please >>> >> use "Reply All" to discuss whether it should be >>> verified or >>> >> rejected. When a decision is reached, the verifying party >>> >> will log in to change the status and edit the report, >>> if necessary. >>> >> >>> >> -------------------------------------- >>> >> RFC8040 (draft-ietf-netconf-restconf-18) >>> >> -------------------------------------- >>> >> Title : RESTCONF Protocol >>> >> Publication Date : January 2017 >>> >> Author(s) : A. Bierman, M. Bjorklund, K. Watsen >>> >> Category : PROPOSED STANDARD >>> >> Source : Network Configuration >>> >> Stream : IETF >>> >> Verifying Party : IESG >>> > _______________________________________________ >>> > netconf mailing list >>> > netconf@ietf.org >>> > https://www.ietf.org/mailman/listinfo/netconf >>> >>> _______________________________________________ >>> netconf mailing list >>> netconf@ietf.org >>> https://www.ietf.org/mailman/listinfo/netconf >>> >> >
- [netconf] [Technical Errata Reported] RFC8040 (78… RFC Errata System
- Re: [netconf] [Technical Errata Reported] RFC8040… Jernej Tuljak
- Re: [netconf] [Technical Errata Reported] RFC8040… Kent Watsen
- Re: [netconf] [Technical Errata Reported] RFC8040… Andy Bierman
- Re: [netconf] [Technical Errata Reported] RFC8040… Andy Bierman
- Re: [netconf] [Technical Errata Reported] RFC8040… Jernej Tuljak
- Re: [netconf] [Technical Errata Reported] RFC8040… Andy Bierman
- Re: [netconf] [Technical Errata Reported] RFC8040… Mahesh Jethanandani
- Re: [netconf] [Technical Errata Reported] RFC8040… Kent Watsen
- Re: [netconf] [Technical Errata Reported] RFC8040… Mahesh Jethanandani
- Re: [netconf] [Technical Errata Reported] RFC8040… Andy Bierman
- Re: [netconf] [Technical Errata Reported] RFC8040… Mahesh Jethanandani
- Re: [netconf] [Technical Errata Reported] RFC8040… Jernej Tuljak
- Re: [netconf] [Technical Errata Reported] RFC8040… Mahesh Jethanandani
- Re: [netconf] [Technical Errata Reported] RFC8040… Andy Bierman
- Re: [netconf] [Technical Errata Reported] RFC8040… Jernej Tuljak
- Re: [netconf] [Technical Errata Reported] RFC8040… Andy Bierman