[Extra] Design of a new Sieve action to process iMIP messages

Ken Murchison <murch@fastmail.com> Wed, 22 September 2021 12:27 UTC

Return-Path: <murch@fastmail.com>
X-Original-To: extra@ietfa.amsl.com
Delivered-To: extra@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D6BB03A1CF2 for <extra@ietfa.amsl.com>; Wed, 22 Sep 2021 05:27:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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=fastmail.com header.b=aZyyRCFB; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=S8QpEiqG
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 ynbAU2NBNX6W for <extra@ietfa.amsl.com>; Wed, 22 Sep 2021 05:27:37 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 63C253A1CED for <extra@ietf.org>; Wed, 22 Sep 2021 05:27:37 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 705015C0174 for <extra@ietf.org>; Wed, 22 Sep 2021 08:27:36 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Wed, 22 Sep 2021 08:27:36 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= to:from:subject:message-id:date:mime-version:content-type; s= fm1; bh=unVqBZzJb7QHOwuYivpEV7tIFXISMFmFx5j946DUue0=; b=aZyyRCFB C/VPxcgBdxGTab+3s9b5vzUXWmvck0BtUGh/VUiqrCr2gs6O4YLpTivXo0fca2/w 5sxG52Qpjt6APExukkOyrObP19s3NDjFXx95CntIDUgE8l3RMmiFyl3fTvZQP1p5 nnOMLleFfwkhD75xKOX2y2xIK168oO566i78aWK9NyIWKA4tnw7xwGJIN333wa3Q uFW/xlvTLm3jONgoWp7zQAM+ndTMcaj31qdmIkRZcqypqSuI4OmgdNsLqstZIBqe 7WpzFUwqVUZ7NCczto9KH3jPt0rkiDjG8wseTNZ+q7xkozssbTCyIV4WJbMfJ8wA CirdaM71274lRg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=unVqBZzJb7QHOwuYivpEV7tIFXISM FmFx5j946DUue0=; b=S8QpEiqGE3J+/23X6aVwKQg/s2+9AQHIBQoD5B7/jGiQU xWnc9uyCOke+7Bc3VGZlRMyeHroBZQgMz7rS+yAwdBklp2bDn6vSf3JYWLZ3Ybrk CfLTK1XVq0MMxz/l7SJWh1giic9bmzHwGAVsRo7ApdUB/n9AdYkzPXa/whVc0U4g Ts3V9j5jb8eZ1VFJZB2IB2NqNIMhi8SaescquIkdPM3XPO2UI9G+ofrl1EmTm5kJ It19K1HMwsTtC568bXVKoba8w0LXngVPZHkwTlfxxUzbvtPcjY59hyDof+HAWIZF 1wcU6xWt4P2g8XCELoMZ0SexoDsB4hOm+MsQQfcTw==
X-ME-Sender: <xms:OCFLYVH4_hrXeEbvzs8c9SVUdIRj8d3EP81T1ajc6plOm8ocaV889A> <xme:OCFLYaWcSgIm8fEP40_V2Hz8YW050U16QB4CeWumT8Y0w_RtKhVAEFijKgbHikPl7 F7ZMotWsRoCNw>
X-ME-Received: <xmr:OCFLYXJI_Xdjf7cxuumasQX6z1HWNLlSnI5UcGJtWsg_QjMyvcOdDtq3P3assxnk0RnXQ25cT42Zu0jB562YI1fQAefGTlRMw9S_ZQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudeijedgheduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefvhffukffffgggtgesrgdtreertd efjeenucfhrhhomhepmfgvnhcuofhurhgthhhishhonhcuoehmuhhrtghhsehfrghsthhm rghilhdrtghomheqnecuggftrfgrthhtvghrnhepjeegleehtdegvefgtdevtdelvedvve fffffhjeelleeffeffjefffeelhfeukefhnecuvehluhhsthgvrhfuihiivgeptdenucfr rghrrghmpehmrghilhhfrhhomhepmhhurhgthhesfhgrshhtmhgrihhlrdgtohhm
X-ME-Proxy: <xmx:OCFLYbGw6Y-zn3wdChMassIjLw8MVnHUU6H1qbNvYtBlW7Kf3WlChw> <xmx:OCFLYbUFr9gVbQTiVSl139NI9nwdYYGU3L4Ygh0VRzJFtSq6I9SELg> <xmx:OCFLYWOoaDvh5vgf0PYWc8Qi2HO008RXPMWiJ8Y7VPCNFf3R6AEX6Q> <xmx:OCFLYSDfhTGZwXJhpmv10u7NjYfd9ylRvOoC_jyuQWORbL5zjWaQqw>
Received: by mail.messagingengine.com (Postfix) with ESMTPA for <extra@ietf.org>; Wed, 22 Sep 2021 08:27:36 -0400 (EDT)
To: extra@ietf.org
From: Ken Murchison <murch@fastmail.com>
Message-ID: <2304e1e5-9cd2-c913-e0bf-ba7a1218db0e@fastmail.com>
Date: Wed, 22 Sep 2021 08:27:35 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------3CBE00D6D7B8EEE066B5C391"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/foDHIdf9z73DY6IiZghBQDMVP_8>
Subject: [Extra] Design of a new Sieve action to process iMIP messages
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <extra.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/extra>, <mailto:extra-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/extra/>
List-Post: <mailto:extra@ietf.org>
List-Help: <mailto:extra-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/extra>, <mailto:extra-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Sep 2021 12:27:43 -0000

All,

We (Fastmail) are in the process of designing and implementing a new 
Sieve action which will process iMIP messages and add/update resources 
on a CalDAV calendar.  The main issue that I'm facing is that a user may 
want to have additional actions be executed depending on whether the 
'processimip' action [un]successfully updates the calendar (E.g., add 
flags to and/or fileinto the email message into different mailbox).  
Neither RFC 5528 nor any extension that I'm aware of defines a mechanism 
for determining whether an action was successful.  Failure of some 
actions, such as fileinto cause script execution to stop.  Failure of 
others such as vacation/notify are usually ignored.

I have come up with 3 ways to solve this issue for the new 'processimip' 
action, in order of preference:

 1. Have 'processimip' set a variable with a return code/status. This
    variable can then be checked with a 'string' test.  There is
    precedent for an action setting a variable with the 'extracttext'
    action.
 2. Make 'processimip' a test rather than an action.  This would be the
    first test that I'm aware of with side-effects (other than setting
    match variables).
 3. Add optional :flags and :mailbox (and :mailboxid, :specialuse) args
    to 'processimip' which are only used if the action is successful and
    are used to execute an implicit 'fileinto'.  This is very ugly
    IMHO.  I'd prefer that an explicit 'fileinto' action be used.

What do others think?  Any different/better design ideas?

-- 
Kenneth Murchison
Senior Software Developer
Fastmail US LLC