Re: [Jmap] Integrity checking of blobs

Bron Gondwana <brong@fastmailteam.com> Tue, 07 June 2022 23:17 UTC

Return-Path: <brong@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 4C086C14CF01 for <jmap@ietfa.amsl.com>; Tue, 7 Jun 2022 16:17:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.109
X-Spam-Level:
X-Spam-Status: No, score=-7.109 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_DNSWL_HI=-5, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=gLXLjI9V; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=v2k6qMOz
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 ZiuyRn1GrIVI for <jmap@ietfa.amsl.com>; Tue, 7 Jun 2022 16:17:51 -0700 (PDT)
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com [64.147.123.19]) (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 9413DC14F73A for <jmap@ietf.org>; Tue, 7 Jun 2022 16:17:51 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id BF0A53200B89; Tue, 7 Jun 2022 19:17:50 -0400 (EDT)
Received: from imap43 ([10.202.2.93]) by compute4.internal (MEProxy); Tue, 07 Jun 2022 19:17:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1654643870; x= 1654730270; bh=xjukGDbLZX17biyIB+u/LFAXPXum0+jIZbHba/vxbuw=; b=g LXLjI9V2N3dc5T77nZs7Ng/QfW/zWhJiMMVNanVJXBFUdeqcFhtmEyqiWNFQG6GD h9Dcw0EADjySyW+D7KgFX+HCLEyn0vAHOFaX/Ur8Bt08HhLwDOldIG1vBPjooRpJ 5gRCUyZ+g0tU7xmC45OnHuK88hwC4jopElrRDIJOtn9pYTOTOwF9ekfRxnA+HpKQ yAYxfWbeN8vLHt+cpHOoRXDnf/TeD1mXjtjul3H0+eJHNbw823JJ6Ure/W3zeQBv csZdWbmep3H5N+lv1qm3jb++haNBXmuPI8bFcoFLp4rCBfMShBSuax5xJPLTzIA0 M0Nl9CWPgkPqypxsMkACg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1654643870; x=1654730270; bh=xjukGDbLZX17biyIB+u/LFAXPXum 0+jIZbHba/vxbuw=; b=v2k6qMOz5A1d+VPBZc+gkJjQmjVQ99ztonGE2wyhM5yu kG3xE0W9Yn1o/11q3EQkFkPXLxMyVeG83z8sZb05VwNb9FyOPQunn87oVhM09INe IqOtvh4G+XjN+sQd+EHYqyz/hycUHSVoxik2yFtF6NROKS0kMEEvL8rZf+482w7O vq8vlRGedRIaExtqlpPc6cpth/Zm3P19PB2NNK+7MD/ddCfnnDNkmFAoCGiZQ6+o IVBAhxDb/5FJhvOsICl9WJ2mCTWwV0bcaOObj3m1UdIz84sYFNQgqQTmdhiyrwt+ w2ManIMftfWcG5A+NM+cUjCuniugJnZaiVREa2ZTaQ==
X-ME-Sender: <xms:ntyfYnXGvvGs4xikDNt8n2TFFj5uDWlYd-fWpd_AdneO-BvU3pBIpA> <xme:ntyfYvm5WQZ6mZ66p7S8iaYIQE6qFwWIGP43rdmxy9ISKd6JXfsRyj_axlh9PdlTt kE1HlTwbtw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddtiedgudelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsegrtderreerredtnecuhfhrohhmpedfuehr ohhnucfiohhnugifrghnrgdfuceosghrohhnghesfhgrshhtmhgrihhlthgvrghmrdgtoh hmqeenucggtffrrghtthgvrhhnpeegueehfeegueefveeiudelueelvdegtdehffeltdel ffeuiefgueekkeektedtvdenucffohhmrghinhepihgvthhfrdhorhhgnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsghrohhnghesfhgrshht mhgrihhlthgvrghmrdgtohhm
X-ME-Proxy: <xmx:ntyfYjY9NqjbrUYErArKDzGBmElNiTlhGP_wg83AlZ7AefzgatSiew> <xmx:ntyfYiUAwuCqKQOrdKYo0jeRir9C_Ju-XQiXhPOtKp-J7fqomRu3JA> <xmx:ntyfYhkSG3M1EuxIwLI6Ud-zkbuY0SYSJAGRQEFYzzIhl7acU0bGuw> <xmx:ntyfYvTS04NaTbMm0Cuabib80g7tzQBAR69Adr9MPWU7fQMyq75SBg>
Feedback-ID: i2d7042ce:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 0D4942D4006D; Tue, 7 Jun 2022 19:17:50 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-692-gb287c361f5-fm-20220603.003-gb287c361
Mime-Version: 1.0
Message-Id: <3e685894-e702-4085-a74a-f2ad7fca5c95@dogfood.fastmail.com>
In-Reply-To: <878rqi7hb7.fsf@eliza.sh>
References: <87sfoubmmr.fsf@eliza.sh> <eb0e0c4e-b217-47e4-aec6-da30a1395632@dogfood.fastmail.com> <878rqi7hb7.fsf@eliza.sh>
Date: Wed, 08 Jun 2022 09:17:15 +1000
From: Bron Gondwana <brong@fastmailteam.com>
To: jmap@ietf.org
Cc: Eliza Velasquez <eliza@eliza.sh>
Content-Type: multipart/alternative; boundary="82f6ee8d898a4e668c573ba0f6e747ca"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/MIwQgFVWlevIT-eyq9WYuXMjHgY>
Subject: Re: [Jmap] Integrity checking of blobs
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: Tue, 07 Jun 2022 23:17:56 -0000

Just comment on the mailing list about the draft :)  I've added the "digest:<algorithm>" get syntax, now just need to add a bunch of advice to clients and servers!

