Re: [Last-Call] Last Call: <draft-billon-expires-06.txt> (Updated Use of the Expires Message Header Field) to Proposed Standard

Alessandro Vesely <vesely@tana.it> Mon, 05 December 2022 17:21 UTC

Return-Path: <vesely@tana.it>
X-Original-To: last-call@ietfa.amsl.com
Delivered-To: last-call@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ED7EFC1522AC for <last-call@ietfa.amsl.com>; Mon, 5 Dec 2022 09:21:15 -0800 (PST)
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, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=tana.it header.b=ZDeCi5p2; dkim=pass (1152-bit key) header.d=tana.it header.b=DkVpXCvw
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 XhbaEVZtvuAH for <last-call@ietfa.amsl.com>; Mon, 5 Dec 2022 09:21:06 -0800 (PST)
Received: from wmail.tana.it (wmail.tana.it [62.94.243.226]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 68288C1524BA for <last-call@ietf.org>; Mon, 5 Dec 2022 09:19:32 -0800 (PST)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=tana.it; s=epsilon; t=1670260760; bh=kl38EdT+KDI8RpcBI4rLlCcPyP4ugPbOWIFwJzAi8wI=; h=Author:Date:Subject:To:References:From:In-Reply-To; b=ZDeCi5p2w7QDvK6eTifMJZOt6+xfVcmhqovwEB0GQa9PA7CD6ytMz2QE3GSnoRMIA z0iNWvRxHz/OHgZlCQtCg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tana.it; s=delta; t=1670260760; bh=kl38EdT+KDI8RpcBI4rLlCcPyP4ugPbOWIFwJzAi8wI=; h=Date:Subject:To:References:From:In-Reply-To; b=DkVpXCvwWuPKnm3WxuL1P6w6J2ICl9m6LIK92Z3lPTQKFzW0v92YdbwYHeMe7XSRU /sh9VXSVJsUJkiWcLRKVmGU2iDI6Tlzy3tAZUJEI7Hc881vDewNJBx9iXcUAGVFBf2 lbpHMy+01BzGZcyQKc1/Nt9za+VkHapFM4xUyP8kgwH7FQ1u4afzEHgxP+wRS
Original-Subject: Re: [Last-Call] Last Call: <draft-billon-expires-06.txt> (Updated Use of the Expires Message Header Field) to Proposed Standard
Author: Alessandro Vesely <vesely@tana.it>
Received: from [172.25.197.111] (pcale.tana [172.25.197.111]) (AUTH: CRAM-MD5 uXDGrn@SYT0/k, TLS: TLS1.3, 128bits, ECDHE_RSA_AES_128_GCM_SHA256) by wmail.tana.it with ESMTPSA id 00000000005DC206.00000000638E2818.0000356A; Mon, 05 Dec 2022 18:19:20 +0100
Message-ID: <5c8f5777-1b59-c1a2-9c79-aacbee60efea@tana.it>
Date: Mon, 05 Dec 2022 18:19:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0
Content-Language: en-US
To: last-call@ietf.org
References: <166973210946.22951.15613495979123865103@ietfa.amsl.com> <ff51b5cb-494a-a848-b346-6e7df1d273f5@network-heretics.com> <bd085e0f-9fbf-472c-a2a0-40156afda2f3@betaapp.fastmail.com> <ab3c841b-8e46-a039-0c2d-4f55d7259b8e@network-heretics.com>
Authentication-Results: tana.it; auth=pass (details omitted)
From: Alessandro Vesely <vesely@tana.it>
In-Reply-To: <ab3c841b-8e46-a039-0c2d-4f55d7259b8e@network-heretics.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/last-call/4edzGqYUTVNUqbNbW8SXM6RU028>
Subject: Re: [Last-Call] Last Call: <draft-billon-expires-06.txt> (Updated Use of the Expires Message Header Field) to Proposed Standard
X-BeenThere: last-call@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF Last Calls <last-call.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/last-call>, <mailto:last-call-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/last-call/>
List-Post: <mailto:last-call@ietf.org>
List-Help: <mailto:last-call-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/last-call>, <mailto:last-call-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Dec 2022 17:21:16 -0000

On Mon 05/Dec/2022 04:54:29 +0100 Keith Moore wrote:
> On 12/4/22 22:16, Bron Gondwana wrote:
> 
>> My use case (and the tooling I would build for myself if we don't make it a 
>> standard Fastmail feature) would be to flag particular senders as 
>> "auto-expire messages from this sender when their Expires header says to) - 
>> and I'd use for a bunch of transactional edge trigger "reminder" emails, 
>> which contain no content other than a "please go check over here".
>>
>> For example: the "you have pending moderation messages" that Mailman sends 
>> every day.  If the previous day's one expired at the time a new one would be 
>> sent out, I could have them auto-clear, and they would either have been 
>> superseded by a newer "you have things to action" email, or be no longer 
>> relevant.
> 
> Yes, I've often wanted this kind of feature for messages emitted by cron jobs, 
> or other "daily alert" kinds of processes.
> 
> But I also ask myself "how would this field be used in practice, not by geeks 
> like myself, but by ordinary people, or by miscreants?"
> 
> Enabling auto-delete based on Expires only on a per-sender basis makes some 
> sense, and appears to make it less likely to be abused.


The I-D covers specified creators in Section 5:

                                For instance, systems may allow
    automatic rules to clean up expired email from specific message
    creators or with defined characteristics, or to provide a mode to
    quickly handle all expired email.

Perhaps it should add that any auto-delete configuration should be under direct 
user's control.


>> Obviously, we all agree - and the draft agrees - that this MUST never be 
>> turned on by default.  At least to the kind of MUST that you can apply on any 
>> system - business logic might automatically turn it on for some senders 
>> inside a business who know their own senders, and we can't force them to do 
>> otherwise with strong words in a draft - but generally I think the risks of 
>> defining this header with this behaviour are not as great as you suggest.  
>> Yes it could be abused but receipients with a legal requirement to not 
>> destroy emails will already have protections around archiving all incoming 
>> email and that's not going to change because there's a header there.
> 
> Right, but there's also a possibility that intermediate systems, or the 
> recipient's mail service provider, will delete messages based on Expires.   And 
> this draft doesn't make it clear which component has the responsibility of 
> deleting based on Expires.  To me that's one of the biggest potential sources 
> of problems.  If it's clear that deletion based on Expires is ALWAYS a function 
> of the recipient's MUA (even if it's a webmail interface, it's still acting as 
> an MUA) and ALWAYS enabled only by the recipient, it's less likely to cause 
> trouble.  But in practice Internet email doesn't have a great envelope/header 
> separation anyway, and this draft just further muddies the distinction. (I've 
> often wished that the email header was opaque to the mail transport, but that 
> ship sailed decades ago.)
> 
> And I really don't think that there should be a general expectation that 
> Expires in email should be interpreted in the Usenet sense.  Or maybe the field 
> name shouldn't be Expires because it's too easily interpreted as "any component 
> that processes this message has permission to drop or delete this message after 
> this date-time".
> 
> I didn't say that Expires was an inherently Bad Idea, I said the draft needs 
> more work and clarity.   It needs to benefit from more of this very kind of 
> discussion.


I think that delete by the MTA would have its own merit.  Many MTAs still hold 
undelivered messages for days, and rfc5321bis still says that "the give-up time 
generally needs to be at least 4-5 days."  For various kinds of transient 
messages, the give-up time could be much shorter.  MTAs don't need to read 
Expire fields, however, since RFC2852's DELIVERBY addresses exactly that use case.


Best
Ale
--