Re: [Jmap] [art] [Last-Call] Artart last call review of draft-ietf-jmap-contacts-06

Neil Jenkins <neilj@fastmailteam.com> Fri, 12 April 2024 06:09 UTC

Return-Path: <neilj@fastmailteam.com>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 50181C14F5FC; Thu, 11 Apr 2024 23:09:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b="oP0sbrqW"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="heF4pBTB"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b_zgSYT2mTPk; Thu, 11 Apr 2024 23:09:35 -0700 (PDT)
Received: from wfhigh3-smtp.messagingengine.com (wfhigh3-smtp.messagingengine.com [64.147.123.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0C411C14F61C; Thu, 11 Apr 2024 23:09:34 -0700 (PDT)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.west.internal (Postfix) with ESMTP id C02821800105; Fri, 12 Apr 2024 02:09:31 -0400 (EDT)
Received: from imap43 ([10.202.2.93]) by compute5.internal (MEProxy); Fri, 12 Apr 2024 02:09:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:cc:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1712902170; x=1712988570; bh=r33O3wDXLzitQzeBqCupJ8pr/i6azWH0hfC0xzg/xIw=; b= oP0sbrqWijFJwJi+kIAlqVK/P0MqNQOP5F8x2opb3ZwUAZ4gEgxP5l7CLnF863TA PdsuX+ujSS7iccV6HglBUStYsurb9RKRhttqcBng1Gc/WSXM2Ka8blD0+uMrvM43 Y4w4mhE5kAyKdN34zIFG9K6GFYDxfrsITe29mXj5b36plGX003ev6MvCQ/zxvBzE /5HJzA5GhziBZ3iq33xPjpowCHDPEf5voZH1zRuq20SqhV+8LdP5NvMjAJYDfx80 25RV0PI5GGhdakAulImVyGWYiV93bv0AqIEgdydFif4fxxnaXG4xFw1BgEOpo7kb YwkOXuDFRVUSP8XeohMBbg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1712902170; x=1712988570; bh=r33O3wDXLzitQzeBqCupJ8pr/i6a zWH0hfC0xzg/xIw=; b=heF4pBTBGbN+upnF2kXosYPyz8GF1N81Mls8VktDragD eHvkc1P+4kvdITW6NKsjRaSjVSK+/4emtJoKdQlBWXiP6hTDLp02IPXtgIRxQQe/ nhK8GQUPBZkTSlEL9tJZlSLYgcPpLSqecHqqpKTdYqkrUqIRdi6o1PorGWoNrqaP Nw4SzHvdwDrL3orhiMUopHuRpIgZhdm6JQOtaD/uu0tpqcadYCC53XUUnJG5wBYx QZpbtVpVyh9seq0Ah/kfTocR4/7vOUAoF61TUHNLzMiOQLmLs6iWkxFiSYiDtRqD 6drdUlE3yWRxDwNhOlvVaaIWt76oLMO85t+JZSE9ew==
X-ME-Sender: <xms:GdAYZtFdvZMUO3qJdLBbs3gmF3ETeDSse8c1v4hf5syg9vPTjoGlWw> <xme:GdAYZiXUjAwpuac9UCEoBIwyr3lRo1ovxu3vbObto0UoUkT7r1HP0boo4023WPbcn XInTzSG1aVkNA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeitddgieelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsegrtderreerredtnecuhfhrohhmpedfpfgv ihhlucflvghnkhhinhhsfdcuoehnvghilhhjsehfrghsthhmrghilhhtvggrmhdrtghomh eqnecuggftrfgrthhtvghrnhepueehieefvddukeffueeguddtvefgheekteeguedtkeek leehfeekuedutdetgefgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepnhgvihhljhesfhgrshhtmhgrihhlthgvrghmrdgtohhm
X-ME-Proxy: <xmx:GtAYZvLpC363J_MX743ziGpq1K8KE-J3ib_BvsC3d456XiP9RKnd5g> <xmx:GtAYZjF0PStlUvH6AiLyTgtcCQCEnkWVKdiDqBPObEUIx6efV4rPtA> <xmx:GtAYZjVD_naG_xUVIrTvODjWKQQnZyBHIDVY85okr0w3beNvUa64rg> <xmx:GtAYZuPXZob5y-7jm-h2J6eG7DflXsCrQU7oWKIOGofnJfBGPiEGew> <xmx:GtAYZqGxlzxQ1JoesEX-T1-INP6Hs_DNN1Rmwcegyq4eu6F1WD3R9bbg>
Feedback-ID: ibc614277:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id E4D7D2D4007D; Fri, 12 Apr 2024 02:09:29 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.11.0-alpha0-379-gabd37849b7-fm-20240408.001-gabd37849
MIME-Version: 1.0
X-ThreadId: T5bda6f4517996d42
Message-Id: <2cafff63-3e4f-4374-b7e1-0cce6c6af741@localhost>
In-Reply-To: <C7BD794D4CA959AAE6EF9EA4@PSB>
References: <171112316193.8644.5801107423421446407@ietfa.amsl.com> <1C02FE5D-624B-4BBE-A7F3-91EDF54CDE4F@tzi.org> <b5fac088-9eb3-4ede-a266-f943aeaab076@stpeter.im> <4E9A8148-9EFE-4448-B94E-96FBDB6A2B9A@tzi.org> <06c317c8-8d14-4d78-a4c9-9c44cfc3ec31@stpeter.im> <03ef2b74-19d2-43c1-9c5b-b0aa315c8738@dogfoodapp.fastmail.com> <5c10be7c-8913-46f5-a0bd-e28102624d88@stpeter.im> <C42C278BC5CB8F3EE2920E99@PSB> <521b092a-6490-4fe2-9126-961335a1892b@stpeter.im> <94FE04C6853F55BF4B1C1FFB@PSB> <58438804-1a10-4a86-8f87-d449c0db542a@betaapp.fastmail.com> <407F5BC2-BEFE-4F6B-872D-FB31934740A3@tzi.org> <48ACBF0C07D869A2B7CE1151@PSB> <BBAD5203-3C97-42CF-91B7-3795F495F9DE@tzi.org> <C7BD794D4CA959AAE6EF9EA4@PSB>
Date: Fri, 12 Apr 2024 16:09:08 +1000
From: Neil Jenkins <neilj@fastmailteam.com>
To: John C Klensin <john-ietf@jck.com>, Carsten Bormann <cabo@tzi.org>
Cc: Bron Gondwana <brong=40fastmailteam.com@dmarc.ietf.org>, Peter Saint-Andre <stpeter@stpeter.im>, art@ietf.org, draft-ietf-jmap-contacts.all@ietf.org, IETF JMAP Mailing List <jmap@ietf.org>, last-call@ietf.org
Content-Type: multipart/alternative; boundary="5f5309dbbd234671bd56ba33f14c13cf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/wrBZyd4cuktsjBrNnQFA2MpJ4cs>
Subject: Re: [Jmap] [art] [Last-Call] Artart last call review of draft-ietf-jmap-contacts-06
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: JSON Message Access Protocol <jmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jmap>, <mailto:jmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap/>
List-Post: <mailto:jmap@ietf.org>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jmap>, <mailto:jmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 12 Apr 2024 06:09:40 -0000

With thanks to John Klensin for some of the text I adapted, I have added the following:

*Internationalisation considerations*

Experience has shown that unrestricted use of Unicode can lead to problems such as inconsistent rendering, users reading text and interpreting it differently than intended, and unexpected results when copying text from one location to another. Servers MAY choose to mitigate this by restricting the set of characters allowed in otherwise unconstrained String fields. The FreeformClass, as documented in [RFC7564], Section 4.3 may be a good starting point for this.

Attempts to set a value containing code points outside of the permissible set can be handled in a few ways by the server. The first option is to simply strip the forbidden characters and store the resulting string. This is likely to be appropriate for control characters for example, where they can end up in data accidentally due to copy-and-paste issues, and are probably invisible to the end user. JMAP allows the server to transform data on create/update, as long as any changed properties are returned to the client in the /set response, so it knows what has changed, as per [RFC8620], Section 5.3. Alternatively, the server MAY just reject the create/update with an invalidProperties SetError.

Do the concerned parties feel this addresses the issue sufficiently?

I have also rewritten the AddressBook "name" definition to be clearer the restrictions are purely about length. It now reads:

*name*: `String`
The user-visible name of the AddressBook. This MUST NOT be the empty string and MUST NOT be greater than 255 octets in size when encoded as UTF-8.

Cheers,
Neil.