[Jmap] Question: Mandate core capability on each API call?

Benoît TELLIER <btellier@linagora.com> Fri, 27 November 2020 11:34 UTC

Return-Path: <btellier@linagora.com>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 64A3E3A095F for <jmap@ietfa.amsl.com>; Fri, 27 Nov 2020 03:34:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.221
X-Spam-Status: No, score=-1.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, HTML_MIME_NO_HTML_TAG=0.377, MIME_HTML_ONLY=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=linagora.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id zBpjwEL9zGTI for <jmap@ietfa.amsl.com>; Fri, 27 Nov 2020 03:34:56 -0800 (PST)
Received: from smtp.linagora.com (smtp.linagora.com []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B4D63A0957 for <jmap@ietf.org>; Fri, 27 Nov 2020 03:34:56 -0800 (PST)
Received: from ?Open?PaaS?SMTP?server?for?Linagora? (incoming.linagora.com []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.linagora.com (Postfix) with ESMTPSA id A00D63F0A4 for <jmap@ietf.org>; Fri, 27 Nov 2020 12:34:52 +0100 (CET)
MIME-Version: 1.0
DKIM-Signature: a=rsa-sha256; b=Gn4Lm3VSp/CWfiFHPFoXyvceM9ahSWmvnY+cmrCfF259bAAxuA+8sfWOzECg/dMxiDR91KK1i3TlgOfWRsBYT7J95sBbs0MtImVNYu9C93z7vECwJC//SaAb0amfqpeGzfwZd2uxoiH5K4YLG3yN85QNH4S6WW4KtT+1J4PpUN72Ent+9tGXdqsujY8JzCev5LAMSNZBI+rvv9k/gmJH6nHyO9hzu7pwI00Im1YjouagENIWY8Hg7IVFZFi93NbGpGLLrEPEnsAlEUDn04bYvfrIfCSyQgKFoDrC0t+KYFUsHam6OtWVt/5QzW7KI5RABJfcDC/NpqzaCv4BEtr6+g==; s=smtpoutjames; d=linagora.com; v=1; bh=q1rGW+DrXFDN/Lwd6jca7gLmiRczwZYNVY2kF69+A+k=; h=from : reply-to : subject : date : to : cc : resent-date : resent-from : resent-sender : resent-to : resent-cc : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive;
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-LINAGORA-Copy-Delivery-Done: 1
From: Benoît TELLIER <btellier@linagora.com>
Sender: Benoît TELLIER <btellier@linagora.com>
Reply-To: btellier@linagora.com
To: "jmap@ietf.org" <jmap@ietf.org>
Message-ID: <Mime4j.498.302c0902fffd2772.176097c06d9@linagora.com>
Date: Fri, 27 Nov 2020 11:34:51 +0000
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/LZ_rqbH-eBzXgUDBGfgiV5ZY9xs>
Subject: [Jmap] Question: Mandate core capability on each API call?
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.29
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 Nov 2020 11:34:58 -0000


First I'm very happy to report I have been successfully using https://github.com/iNPUTmice/lttrs-android on top to (a slightly modified James server). This leads to the following code changes: https://github.com/linagora/james-project/pull/4089

An incompatibility was found: In James we so far mandate the core capability on every API calls, in addition to extra capabilities (mail, submission for instance). For my experiments, I relaxed this requirements. I also think that in doubt clients can always position this capability to avoid issues.

However my question is: as a server, should I reject api requests not using `urn:ietf:params:jmap:core` in the using field?

Thanks for answer ;-)