[Jsonpath] Re: [Technical Errata Reported] RFC9535 (8343)

"Andrew Newton (andy)" <andy@hxr.us> Mon, 24 March 2025 19:09 UTC

Return-Path: <andy@hxr.us>
X-Original-To: jsonpath@mail2.ietf.org
Delivered-To: jsonpath@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id CC3DE11B9994 for <jsonpath@mail2.ietf.org>; Mon, 24 Mar 2025 12:09:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=hxr-us.20230601.gappssmtp.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R1vMIsTDjXHx for <jsonpath@mail2.ietf.org>; Mon, 24 Mar 2025 12:09:28 -0700 (PDT)
Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 24C4E11B9988 for <jsonpath@ietf.org>; Mon, 24 Mar 2025 12:09:28 -0700 (PDT)
Received: by mail-qt1-x834.google.com with SMTP id d75a77b69052e-477296dce76so24079821cf.3 for <jsonpath@ietf.org>; Mon, 24 Mar 2025 12:09:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hxr-us.20230601.gappssmtp.com; s=20230601; t=1742843367; x=1743448167; darn=ietf.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=barXLi7sZtbssoBbUuZBKSu8J5ERLmDNCIzmsOhqL3o=; b=SGdwHg26FubF1cKU2THFR38bn1y75Lks4kqyvJtrOG/lXe1vy+SxtTwWuya/pRyhuv 7EgsAFGo2nKBbfHVLVdtyE0CrHMqenajsaQLcZofLexS/wbQJtVMt219UMoN8w4GrNKu /iZb0DWXpo9WZY5PO58HSgl1fnmG1log/RsfTkMPlvYU4cg1vchkWUeLqV7lLJ7DNKtb UxNcx0p1PoHMCLb7wh926HASoBK36U2uRdwlRAuKUpJ8YYoVE9T/oHpZpkPuM0CbSBoh O5veB55jLjlK5Ly9tDLEVt5Sr/VNuXjngLZuT817WIpjhsSkqW0DKoQnBZqg5Gow6ve1 CKEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742843367; x=1743448167; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=barXLi7sZtbssoBbUuZBKSu8J5ERLmDNCIzmsOhqL3o=; b=pttK7oSimRgJ7RPJ9H0tbcz+2TKzaM9ziz8SQWkGwliFFhzrnSMSwzaNUAvzbOD8Qd eeo0MpuC7WwQPeP8YoADJzXJUyg4CAVGcEZOEkdjHViJNb0BtefcUA1w1DOsD/a7391/ F/um0tA0co53L3R/WGbZF5JMY1cC2IVb/0l7OISQokS1v9Ka2XqHYKgmnPy1+SapsKnk nYaoQZFczicjsnoWSdcdg2sG1oPlsXMSwPIh5u8YZvB+Raje/ykU23g/Q96iQMJ5wE3o /lg+sD2SIqiZlzNWaUlxQVrBHgy3IBvLfdZjDlk2a0kPEYoELQkx+pJWEIaxZfbWpkL2 6aFw==
X-Forwarded-Encrypted: i=1; AJvYcCWpD+hMA9x5jXAUyKLoGlYadff7/YPCX/Bzz6mzs850SVL9KxV74603QqqcZz+uqtphu/26XURsiw==@ietf.org
X-Gm-Message-State: AOJu0YxFsFjzvLD9aD58Dw9f3DmiYybbyB64KUiy6HwsFeIVzT8YPF+0 /yFlC8ZUEW8q3pLmLwjhBeflyR46G9Ux+ouRIeNpWNuRfnXgDU4CTSOIOccxcQs=
X-Gm-Gg: ASbGnct0b1GbHrDonP1Y8Uchy1EO2cdR0vstFjIEFNKqFnmTXNuqe3zcC0rtvP35Gcd BHfDfQufhxgiglv4yOTqHBTxbJX6JxLssikTXy3tqcTzNt+hjREVJCTZZTt+ToO+hdlMz27kLln o0ElcvZxlEY1rVt1XPi3025sp2fLRBv4pXWpbtak1mb6uvYP2Mf1bVuZ15jjumxfV/yXnMYkGdc VJrKipgm+Ui8KK4yZeN4evE2EozXEFlj9+4Ma8qeVqt6Hb68etnSvlMHuk5vS900PyZxEZGoUa4 H9sJ5z1lAYKH0h85qnP+8f/Mz7xW3JwGxExX21el7OibrIZ/6AZBEXBWeh0rtPbH1Q04AtTDMMg =
X-Google-Smtp-Source: AGHT+IHSDCts4mbgIFn736gVxLrA40WYkn/dg8ZOMkl6wwsQvUMK1PhoRIQTn7xQRtYL+fWMjD8RCg==
X-Received: by 2002:a05:622a:1144:b0:476:fd69:ccb with SMTP id d75a77b69052e-4771dd93d43mr257573991cf.27.1742843367435; Mon, 24 Mar 2025 12:09:27 -0700 (PDT)
Received: from [10.2.8.27] (pool-72-83-25-32.washdc.fios.verizon.net. [72.83.25.32]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4771d1760e0sm50621391cf.23.2025.03.24.12.09.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Mar 2025 12:09:26 -0700 (PDT)
Message-ID: <b168a3f8-055e-490e-b073-97f63ec4e7ab@hxr.us>
Date: Mon, 24 Mar 2025 15:09:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Glyn Normington <glyn.normington.work@gmail.com>, RFC Errata System <rfc-editor@rfc-editor.org>
References: <20250324144730.970D2210673@rfcpa.rfc-editor.org> <CANH0Gb+aGS8NHdhUArz3z1_LeXfTKA-MokwD17dhZqw1b2ofyg@mail.gmail.com>
Content-Language: en-US
From: "Andrew Newton (andy)" <andy@hxr.us>
In-Reply-To: <CANH0Gb+aGS8NHdhUArz3z1_LeXfTKA-MokwD17dhZqw1b2ofyg@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-MailFrom: andy@hxr.us
X-Mailman-Rule-Hits: max-recipients
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-size; news-moderation; no-subject; digests; suspicious-header
Message-ID-Hash: EWYCY7MNSQ7N5LPM2RVNRW7FD3B6JIIF
X-Message-ID-Hash: EWYCY7MNSQ7N5LPM2RVNRW7FD3B6JIIF
X-Mailman-Approved-At: Mon, 24 Mar 2025 12:41:45 -0700
CC: stefan.goessner@fh-dortmund.de, glyn.normington@gmail.com, cabo@tzi.org, orie@transmute.industries, james.ietf@gmail.com, tbray@textuality.com, vladimir.gorej@gmail.com, jsonpath@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Jsonpath] Re: [Technical Errata Reported] RFC9535 (8343)
List-Id: Discussion of JSONPath syntax <jsonpath.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jsonpath/ojZxyUZYPoj26GLWN_km82g-xtc>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jsonpath>
List-Help: <mailto:jsonpath-request@ietf.org?subject=help>
List-Owner: <mailto:jsonpath-owner@ietf.org>
List-Post: <mailto:jsonpath@ietf.org>
List-Subscribe: <mailto:jsonpath-join@ietf.org>
List-Unsubscribe: <mailto:jsonpath-leave@ietf.org>

