Re: [Json] [Technical Errata Reported] RFC8259 (6208)

Tim Bray <tbray@textuality.com> Wed, 10 June 2020 15:01 UTC

Return-Path: <tbray@textuality.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DCC283A0400 for <json@ietfa.amsl.com>; Wed, 10 Jun 2020 08:01:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=textuality-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qGwbzme-HPly for <json@ietfa.amsl.com>; Wed, 10 Jun 2020 08:01:06 -0700 (PDT)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9F803A0544 for <json@ietf.org>; Wed, 10 Jun 2020 08:01:05 -0700 (PDT)
Received: by mail-lf1-x132.google.com with SMTP id u16so1634617lfl.8 for <json@ietf.org>; Wed, 10 Jun 2020 08:01:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=textuality-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jHMLG7MqLdTwNOV+wzddeValdlzNj/XuOkXMiUeU4Hg=; b=pkkkha/Dqmqib2Kevo1a8TiNNsWJAWXzQ3jRec4oHdg50btZMiCOWMrXEBz6/eqeqW KmoGXaj7uavBGWYZvQMRUyoKXc/Ddef/Pg0ytjV1id+G9CCJQil6DYET28UJH/GH097q UPca0g4G8gwQQ117IY7bf2NLN0kANZoMQy3Tr1tu8BjM+QEtNuDyh/rv5IYnGf0kc+4M R4VaX2nXLNtyDsOchZ0uq5DnvogOYK4LtKi/PmsvVkOADpK4R+mBDM8obVrlK/xzIRF/ GXo5dzMiFOG0my9/+0HYENuawchi0TbiPH78GK7wrioHLFv1STM79PfjU9H+nexQeY4g ea2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jHMLG7MqLdTwNOV+wzddeValdlzNj/XuOkXMiUeU4Hg=; b=cGMmpaSjr862miAbdB3udZ4J6+AVrvAUm2GrBWxFol6s6fqUEEQiAu/YEN0aRm714m tQUFa/PIqNszm1jOCl8CFOvLajbkqGpqfub3ksaJA+PBFWzEqHKPG2onWcN71NR/eLdc L/QhI2vdC0cE8kuuh6o3ZlTUqRqfDidt0I3V80q43b1xyzH2Z+XCa4qsw0A7/Ss0IJ6s wlza7FyAQ56OSYo71jzdAa8IFrYC0rBlCrFKIgG2uh7fVTYwKrD2P7xpBZpc6SJdX6C3 Kxtr2C9jIAtEaEfQv3ai1k5H8csNisLKRbFiDuxzz2K5E2oiOu3haRq/ZFx64cFtTfkF n13w==
X-Gm-Message-State: AOAM533X2bfQ2ZywXKO24pamToiEhp/ydm/G6mGNnkvjdfFM6VaqyI9W sue0AwqrwNeiRdXNn6KPkOg7TAN0k2eTA/9ukSvYyQ==
X-Google-Smtp-Source: ABdhPJzpLcfVpQ7ED1XKD8RKfvwfhddbER1cBEY8Qcf0GbuwC0fPn8VO7Ce0QwMxFDVy1onByldt1hdpyp45EVRZyXI=
X-Received: by 2002:a19:f508:: with SMTP id j8mr1923356lfb.146.1591801262308; Wed, 10 Jun 2020 08:01:02 -0700 (PDT)
MIME-Version: 1.0
References: <20200610133258.D4B85F4073D@rfc-editor.org> <19B4CC94-8752-46AF-95A2-6BB25E480A24@tzi.org> <CAOeq1c_SW1WwHZPMwunWPh3W53vCZThvEUuhb5Y1_NnbT6s=ng@mail.gmail.com> <CALaySJ+6zVXRW-PoXrXL4NaNyNBkd=gaN6M0Y2x0czFe_EGC4g@mail.gmail.com> <CAOeq1c98Ay5z1EBXgCq3T7KmRR6+osMp+VnL0-JBnsqt_hf25A@mail.gmail.com>
In-Reply-To: <CAOeq1c98Ay5z1EBXgCq3T7KmRR6+osMp+VnL0-JBnsqt_hf25A@mail.gmail.com>
From: Tim Bray <tbray@textuality.com>
Date: Wed, 10 Jun 2020 08:00:51 -0700
Message-ID: <CAHBU6isoNk8AsmgdsnnXoFbwAfhRQNeBdNTBQDgm7ksc8QLKMQ@mail.gmail.com>
To: David Golden <xdg@xdg.me>
Cc: Barry Leiba <barryleiba@computer.org>, Carsten Bormann <cabo@tzi.org>, RFC Errata System <rfc-editor@rfc-editor.org>, Murray Kucherawy <superuser@gmail.com>, "Matthew A. Miller" <linuxwolf+ietf@outer-planes.net>, JSON WG <json@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000cb11a205a7bc1cbe"
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/fEENnySYevQd1j9qdqBKCLu1LRU>
Subject: Re: [Json] [Technical Errata Reported] RFC8259 (6208)
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jun 2020 15:01:11 -0000

The erratum would have been more convincing had it described any plausible
course of action other than rejecting or silently accepting the BOM.  I
can't think of anything useful that software could do. That doesn't mean
there isn't anything, but a suggestion would be helpful.