Cheers,

Bron.

On Tue, May 31, 2022, at 09:05, Eliza Velasquez wrote:
> Oh, that's great! Is this something I can contribute to? I'm afraid I
> have no experience when it comes to the IETF RFC process.
> 
> On Mon, May 30 2022 at 10:48 +10, "Bron Gondwana" <brong@fastmailteam.com> wrote:
> 
> > I'm working on a draft for blob extensions right now... I could easily add such a thing!
> >
> > https://datatracker.ietf.org/doc/draft-ietf-jmap-blob/
> >
> > It does make sense to add actually - as an additional piece of capability which lists the digests available, and having them as a fetchable property.
> >
> > Cheers,
> >
> > Bron.
> >
> > On Sat, May 28, 2022, at 09:07, Eliza Velasquez wrote:
> >> Hello jmap,
> >> 
> >> While implementing a JMAP client which is designed to download and
> >> maintain a cache of every message file on the server, I was somewhat
> >> surprised to discover that there appears to be nothing built into the
> >> specification to determine a checksum for a given blob ID. I assume JMAP
> >> mail servers or reverse proxies they sit behind might implement the HTTP
> >> Digest header for a blob GET request, but that would necessitate that a
> >> client perform a large number of GET requests for every message in its
> >> cache, and the design of JMAP seems built around avoiding this sort of
> >> thing.
> >> 
> >> I was expecting something along the lines of a `Blob/get' method which
> >> can return a sha256 sum of a given blob ID. Is this something that I
> >> missed while reading the spec, or is this something that would have to
> >> be added to a new RFC? Also, is there any interest in the community for
> >> such a feature?
> >> 
> >> -- 
> >> Eliza
> >> 
> >> _______________________________________________
> >> Jmap mailing list
> >> Jmap@ietf.org
> >> https://www.ietf.org/mailman/listinfo/jmap
> >> 
> >
> > --
> >   Bron Gondwana, CEO, Fastmail Pty Ltd
> >   brong@fastmailteam.com
> >
> > _______________________________________________
> > Jmap mailing list
> > Jmap@ietf.org
> > https://www.ietf.org/mailman/listinfo/jmap
> 
> -- 
> Eliza
> 
> _______________________________________________
> Jmap mailing list
> Jmap@ietf.org
> https://www.ietf.org/mailman/listinfo/jmap
> 

--
  Bron Gondwana, CEO, Fastmail Pty Ltd
  brong@fastmailteam.com