Re: [Json] Gen-ART and OPS-Dir review of draft-ietf-json-text-sequence-09

Nico Williams <nico@cryptonector.com> Tue, 09 December 2014 03:31 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A65591A0242; Mon, 8 Dec 2014 19:31:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.366
X-Spam-Level:
X-Spam-Status: No, score=-1.366 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
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 x0B8mgjodxI2; Mon, 8 Dec 2014 19:31:00 -0800 (PST)
Received: from homiemail-a26.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id A3AAA1A013B; Mon, 8 Dec 2014 19:31:00 -0800 (PST)
Received: from homiemail-a26.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a26.g.dreamhost.com (Postfix) with ESMTP id 385DAB805B; Mon, 8 Dec 2014 19:31:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to:content-transfer-encoding; s= cryptonector.com; bh=0JxJJXJyzYnY0481yhf2d4om7os=; b=YswAceYbEi8 xC2eKo6YVFOFlH+90GfM0oW62jxm/0lwb91d/lT5F7uszY9+EQQlG3VAhiscPoRh pAjK0IHeHAm8TW7n0pAolOlEzrf8EEXiaFTen8OGnp0FX+AhdXlb/wrzmk/lDTfM EFyGAbbQdJJ3se8m4z6o7x/LhuSaXKSI=
Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a26.g.dreamhost.com (Postfix) with ESMTPA id 96DF6B8057; Mon, 8 Dec 2014 19:30:59 -0800 (PST)
Date: Mon, 08 Dec 2014 21:30:57 -0600
From: Nico Williams <nico@cryptonector.com>
To: Patrik Fältström <paf@frobbit.se>
Subject: Re: [Json] Gen-ART and OPS-Dir review of draft-ietf-json-text-sequence-09
Message-ID: <20141209033052.GA11221@localhost>
References: <CE03DB3D7B45C245BCA0D24327794936289DC7@MX104CL02.corp.emc.com> <89601952-AA04-44EE-A6DA-E76D0AB07C21@frobbit.se> <20141207180528.GA1116@mercury.ccil.org> <D4E95FE1-0C25-4541-8327-16313175F13A@frobbit.se>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
In-Reply-To: <D4E95FE1-0C25-4541-8327-16313175F13A@frobbit.se>
User-Agent: Mutt/1.5.21 (2010-09-15)
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/ietf/Zo37YNwx07tXiTZ7ceNSrf7HvEU
Cc: "ops-dir@ietf.org" <ops-dir@ietf.org>, John Cowan <cowan@mercury.ccil.org>, "ietf@ietf.org" <ietf@ietf.org>, "Black, David" <david.black@emc.com>, "json@ietf.org" <json@ietf.org>, "General Area Review Team (gen-art@ietf.org)" <gen-art@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Dec 2014 03:31:01 -0000

[I've been traveling, please excuse my late responses.]

On Sun, Dec 07, 2014 at 07:55:41PM +0100, Patrik Fältström wrote:
> > On 7 dec 2014, at 19:05, John Cowan <cowan@mercury.ccil.org> wrote:
> > Patrik Fältström scripsit:
> > 
> >> But it also reference RFC7159, which doesn't require UTF-8 but instead
> >> for some weird reason also allow other encodings of Unicode text. And
> >> on top of that it says Byte Order Mark is not allowed.
> > 
> > 7159 was meant to tighten the wording of 4627, not to impose additional
> > constraints on it.  For that, see the I-JSON draft.
> 
> The problem I have is that 7159 is not tight enough as it allows other
> encodings than UTF-8, which in turn make the encoding not work very
> well as this draft take for granted each one of the separator
> characters is one byte each.
> 
> I.e. the way I read draft-ietf-json-text-sequence (and I might be
> wrong), you have specific octet values that act as separators. That
> only works if the encoding is UTF-8.

Right.  I'll add text to section 2.2 saying that the JSON texts have to
be encoded in UTF-8.

> See Figure 1:
> 
> > possible-JSON = 1*(not-RS); attempt to parse as UTF-8-encoded
> >                                ; JSON text (see RFC7159)
> 
> Now, if this is NOT UTF-8, then this might be pretty bad situation.

Well, you can always fuzz test a parser... :)

But yes, the encoder should use UTF-8.

> What I am saying is that I would like this draft to explicitly say
> that the only profile of RFC7159 that can be used is when UTF-8 is in
> use, i.e. somewhere something like "The encoding MUST be UTF-8,
> although RFC7159 also allow other encodings, like UTF-16." Then in the
> security considerations section that "RFC7159 do allow not only UTF-8
> encoding but also for example UTF-16, which MIGHT create problems for
> a parser, all depending on what data is serialized."
> 
> I.e. I want this draft to be even more tight than RFC7159.

I agree with this.  This was always my intent (as in: I never intended
to support UTF-16 or UTF-32, say, or any other UTF, in any
implementation of mine).

And I agree that this format doesn't work with UTF-16 or UTF-32 EVEN IF
the UTF were part of the MIME type and UTF-specific multi-byte
separators were used: because at least for log-type applications where
atomicity of writes is in question multi-byte separators won't do.

Nico
--