Re: [Json] JSL: Clarifying purpose, and renaming it to JDDF

"Manger, James" <James.H.Manger@team.telstra.com> Thu, 29 August 2019 07:42 UTC

Return-Path: <James.H.Manger@team.telstra.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 2297712082A for <json@ietfa.amsl.com>; Thu, 29 Aug 2019 00:42:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=team.telstra.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 aAROPkAFpgAq for <json@ietfa.amsl.com>; Thu, 29 Aug 2019 00:42:41 -0700 (PDT)
Received: from ipxcvo.tcif.telstra.com.au (ipxcvo.tcif.telstra.com.au [203.35.135.208]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 85BD1120822 for <json@ietf.org>; Thu, 29 Aug 2019 00:42:40 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.64,442,1559484000"; d="scan'208";a="212818045"
X-Amp-Result: SKIPPED(no attachment in message)
Received: from unknown (HELO ipcbvi.tcif.telstra.com.au) ([10.97.217.204]) by ipocvi.tcif.telstra.com.au with ESMTP; 29 Aug 2019 17:42:30 +1000
Received: from wsmsg3752.srv.dir.telstra.com ([172.49.40.173]) by ipcbvi.tcif.telstra.com.au with ESMTP; 29 Aug 2019 17:42:29 +1000
Received: from wsapp5584.srv.dir.telstra.com (10.75.131.20) by wsmsg3752.srv.dir.telstra.com (172.49.40.173) with Microsoft SMTP Server (TLS) id 8.3.485.1; Thu, 29 Aug 2019 17:41:45 +1000
Received: from wsapp5585.srv.dir.telstra.com (10.75.3.67) by wsapp5584.srv.dir.telstra.com (10.75.131.20) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 29 Aug 2019 17:41:44 +1000
Received: from AUS01-SY3-obe.outbound.protection.outlook.com (10.172.101.125) by wsapp5585.srv.dir.telstra.com (10.75.3.67) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Thu, 29 Aug 2019 17:41:44 +1000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VsRfHrbDU21ab1wBQYK0hHT+dVWsAFtR0CcAv7TYJA2d8jF9ITDeDbcBlUJx6Fz7boMGlaAr53tlc8/ZgvNaR7ymY+LdL9D2qa4dTbCM8KByHxm0he6k+2jVcU1/XW2wL3jZzd8xQI8ikPxDG6f+ZoK3M3eOzNeSJni3QZHkppb6Gdw6s8uv+iuYof9yL+2H1DII7stCbU8tp9Vo4GhDdipqem2TW/g5f6aPKjuGoAFUJ2a5w03bsitYbCXTQlTX/iIkvDbxmwCZtBkMsePbvRbygiZXc4wkEc3pwEWrVbx+l9AfEgvEQMn/ZFFkUqiUyejh+3jNuVf6IMTXRHOE8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HEXln+whisbLWCmJnf6badrKdWGP+ax2QtV2A7MJjbA=; b=oZUSgMwUE40dG2NfiI7BbIdRlrPKtu++Iqm9kKTG8OnJG35EJSkXgLUW0xk/GUYtVcla4lrfkkKMSPxtgUHfZPmw4L/SDFLaHEu/+TFXEm6iRWOTz2kaGGqlnSihzir/6pVzzNpeEfAWLFaQeNa0P/imyw5j1iIIIL82VjzQsIr9N8zbzRhw1zswRLZ86nfNmSj0tuDr0JklI7Gg/iRRw7+ZTeB5d0mCd3DVrs5T23bo0/6Q9Qt2qLX2pR1UkeSV2kcyjLW4QgljAYo0duzVsJF+qUoGpLcTYYPrdtaysV/f9ukVtHfHrtcFZ5LvkwbA0C3dFWMLYZiBh10+Fougdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=team.telstra.com; dmarc=pass action=none header.from=team.telstra.com; dkim=pass header.d=team.telstra.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=team.telstra.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HEXln+whisbLWCmJnf6badrKdWGP+ax2QtV2A7MJjbA=; b=DxNucc16nvyaz9O/MLbgCxCaasw6ITojEDHKFZmPvwx0J0vZSgMsbmC54ABr11Hpbn1eE5e9oQKk1Y2/52vQytZrMI9D3mgtAkJ6a40t74n7UeJN8VQ4epwXgnqhWvSS/8najWNlEJHbKa5LfNIuGxzWO1BqtSXvMClSgQKUrWI=
Received: from SY2PR01MB2764.ausprd01.prod.outlook.com (52.134.190.138) by SY2PR01MB3147.ausprd01.prod.outlook.com (52.134.191.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Thu, 29 Aug 2019 07:41:43 +0000
Received: from SY2PR01MB2764.ausprd01.prod.outlook.com ([fe80::3d38:e83c:295:b28d]) by SY2PR01MB2764.ausprd01.prod.outlook.com ([fe80::3d38:e83c:295:b28d%4]) with mapi id 15.20.2199.021; Thu, 29 Aug 2019 07:41:43 +0000
From: "Manger, James" <James.H.Manger@team.telstra.com>
To: Ulysse Carion <ulysse@segment.com>, JSON WG <json@ietf.org>
Thread-Topic: [Json] JSL: Clarifying purpose, and renaming it to JDDF
Thread-Index: AQHVXdry9oK6lPp0d0O1tpBiqjOWTKcRrocA
Date: Thu, 29 Aug 2019 07:41:43 +0000
Message-ID: <SY2PR01MB2764EDAB3DD01417A95A26D5E5A20@SY2PR01MB2764.ausprd01.prod.outlook.com>
References: <CAJK=1Rj6zW_MffKvsOiQh28KY5yDeoALGSYqve+vGj52s1Owag@mail.gmail.com>
In-Reply-To: <CAJK=1Rj6zW_MffKvsOiQh28KY5yDeoALGSYqve+vGj52s1Owag@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-product: dlpe-windows
dlp-version: 11.1.100.23
dlp-reaction: no-action
authentication-results: spf=none (sender IP is ) smtp.mailfrom=James.H.Manger@team.telstra.com;
x-originating-ip: [203.35.185.253]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ce648dd8-7527-41ef-3348-08d72c545660
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:SY2PR01MB3147;
x-ms-traffictypediagnostic: SY2PR01MB3147:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <SY2PR01MB3147BAA0ABCAE59678D1A731E5A20@SY2PR01MB3147.ausprd01.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0144B30E41
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(39860400002)(396003)(346002)(366004)(376002)(136003)(189003)(199004)(8936002)(966005)(478600001)(229853002)(52536014)(5660300002)(66556008)(66476007)(71200400001)(71190400001)(3846002)(86362001)(6116002)(76116006)(66446008)(66066001)(66946007)(64756008)(8676002)(6506007)(2906002)(25786009)(74316002)(110136005)(26005)(446003)(11346002)(76176011)(186003)(305945005)(7696005)(14454004)(316002)(486006)(55016002)(7736002)(6306002)(6436002)(53936002)(9686003)(102836004)(33656002)(256004)(6246003)(476003)(99286004)(81156014)(81166006); DIR:OUT; SFP:1102; SCL:1; SRVR:SY2PR01MB3147; H:SY2PR01MB2764.ausprd01.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:0;
received-spf: None (protection.outlook.com: team.telstra.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: BDAmjbUd75mwBQdgxr+BYC8XoN6lTxx84ffYzeM24wV+6Bv9CSp9YTSsj56s6XPr2n98hTdIRPd7EZj1SLLmfu7ypkFgzt/UgJmOxLlRDkGclNEHWz5e2CpDnwxLdR1E6tVHPnViZn8Vs9AnsTIJ8t6jbXsE+o6dFvnlh6GjHbW6QId4R9ocqrz/hx0C4XBtmd7hQt136gSbcJlYe8GPiwzd68x3LXKixo1ta3ABcUd/ui1ysdm9t5Q5w5Q/8MgP0fAS6wsobE8MVFNdw2LVC1/UlCRwfYGABri2qt4xD7WUysxsJaR6ropcM3s8aSn0EYRHZZPYYhm/PgFueSNV9Fw9kOIqsF4AQxe2VbBODyL1HZxozPO+j5MXdVZTYiWi7YIxS0GTY+Tu5pyuxhF9WbH9RD+RXhkOnxZ36YgbOk0=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: ce648dd8-7527-41ef-3348-08d72c545660
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2019 07:41:43.3265 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 49dfc6a3-5fb7-49f4-adea-c54e725bb854
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cLCgJhsfG6ILb0OH6ghaKIxE7/3GjmsjBTL2aZqsadBfJcty6X3oUjvRrK9PeR0dgLWjoynM2OIHkYwVjv2drCYnd8Ph7ceyR8u4l1aMFjg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY2PR01MB3147
X-OriginatorOrg: team.telstra.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/tMGuJ3nSqg7DCOm9A8w7iFRWW_A>
Subject: Re: [Json] JSL: Clarifying purpose, and renaming it to JDDF
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: Thu, 29 Aug 2019 07:42:50 -0000

> https://tools.ietf.org/html/draft-ucarion-jddf-00
> ...
> I fear we may be at loggerheads on the question of {"type":"int53"}.


JDDF offers "type":"uint8" but very common languages, such as Java, don't have an unsigned 8-bit type. So code generation might use a short (16-bit signed integer) to handle the [0, 255] range. That seems to put the code in a very similar situation to using a long when the JDDF says "int54". In both cases the native type can hold values that the schema doesn't allow, requiring extra parse/stringify functions if you really want to enforce the schema's rules.

>> I didn't see any support for binary data

Suggested extra types:
* "type": "intString" -- an integer exchanged in decimal notation as a JSON string, with no decimal point or exponent. (maybe only offer "int64String" instead, if it is only 64-bit values that typically use this format)
* "type": "uintB64u" -- a (non-negative) integer (potentially huge, as often used in cryptography) exchanged as a JSON string holding the base64url-encoding (without padding) of an unsigned big-endian representation of the integer. (may need a comment about gracefully accepting leading 0 bytes).
* "type": "bytesB64" -- a byte array exchanged as a JSON string holding its base64-encoding
* "type": "bytesB64u" -- a byte array exchanged as a JSON string holding its base64url-encoding (without padding)

--
James Manger