Re: Another user-visible goal
Bruce Lilly <[email protected]> Mon, 07 Jun 2004 22:58:23 -0400
| Newsgroups | gmane.mail.ng |
|---|---|
| Organization | Bruce Lilly |
| Message-ID | <[email protected]> |
I seem to have unintentionally stirred up a few hornets' nests. Let me clarify: o I did not give physical mail as a reference model, I used it to illustrate some issues that have arisen as electronic mail has evolved. I didn't mention the US Postal Service at all. If it helps, think of the example as any of the many available private and/or commercial delivery services -- the point is that the content is not readily visible in transit, and the transport system places its marks and notations on the container or somewhere else; specifically it does not muck about with the content. o I didn't mention paper specifically either. o Nor did I mention mailboxes. o I intentionally did not discuss implementation details (If I recall correctly, delving into implementation in this exercise was declared out-of-bounds). o I didn't invent the terms "envelope", "header" and/or "body". They are in widespread use. I mentioned that email had evolved. For those who don't remember or who weren't around, what we now recognize as Internet email started with ftp. Content was sent from one place to another. Special commands were added to (and subsequently removed from) the ftp protocol to support "mail". The content format was first standardized in RFC 561 (q.v. Really -- go look -- it's only a couple of pages). That specified no more than what one would typically find in the heading (and footer) of typical written communications, indeed somewhat less. Ignoring RFC 680 (which isn't online), RFC 724 came along a few years later and added several additional header fields and defined the (minimal) body and message structure. Note that ftp was still being used, and what RFC 724 added was still typical of what might have appeared in the content of written communications of the day (reference information, comments, filing information). RFC 733 appeared shortly thereafter with no changes relevant to the point I'm trying to make. Ftp was still in use (RFC 765 still had the mail commands, which were in effect until RFC 959 obsoleted it), but work was underway to produce a mail-specific transfer protocol. The Mail Transfer Protocol (MTP) first appeared in RFC 772. MTP transferred the content (data) without change; sender and recipient information, commands affecting handling were part of the MTP protocol, separate from the message content. Likewise for RFC 780, 772's successor. RFC 788 was the first- generation Simple Mail Transfer Protocol (SMTP). It introduced alteration of the data by transport -- it specified prefixing Mail-From header fields and a Return-Path header field to the message content. We still have Return-Path, but Mail-From has been replaced by Received fields. From that beginning, a large number of additional fields have been designed which -- unlike the RFC 561, 724, 733 fields -- caused modification of the message after leaving the sender. For example, consider a recent message on this mailing list. It contained, when it appeared in by mailbox, aside from the content-related fields: 1 Return-Path field 9 Received fields (NINE of them! Each one several lines long) 1 X-Sieve field 1 X-Authentication-Warning field 1 X-Mailer field 1 Precedence field:(which is neither standard nor user-defined) 1 List-Archive field 1 List-Unsubscribe field 1 List ID field It also contained 1 each MIME-Version, Content-Type, and Content-Transfer-Encoding fields, all of which were unnecessary since their values were the same as the defaults. Many modern MUAs by default display only a few header fields -- a user who wishes to see one which is not displayed must wade through *all* of the others as well (and that's assuming that he can figure out how to get the MUA to display them). So must users of software which does not provide any filtering capability. That's a nuisance. As I have pointed out earlier, the practice of modifying the content has made signing of the content all but impractical (RFC 2634 provides for triple- wrapping of messages; I know of no MUAs that do that or that can triple-unwrap such a message without the user forcing the MUA into doing so by extraordinary measures). Returning to the goal (actually goals): 1. Make digital signing of the message content (body *and* _sender-specified_ header fields) practical 2. Keep transport-related markings out of the message content As I see it, the first goal is related to the message format (and therefore might be applicable beyond mail), while the second is a transport issue largely independent of the message format. What they have in common is *separating* the transport- related markings from the message content per se.