Re: [ietf-822] utf8 messages

Ned Freed <ned.freed@mrochek.com> Wed, 27 August 2014 18:05 UTC

Return-Path: <ned.freed@mrochek.com>
X-Original-To: ietf-822@ietfa.amsl.com
Delivered-To: ietf-822@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFDB31A212A for <ietf-822@ietfa.amsl.com>; Wed, 27 Aug 2014 11:05:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.67
X-Spam-Level:
X-Spam-Status: No, score=-2.67 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-0.668, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 ZT0KMw4FR9Vd for <ietf-822@ietfa.amsl.com>; Wed, 27 Aug 2014 11:05:32 -0700 (PDT)
Received: from mauve.mrochek.com (mauve.mrochek.com [66.159.242.17]) by ietfa.amsl.com (Postfix) with ESMTP id AA4F91A6EE7 for <ietf-822@ietf.org>; Wed, 27 Aug 2014 11:05:20 -0700 (PDT)
Received: from dkim-sign.mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01PBVFM41JCW002380@mauve.mrochek.com> for ietf-822@ietf.org; Wed, 27 Aug 2014 11:00:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mrochek.com; s=mauve; t=1409162417; bh=Pn9/l108Y88Fm+enQW+llMyX2RH/AUPxOJ3JSUVn4ec=; h=Cc:Date:From:Subject:In-reply-to:References:To; b=jowB4I7lUkdpC7ABEztFe9YMz3ogt/awAEnC2PDSd4GIpro7UdQAYvy788Kv1o0hp TL3X9fiKPvAynhgbpP9GMxRXrfWd0uuaK7oMVoQucSzct6zbHVXluvyiA2LF7pGTG1 sR1t4v39vxKnIpFv0ACyElFDQkSArYHUM/3JLsbU=
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: TEXT/PLAIN; CHARSET="us-ascii"
Received: from mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01PBOD9M5PXC0000SM@mauve.mrochek.com>; Wed, 27 Aug 2014 11:00:12 -0700 (PDT)
Message-id: <01PBVFM226040000SM@mauve.mrochek.com>
Date: Wed, 27 Aug 2014 10:31:46 -0700
From: Ned Freed <ned.freed@mrochek.com>
In-reply-to: "Your message dated Wed, 27 Aug 2014 16:02:40 +0100" <alpine.LSU.2.00.1408271600260.23119@hermes-1.csi.cam.ac.uk>
References: <CABa8R6tWEhjjZSvq6NbM7EimokOms3suZufn0-6N1SB_fzGM8Q@mail.gmail.com> <01PB9FABWA4E0000SM@mauve.mrochek.com> <CABa8R6tns-idiZTj=+vb9fVNyH-nNYT+w9oNMb80XbCs5osvFw@mail.gmail.com> <01PBABOOL4QO0000SM@mauve.mrochek.com> <CABa8R6vBqS1ewmTtHh8tTOdzobsWpvSEokRxOqpj1Oq3hA+vsw@mail.gmail.com> <D0111ECB.195FD%dvargha@mimecast.com> <38adf1fa5904098dd896002fec51583d@mailbox.ijs.si> <alpine.LSU.2.00.1408271600260.23119@hermes-1.csi.cam.ac.uk>
To: Tony Finch <dot@dotat.at>
Archived-At: http://mailarchive.ietf.org/arch/msg/ietf-822/ehs_hjqJBE9-0WAXo2ii4YZrDos
Cc: ietf-822@ietf.org, Mark Martinec <Mark.Martinec+ietf@ijs.si>
Subject: Re: [ietf-822] utf8 messages
X-BeenThere: ietf-822@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion of issues related to Internet Message Format \[RFC 822, RFC 2822, RFC 5322\]" <ietf-822.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf-822>, <mailto:ietf-822-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf-822/>
List-Post: <mailto:ietf-822@ietf.org>
List-Help: <mailto:ietf-822-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf-822>, <mailto:ietf-822-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Aug 2014 18:05:35 -0000

> Mark Martinec <Mark.Martinec+ietf@ijs.si> wrote:
> >
> > It is not possible (even in the absence of SMTPUTF8 support) to be
> > able to transfer e-mail messages with no out-of-band ("metadata" /
> > envelope) information. The most obvious reason is the list of
> > recipient addresses, which is not present in a message itself.

> That is what the BCC: header is for (before message submission, if not
> at other times).

Not really. RFC 5322 is pretty clear about this:

   The "Bcc:" field (where the "Bcc" means "Blind Carbon Copy") contains
   addresses of recipients of the message whose addresses are not to be
   revealed to other recipients of the message.

The problem is using Bcc: this way before submission conflates other cases,
e.g., the expansion of a mailing list maintained by the user agent, with the
one where you *really* don't want the other recipients to know about that
blind-carbon. So when the message actually gets sent, there's no way to
tell from the stored copy whether or not to generate separate copies containing
an indication of their Bcc: status.

Of course a lot of things don't implement proper Bcc: semantics anyway,
so this behavior ends up being "good enough". But let's not pretend it isn't
problematic in some cases, because it isn.

And as for after submission, such usage is problematic in the extreme. It
can easily lead not only to regaruly recipients becoming aware of blind
carbon recipients, it exposes their blind carbon status. It also can
conflict with legitimate uses of Bcc:

And in both cases the field fails to capture other per-recipient envelope
semantics.

> > Envelope sender may or may not be present in a mail header
> > (as a Return-Path header field).

> Right.

> > Other examples are RFC 3461 data (RET, ENVID, NOTIFY, ORCPT).

> I think it was a mistake not to specify in-header versions of those
> directives.

Actually, this was discussed at length and after the implications became
clear a decision was made not to do it.

ENVID is the best example. Support you define a field to be used on final
delivery, let's call it final-envelope-id. The problem is that lots of
agents resubmit messages with their headers more or less intact. Now
consider what happens when such an agent picks up such a message and
submits it to infrastructure that doesn't implement NOTARY. The result
can easily be to deliver a message with a completely bogus final-envelope-id
field.

Such leakage is very common with return-path fields, so there's running
code saying it will happen. But this is a tolerable situation with
return-path, where (1) We're not dealing with an identifier and (2) Enough
delivery agents generate the field. 

This is not to say there's no way to log the envelope-id in the header.
The place to do that would be as a new clause in the Received: field.
But the NOTARY work was done long before RFC 2821 came out and clarified
the syntax and extesnion model for Received: fields. And defining such a
model was far beyond the purview of the NOTARY WG.

Of course times have changed and nothing prevents us from defining
envelope-id (and orcpt) clauses for Reeived:.

As for RET and NOTIFY, I don't really think it makes the cost-benefit
cut for addition to Received:. And if you really need to carry the
envelope around at this level of detail elsewhere, that's what BSMTP
is for - in fact one of the reasons for specifying it and requiring
NOTARY support in it was for exactly this application.

				Ned