Re: [Extra] New Version Notification for draft-bosch-sieve-eai-01.txt

Stephan Bosch <stephan.bosch@open-xchange.com> Wed, 02 June 2021 19:28 UTC

Return-Path: <stephan.bosch@open-xchange.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 9F0483A181D for <extra@ietfa.amsl.com>; Wed, 2 Jun 2021 12:28:40 -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, NICE_REPLY_A=-0.001, SPF_HELO_NONE=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=open-xchange.com
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 d7iswDB98pmQ for <extra@ietfa.amsl.com>; Wed, 2 Jun 2021 12:28:35 -0700 (PDT)
Received: from mx3.open-xchange.com (alcatraz.open-xchange.com [87.191.39.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9485B3A181C for <extra@ietf.org>; Wed, 2 Jun 2021 12:28:35 -0700 (PDT)
Received: from imap.open-xchange.com (imap.open-xchange.com [10.217.131.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx3.open-xchange.com (Postfix) with ESMTPSA id 081CC6A0C9; Wed, 2 Jun 2021 21:28:32 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=open-xchange.com; s=201705; t=1622662113; bh=d7AZHdBr8eLSHSHRs8iW9+gWFQ6zYTKkbgTAoHC8iXc=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=gZR4ulIhlJxa26h6gAso2L4nIxEn2t/hK1v5iEftv0Hd21QzEEJKD3CwLXYXWNxV5 aQhsP/OKBfrneSprnQJUfgWtWBVtjjwnx6gsUlpQACIXkK50MMmJZRWz6Mgm/rHx5x oZWlcwp9n6JjfnCFYk/L6tGA7IWeBMhxLSv5WmYpalD1dFJpZDZEoutkHsFS0tQpKH HWi1nE/LEJ6udCs8UyK6lusO+uEiwJ/7U8U3svmwW4r1yxLgVpPHJ/et3Zrb0ALJ7i OstVFaEr7V2qbhXT+HsU/cEqMKVgEQOzd3r6aYpzCZ/ATf33u9/Z/gSYKaI4dEbvmA R7NSoADg1+AEQ==
Received: from [10.168.3.2] ([10.217.131.18]) by imap.open-xchange.com with ESMTPSA id Qtp5OeDbt2AVPwAA3c6Kzw (envelope-from <stephan.bosch@open-xchange.com>); Wed, 02 Jun 2021 21:28:32 +0200
To: Ned Freed <ned.freed@mrochek.com>, Stephan Bosch <stephan.bosch=40open-xchange.com@dmarc.ietf.org>
Cc: extra <extra@ietf.org>
References: <162197041125.31097.10318601097144383125@ietfa.amsl.com> <cfa2fc35-a68d-16fc-c05f-8fbae2cf07e4@open-xchange.com> <01RZHH2IBJQ80085YQ@mauve.mrochek.com>
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Message-ID: <848b0844-4bb3-20d5-f712-0be27a292469@open-xchange.com>
Date: Wed, 02 Jun 2021 21:28:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2
MIME-Version: 1.0
In-Reply-To: <01RZHH2IBJQ80085YQ@mauve.mrochek.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/0kNTySApNSBux752D809_9pbBps>
Subject: Re: [Extra] New Version Notification for draft-bosch-sieve-eai-01.txt
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, 02 Jun 2021 19:28:41 -0000

Hi Ned,

(Ugh.. why does Thunderbird make a mess of quoting your message...)

On 26/05/2021 15:27, Ned Freed wrote:
> I'm afraid this document has a lot of probems, some of which may not be 
> easy to
> resolve.
> 
> The biggest problem by far is that the idea of invoking an extension in 
> order to
> be able to process an EAI message is intrinsicly nonsensical: A message
> presented to the Sieve interpreter is either an EAI message or it's not, 
> and
> there's nothing the Sieve interpreter or Sieve author can do to change 
> that. (It
> may not even know if a given message was intended to be in EAI format - 
> there's
> no reliable marker for this.)
> 
> And now things start to get sticky: There's no telling what will happen 
> if you
> feed an EAI message into a Sieve implementation that's not itself EAI 
> aware.
> Will it simply process the UTF-8 it finds by leaving it alone (likely)? 
> Or will
> it treat the UTF-8 it finds in headers as illegal - whatever that means? 
> Will it
> know that message/global contains a message, and if so, will it be able 
> to look
> inside of an encoded message/global (probably not)?

> 
> The ineluctable conclusion here is that an email system that supports 
> both EAI
> and Sieve in a compliant way MUST support EAI in Sieve. This is a 
> compliance
> matter, plain and simple, and cannot be handled as an extension. So the 
> first
> task of this document needs to be to define what this form of compliance 
> means.
> It definitely includes saying that the header and address tests must 
> allow for
> unencoded UTF-8, proper handling of message/global, and probably a bunch of
> other stuff.
> 

Yes, that is all true and I agree. But wouldn't it also be necessary to 
know whether the script author is expecting message/global messages? The 
eai extension would indicate that the script was written with the 
possibility of receiving message/global in mind. I haven't read the 
relevant RFCs in a while (and not going to right now), but what is 
supposed to happen when the server has EAI support but the mail 
retrieval agent (IMAP client) does not? I remember something about 
downgrade or placeholder messages. Most solutions I'd imagine would be 
far from ideal. The most crude solution could be to make the recipient 
server reject message/global outright when it somehow knows the 
destination user doesn't have the software installed to read the 
messages. Our software doesn't do much of the EAI stuff yet, so I can't 
say I have implementation/deployment experience. My point is: forcing 
Sieve scripts to handle EAI messages when they were not written with 
such messages in mind could pose problems. What to do? I don't know...

Also, the ManageSieve client would need to know somehow that EAI is 
supported by the server. It could connect to IMAP first and find out, 
but I think that is not the way to handle this. Of course this could be 
a ManageSieve capability then and not a Sieve extension.

> But now things get even stickier: A-labels. EAI extends the message 
> format to
> allow, among other things, U-Labels in domains, but AFAIK doesn't 
> explicitly say
> that A-Labels cannot be used. (Except in the case of domains in trace 
> fields,
> and as a recent discussion has shown, it appears this requirement is being
> widely ignored.)
> 
> Domains appear in a lot more header fields than addresses, and it would be
> asking a lot of a Sieve implementation to know how to parse them all and 
> convert
> A-labels to U-labels. FWIW, I think the right answer is to only perform the
> conversion in the address test, but I could be persuaded  otherwise.
I'd say all Sieve bits that compare addresses (address test, vacation 
:addresses etc.) or domains should normalize them in several ways, 
including the A-label/U-label format.

> 
> Redirect, vacation, notify, and any other action that sends a message 
> are where
> an smtputf8, as opposed to an eai, Sieve extension makes sense. And note 
> that
> all of these actions can send an EAI even if the original message wasn't 
> EAI.
> 

Agreed.

> A careful review of every Sieve extension with an eye to how it interacts
> with EAI needs to be done, but that should be deferred until we're settled
> on the overall approach.
> 
> Finally, I note that there's some odd language in the current document
> about not interpreting encoded-words in EAI messages. This makes no sense
> to me as messsages are often Frankensteinian in origin and can easily
> end up with a mix of UTF-8 and encoded-words.

I guess you're right. It's been a long time since I wrote this, but I 
think I must have picked this up from one of the RFCs, as I find it 
unlikely that I came up with this restriction myself. I'll look that up 
when I continue writing.

Regards,

Stephan.

> 
>                  Ned
> 
>> Hi,
> 
>> This is just a refresh of the document submission. Apart from my address
>> information, nothing changed.
> 
>> -------- Forwarded Message --------
> 
>> A new version of I-D, draft-bosch-sieve-eai-01.txt
>> has been successfully submitted by Stephan Bosch and posted to the
>> IETF repository.
> 
>> Name:        draft-bosch-sieve-eai
>> Revision:    01
>> Title:        Sieve: Internationalized Email
>> Document date:    2021-05-25
>> Group:        Individual Submission
>> Pages:        8
>> URL:            
>> https://www.ietf.org/archive/id/draft-bosch-sieve-eai-01.txt
>> Status:         https://datatracker.ietf.org/doc/draft-bosch-sieve-eai/
>> Html:
>> https://www.ietf.org/archive/id/draft-bosch-sieve-eai-01.html
>> Htmlized:       
>> https://datatracker.ietf.org/doc/html/draft-bosch-sieve-eai
>> Diff:           
>> https://www.ietf.org/rfcdiff?url2=draft-bosch-sieve-eai-01
> 
>> Abstract:
>>     This document defines an extension to the Sieve language called "eai"
>>     which adds full support for internationalized email.
> 
> 
> 
> 
>> The IETF Secretariat
> 
> 
>> _______________________________________________
>> Extra mailing list
>> Extra@ietf.org
>> https://www.ietf.org/mailman/listinfo/extra
> 
> _______________________________________________
> Extra mailing list
> Extra@ietf.org
> https://www.ietf.org/mailman/listinfo/extra