Re: [netconf] [Technical Errata Reported] RFC8040 (7866)

Andy Bierman <andy@yumaworks.com> Wed, 03 April 2024 16:55 UTC

Return-Path: <andy@yumaworks.com>
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 2D214C14F5EC for <netconf@ietfa.amsl.com>; Wed, 3 Apr 2024 09:55:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.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_NONE=-0.0001, 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=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
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 kA3PVEzAXpQJ for <netconf@ietfa.amsl.com>; Wed, 3 Apr 2024 09:55:38 -0700 (PDT)
Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 BBFCFC14F5F4 for <netconf@ietf.org>; Wed, 3 Apr 2024 09:55:38 -0700 (PDT)
Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-6eaf1a3e917so3776549b3a.2 for <netconf@ietf.org>; Wed, 03 Apr 2024 09:55:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1712163337; x=1712768137; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=p0mqO7NXVAtEfyRaWTz1JddLgEMTK1BPlP3mAx4ueOo=; b=BudKo4fhkxaJIN6pIhKkk4uKeTKyN8nstmmLHAPC/QhxqMinuSfp0XefWZj1wJM/mH +Q3bZCjiRkJYesrW3NTvA87lFE2Fn6gJsT2IzpET1M/J5gIZvW9z80NXPPL7AzWa0fpF eYRP5jrw//rwp9FBMHsmQ4lVtYbg+psU3R6P6YlfFFgaBxEYVrcrBhXGPTBpw1Em/rTf 7DmjVmDR1/FZQICG7mKZBACoW0Fl0AJWugJpGvm9ZChRoT7e0dbK9hXK8FHpyT9BVhNz PFt3FPYfW1a8Fb/c/z1Ue9gxmTjUu89cpp6E6/3w/2hdhwyis4phGYN1DrBf4qHBO2AO K18Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712163337; x=1712768137; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=p0mqO7NXVAtEfyRaWTz1JddLgEMTK1BPlP3mAx4ueOo=; b=JGj6DpIV0TGX2OnybQZ+SKY9BHfppaluDZNZ5TLE1VWp37qRTMjIj+l3XUrsC2BE1c GWm443I29pulw2vZYqy6+kqKn2o6LjFomZFZqqmO2kVIcV2fJ9T41XPI4VkekwpQGmiF LuDSmaP9FA9Zk6IjvAn5mO8rRijRdPltb/dkRh3oPaxBwy0n0/XVofrB6bMdrKU+ovHm nPagN/VaKsSU7keuvDmMKAKWsHjJTi1GHxL3/rmmVUr6dgjNDJCS6sOpsqbid5yXwF9B CF1hfATswQjxqpYMKFlJTDjLydbVh7J/FFToj5vsJqaDGXDLZDvU16zZm5l54/EAIKbk 4/rg==
X-Forwarded-Encrypted: i=1; AJvYcCVfzHgx4yqPmk8Mn8P3nGn+OL4Js0dwod7l2MTS6aT9OPV56Jt+FjfrZNi8tiu3L7X1IcJGXNqC5sP9EwK5tpdS
X-Gm-Message-State: AOJu0Yz/+xCPA+PthjPqWn8QuB3ZT+i3Pc4tapXtZSYtaq8ZJOTEKEv8 45er7/7Y3kfGPZmXl7s+6DroR+GmpFagQN8wL5BBXluU9TnLAgZkOFos/GsX4GJtG9X82lblBJ9 PG2cScHh/lpAt8R7z8HmiXz5gnWvkbrVX8w/CuA==
X-Google-Smtp-Source: AGHT+IHeiSm4zS/eInvSCobPXM9L3q225V7FdmaTqZbklbBjE/icEmlYWNlfX6Ybx4RWuDBrAiA023uqqBUL1SdwP6Y=
X-Received: by 2002:a05:6a20:7fa6:b0:1a3:a8da:918b with SMTP id d38-20020a056a207fa600b001a3a8da918bmr179209pzj.47.1712163337497; Wed, 03 Apr 2024 09:55:37 -0700 (PDT)
MIME-Version: 1.0
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>
In-Reply-To: <cabe39b1-2c23-4bcb-b817-e5021f428a15@mg-soft.si>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 03 Apr 2024 09:55:26 -0700
Message-ID: <CABCOCHStyAP2Bn7ad3M57Rg-FJ+8vBBfDFMJirUxjx63YECU-A@mail.gmail.com>
To: Jernej Tuljak <jernej.tuljak@mg-soft.si>
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>
Content-Type: multipart/alternative; boundary="000000000000878bec06153417bf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/z6RDryyy7Z8XxEmPAH95sJNVw60>
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: Wed, 03 Apr 2024 16:55:43 -0000

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