Re: [Json] EcmaScript V6 - Defined Property Order

Anders Rundgren <anders.rundgren.net@gmail.com> Sun, 25 October 2015 15:32 UTC

Return-Path: <anders.rundgren.net@gmail.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C89F71B3057; Sun, 25 Oct 2015 08:32:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.1
X-Spam-Level:
X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
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 Uw03uZ8bhZ5u; Sun, 25 Oct 2015 08:32:41 -0700 (PDT)
Received: from mail-wi0-x231.google.com (mail-wi0-x231.google.com [IPv6:2a00:1450:400c:c05::231]) (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 4270D1B3058; Sun, 25 Oct 2015 08:32:41 -0700 (PDT)
Received: by wicfv8 with SMTP id fv8so85507403wic.0; Sun, 25 Oct 2015 08:32:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=RI61SlPE8BjOyeFkIaF194ZdvJdsi+DJ2iDg+p/vTyo=; b=RMKYmyo0pQvfBlUJjcjUTETGf8YPuae+w1ruj7sYoZ39/9JkNMYft38Xv7yZia3km6 YY3DF8GM23IRs1QtdLOmKyoAEj2R9aS3PuyNKzALStqJG59pRB9h4yoYIsrj0cc1FClT 7akz1yZYNvqXYTTVxfJe2fpC6SMMv8Ovj+1ueluwxNH4nLwG8iZM9Vk2JWYCe8YZaBHD 2RT3bf91lT4EOzmiuS6nY2C094ipNRgGZKUjX2w8o8+20zHv3T9A6SGn0UMoV6SzqWLW D68jc6r+mTdKORNDeSDuqAGmrUIaxxgZj5p2wylj9HS/cyK7dYSS8j9Ip5KnezZ5k9R/ Iqow==
X-Received: by 10.194.91.164 with SMTP id cf4mr15229417wjb.139.1445787159589; Sun, 25 Oct 2015 08:32:39 -0700 (PDT)
Received: from [192.168.1.79] (148.198.130.77.rev.sfr.net. [77.130.198.148]) by smtp.googlemail.com with ESMTPSA id gl4sm34062495wjd.49.2015.10.25.08.32.38 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Oct 2015 08:32:38 -0700 (PDT)
To: "jose@ietf.org" <jose@ietf.org>, "json@ietf.org" <json@ietf.org>
References: <562C9C1F.6020507@gmail.com>
From: Anders Rundgren <anders.rundgren.net@gmail.com>
Message-ID: <562CF614.4020200@gmail.com>
Date: Sun, 25 Oct 2015 16:32:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <562C9C1F.6020507@gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/json/qTZaMDp4bPom2W7Si_7HIAfWlM8>
Subject: Re: [Json] EcmaScript V6 - Defined Property Order
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
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: Sun, 25 Oct 2015 15:32:42 -0000

Since the ES6 Number type is 64-bit IEEE, there's no need to worry about number canonicalization either if you base the signature system on ES6 which seems like a pretty safe bet.

http://www.ecma-international.org/ecma-262/6.0/index.html#sec-tostring-applied-to-the-number-type

That is, AFAICT, clear-text in-object JSON signatures are already compatible with ES6 (and I must drop my "number preservation" stuff...).

Folks working with constrained devices will probably settle for CBOR.

On 2015-10-25 10:08, Anders Rundgren wrote:
> http://www.ecma-international.org/ecma-262/6.0/index.html#sec-ordinary-object-internal-methods-and-internal-slots-ownpropertykeys
>
> I can't say I'm able "deciphering" the ES6 specification but it seems that the largest base of JSON parsers (the browsers), now are compliant with in-object JSON clear-text signature schemes of the kind I have proposed (pushing maybe...), albeit with some (IMO for practical purposes insignificant) limitations:
>
> - Integer property names doesn't work.
> - Numeric values would have to be normalized.
>
> Java, Python, and C# already manages this as well.
>
> Yay!
>
> Anders
>