[Jmap] Integrity checking of blobs

Eliza Velasquez <eliza@eliza.sh> Fri, 27 May 2022 23:07 UTC

Return-Path: <eliza@eliza.sh>
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 44569C14F723 for <jmap@ietfa.amsl.com>; Fri, 27 May 2022 16:07:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=eliza.sh header.b=UXp04fAl; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=PdDWzkdD
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 50fW__0h1bfN for <jmap@ietfa.amsl.com>; Fri, 27 May 2022 16:07:30 -0700 (PDT)
Received: from wnew4-smtp.messagingengine.com (wnew4-smtp.messagingengine.com [64.147.123.18]) (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 3938BC14EB1F for <jmap@ietf.org>; Fri, 27 May 2022 16:07:30 -0700 (PDT)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.west.internal (Postfix) with ESMTP id 8B4BC2B01A5E; Fri, 27 May 2022 19:07:27 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 27 May 2022 19:07:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eliza.sh; h=cc :content-type:date:date:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t= 1653692847; x=1653696447; bh=u6X5pxIX0n/J1i/Zknc7I3PNeNJzS2QBIb7 BAjbfLPU=; b=UXp04fAlc7garZBWCq28bpoq6UyhO68CONcR7P+p5+wxvO/1vdx DzZOGo66c9c8wRX72lAReUjgeSJG9zoI+PXSWBCsy/W1dvLwf2UO1k96wXOWu+zX eXpDByPLrLr67C3OXwDyHIViVr09mNATi7sx/t0d2LaHOttY7eJIona82M00Yfdj 2+QOmyWmv0Nud+rQpyEgqfwOWLaSQwg8k6Q+jhBMEQnJR3uPulzcYNIkBv7KtKKL bF10RKb8+9ImITj3mrBPLWjjH3X9VUalVVbuTLd17vzaVGN3QdOA+j6qWhJKka/R RizkYdTOariCn5AfMJa5mamMpgEE0HMWD3A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1653692847; x= 1653696447; bh=u6X5pxIX0n/J1i/Zknc7I3PNeNJzS2QBIb7BAjbfLPU=; b=P dDWzkdDPZFrjCAS/wqPx+it1qFS68IHzgDL1HK9lECVNCdOwmDSai03BF3qEQAzd kvrvZzImHA81UGlKrLrBCYEflBmRKq2xfm38TsCar0p96BIrGkbcNjZ40uhbLl97 b/PfTDX9A9O2c6ofQOoBk1LPyjHktpawFgz6tE55HdTwKCK3YwvdXFFDzgAcQWPd naNBWlX/k/FTEshUrWna9fycIwUuMCbLy1rSYTtd3nsPkuFQkTOTNXH15Cu5LlgD 6/YTYzk+ZgMn3Mt0sWUUTAMP6UjLBry//rN4s1US0VaN5AOnRYusef3lZof92XhU h07eQ4IPCNDiRR9y15WGw==
X-ME-Sender: <xms:rlmRYmzgoPohf1KyMthAr8iD4GzdJYs5QRyvKsPpJkpklll_QKDfsQ> <xme:rlmRYiSyphO__e4Xymv7sAJBfwGWL9r58wvipZFgJikhTDKV42PrgwM7zOXLo8B8Q TbHVsyidMnUby5cBk4>
X-ME-Received: <xmr:rlmRYoWJloo-lWkIDEq9pX8EfRhFmVDmfeMigYhU5sANQ6KOjlgRwce-A5YNpn0hPPXljm21538cs5CVA-LTXObp>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrkedtgdduhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkfggtgesthdtredttddttd enucfhrhhomhepgfhlihiirgcugggvlhgrshhquhgviicuoegvlhhiiigrsegvlhhiiigr rdhshheqnecuggftrfgrthhtvghrnhepffdvffeltedtgfevudfhvdelvdelkeefffduff ethefghfdvjedtvdeihfejiedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm pehmrghilhhfrhhomhepvghlihiirgesvghlihiirgdrshhh
X-ME-Proxy: <xmx:rlmRYsh3JaO_hlU9WQrA9DuEdu-sdwSYbtxtxp8TUI40MBc8haREUQ> <xmx:rlmRYoB0NTm2w4e6KTI0ztyEQNJMKkVGzrHh2Guxgb6XjteJjw9UEw> <xmx:rlmRYtI2VEmnL6duFE-DeRn-x0ILZQlSgSAmKJWHJlUffSkLS7JWzg> <xmx:rlmRYn-FGZwqhJwZCd5CGwjb0W8a8Go3BxqK1r28qbG98cl-3PlH135YSqA>
Feedback-ID: i87c446d8:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA for <jmap@ietf.org>; Fri, 27 May 2022 19:07:26 -0400 (EDT)
From: Eliza Velasquez <eliza@eliza.sh>
To: jmap@ietf.org
Date: Fri, 27 May 2022 16:07:24 -0700
Message-ID: <87sfoubmmr.fsf@eliza.sh>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/etMvp_0HZreGlTbIuhJ0UIJbytg>
Subject: [Jmap] Integrity checking of blobs
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.34
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, 27 May 2022 23:10:07 -0000

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