Hi Glyn,

The guidelines for the processing of errata can be found here: https://datatracker.ietf.org/doc/statement-iesg-iesg-processing-of-rfc-errata-for-the-ietf-stream-20210507/

Unless this was a mistake when the document was published, IMO the status for this errata cannot be "verified". While I sympathize with the issue (having used PEG parsers myself and run into these issues), it is difficult to see how this ordering was originally in error.

I think this should be categorized as "Hold for Document Update", but I am curious what others think.

-andy, ART AD

On 3/24/25 14:57, Glyn Normington wrote:
> I think this erratum should be verified. (Furthermore, the correction looks sound to me.)
>
> Regards,
> Glyn
>
> On Mon, 24 Mar 2025 at 16:54, RFC Errata System <rfc-editor@rfc-editor.org> wrote:
>
>     The following errata report has been submitted for RFC9535,
>     "JSONPath: Query Expressions for JSON".
>
>     --------------------------------------
>     You may review the report below and at:
>     https://www.rfc-editor.org/errata/eid8343
>
>     --------------------------------------
>     Type: Technical
>     Reported by: Vladimír Gorej <vladimir.gorej@gmail.com>
>
>     Section: 2.4
>
>     Original Text
>     -------------
>     function-argument   = literal /
>                           filter-query / ; (includes singular-query)
>                           logical-expr /
>                           function-expr
>
>     Corrected Text
>     --------------
>     function-argument   = logical-expr /
>                           function-expr /
>                           filter-query / ; (includes singular-query)
>                           literal
>
>
>     Notes
>     -----
>     PEG (Parsing Expression Grammar) parsers will fail to parse $[?blt(1==1)] with the RFC 9535 ABNF grammar.
>     PEG parsers use ordered choice, so by implication the order matters a lot.
>
>     PEG tries to match `literal` production rule with input `1==1`
>     - 1 matches a `number`
>     - But == breaks the rest of the rule
>     - But because `number` is a subrule of `literal`, and `literal` matches partially (just the 1)…
>     - PEG commits to `literal` and doesn't try `logical-expr`
>
>     Thus: `function-argument` fails, even though `logical-expr` would have matched.
>
>     Why the "Corrected Text" will work with PEG parsers and is PEG-safe? It includes the most complex structures first and prevents early partial matches.
>
>     PS: also the https://www.rfc-editor.org/rfc/rfc9535#appendix-A is affected
>
>     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.
>
>     --------------------------------------
>     RFC9535 (draft-ietf-jsonpath-base-21)
>     --------------------------------------
>     Title               : JSONPath: Query Expressions for JSON
>     Publication Date    : February 2024
>     Author(s)           : S. Gössner, Ed., G. Normington, Ed., C. Bormann, Ed.
>     Category            : PROPOSED STANDARD
>     Source              : JSON Path
>     Stream              : IETF
>     Verifying Party     : IESG
>
>     -- 
>     JSONpath mailing list -- jsonpath@ietf.org
>     To unsubscribe send an email to jsonpath-leave@ietf.org
>