On Wed, Jun 10, 2020 at 7:50 AM David Golden <xdg@xdg.me> wrote:

> I understand.  Would it be more appropriate then to limit the "may ignore
> a BOM" to "may ignore a UTF-8 BOM" so that the interop suggestion does not
> inadvertently encourage incorrect decoding?  That would be consistent with
> the UTF-8 only restriction and leave legacy encoding/BOM considerations out
> of scope.
>
> I realize this may seem picky, but this stems from discussions at work
> about whether/how to support legacy BOMs and people have interpreted the
> RFC differently.  I was hoping to create clarity consistent with the intent
> of the working group, whatever that turns out to be.
>
> David
>
> On Wed, Jun 10, 2020 at 10:42 AM Barry Leiba <barryleiba@computer.org>
> wrote:
>
>> David, I understand that it might be worth having further discussion
>> about the issue.  The problem *here* is that there is not an error in
>> the RFC: the RFC accurately reflects the consensus of the working
>> group and the text that was reviewed and agreed on at the time.  So
>> it's not in scope for an errata report.  Discussion about whether or
>> not to revisit this and to publish an RFC that says something
>> different is... a separate discussion.
>>
>> Barry, ART AD
>>
>> On Wed, Jun 10, 2020 at 10:38 AM David Golden <xdg@xdg.me> wrote:
>> >
>> > I agree that BOMs don't belong on JSON, but three prior RFC allowed
>> them.  (The first one even specified how to do so.)
>> >
>> > Given a JSON text generated under a previous specification with a
>> UTF-16/32 BOM, ignoring the BOM is incorrect behavior.  As currently
>> written -- copied verbatim from the prior two RFCs when BOMs were legal --
>> the only interoperability suggestion is to ignore a BOM.
>> >
>> > My proposal does not encourage the use of BOMs or unravel the WG
>> consensus (which I fully support).  It merely prepares implementations for
>> the presence of other implementations that predate the current, more
>> restrictive specification.
>> >
>> > Respectfully yours,
>> > David
>> >
>> > On Wed, Jun 10, 2020 at 9:43 AM Carsten Bormann <cabo@tzi.org> wrote:
>> >>
>> >> The WG had pretty strong consensus that BOMs don’t belong on JSON.
>> >> This “MAY” prepares implementations for the presence of other
>> implementations that do not heed that consensus.  No functionality is
>> assigned by this MAY.
>> >>
>> >> Since Errata are not intended to unravel WG decisions: Reject.
>> >>
>> >> Apart from that, I seriously don’t understand what the "indicate an
>> alternate encoding” would be — the JSON text already is UTF-8?
>> >>
>> >> Grüße, Carsten
>> >>
>> >>
>> >> > On 2020-06-10, at 15:32, RFC Errata System <
>> rfc-editor@rfc-editor.org> wrote:
>> >> >
>> >> > The following errata report has been submitted for RFC8259,
>> >> > "The JavaScript Object Notation (JSON) Data Interchange Format".
>> >> >
>> >> > --------------------------------------
>> >> > You may review the report below and at:
>> >> > https://www.rfc-editor.org/errata/eid6208
>> >> >
>> >> > --------------------------------------
>> >> > Type: Technical
>> >> > Reported by: David Golden <xdg@xdg.me>
>> >> >
>> >> > Section: 8.1
>> >> >
>> >> > Original Text
>> >> > ——————
>> >> > In the interests of interoperability, implementations that parse
>> JSON texts MAY ignore the presence of a byte order mark rather than
>> treating it as an error.
>> >> >
>> >> > Corrected Text
>> >> > --------------
>> >> > In the interests of interoperability, implementations that parse
>> JSON texts MAY ignore the presence of a byte order mark or MAY interpret a
>> byte order mark to indicate an alternate encoding rather than treating it
>> as an error.
>> >> >
>> >> > Notes
>> >> > -----
>> >> > The original line is copied from previous RFCs that specifically
>> allowed alternate encodings.  In the context of a new, UTF-8 only
>> restriction, interoperability provisions should also address interpreting
>> legacy formats that predate the restriction.  By omission, readers may
>> conclude that the *only* option for a BOM is to ignore or error.
>> >> >
>> >> > 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.
>> >> >
>> >> > --------------------------------------
>> >> > RFC8259 (draft-ietf-jsonbis-rfc7159bis-04)
>> >> > --------------------------------------
>> >> > Title               : The JavaScript Object Notation (JSON) Data
>> Interchange Format
>> >> > Publication Date    : December 2017
>> >> > Author(s)           : T. Bray, Ed.
>> >> > Category            : INTERNET STANDARD
>> >> > Source              : Javascript Object Notation Update
>> >> > Area                : Applications and Real-Time
>> >> > Stream              : IETF
>> >> > Verifying Party     : IESG
>> >> >
>> >> > _______________________________________________
>> >> > json mailing list
>> >> > json@ietf.org
>> >> > https://www.ietf.org/mailman/listinfo/json
>> >>
>> >
>> >
>> > --
>> > David Golden <xdg@xdg.me>https://xdg.me/ • Twitter/GitHub: @xdg
>>
>
>
> --
> David Golden <xdg@xdg.me>https://xdg.me/ • Twitter/GitHub: @xdg
>