Re: Negotiated noncompliance

list-ietf-wg-apps-drums@faerber.muc.de ( Claus Färber ) Fri, 25 August 2000 15:44 UTC

Received: from cs.utk.edu (CS.UTK.EDU [128.169.94.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA22962 for <drums-archive@odin.ietf.org>; Fri, 25 Aug 2000 11:44:03 -0400 (EDT)
Received: from localhost (daemon@localhost) by cs.utk.edu with SMTP (cf v2.9s-UTK) id LAA28854; Fri, 25 Aug 2000 11:39:43 -0400 (EDT)
Received: by cs.utk.edu (bulk_mailer v1.13); Fri, 25 Aug 2000 11:39:25 -0400
Received: by cs.utk.edu (cf v2.9s-UTK) id LAA28818; Fri, 25 Aug 2000 11:39:24 -0400 (EDT)
Received: from slarti.muc.de (marvin@localhost) by cs.utk.edu with SMTP (cf v2.9s-UTK) id LAA28805; Fri, 25 Aug 2000 11:39:22 -0400 (EDT)
Received: from slarti.muc.de (193.149.48.10 -> slarti.muc.de) by cs.utk.edu (smtpshim v1.0); Fri, 25 Aug 2000 11:39:22 -0400
Received: (qmail 24860 invoked by uid 66); 25 Aug 2000 15:47:02 -0000
Received: from faerber by slarti with UUCP; Fri Aug 25 15:47:02 2000 -0000
Received: by faerber.muc.de (GeoZILLA/0.9 (CBM 128D; GEOS 2.0)); 25 Aug 2000 17:39:22 +0200
Date: Fri, 25 Aug 2000 14:14:00 +0200
From: list-ietf-wg-apps-drums@faerber.muc.de
To: drums@cs.utk.edu
Message-ID: <7kWDFdc3cDB@faerber.muc.de>
In-Reply-To: <14586.967037767@mundamutti.cs.mu.OZ.AU>
Subject: Re: Negotiated noncompliance
X-Mailer: GeoZILLA/0.9 (CBM 128D; GEOS 2.0)
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-No-Archive: Yes
List-Unsubscribe: <mailto:drums-request@cs.utk.edu?Subject=unsubscribe>
Content-Transfer-Encoding: 8bit

Robert Elz <kre@munnari.OZ.AU> schrieb/wrote:
> On the LF issue specifically, do we have any evidence at all that any
> large number of clients are still doing this?

Sending bare LF is not the only problem.

There is also an interoperability problem regarding the handling of bare  
LF on the receiving side. According to the current standard, bare LFs  
are allowed within mail data. However, I don't think that _any_  
implementation will actually handle it correctly.

The whole CRLF/LF problem is due to a implementation technique mandated  
by C/C++ libraries: They detect line endings based on the LF only. As a  
result this is what also most MTA implementations do. They then strip  
the CR and treat the result as a line.

So if they receive a bare LF, they either give an error because the CR  
is missing /or/ treat it as equivalent to CRLF. Both is illegal  
according to the standard (within message bodies).

Further, implementations on Unix-like systems tend to write the message  
to their queue or to user's mailboxes with their local line-ending  
conventions. So even if the smtpd part would handle bare LFs correctly,  
they would be converted to CRLF when the message is relayed to the next  
host via SMTP (or made available to a client via protocols such as IMAP,  
POP3 or even local file access).

So while sending bare LFs within mail bodies is allowed by the standard,  
it just won't work with most MTAs and MUAs running on the Internet.

It's too late to change the installed base of MTAs and MUAs. Better  
change the standard to explicitly disallow (or at least discourage) bare  
LFs within message texts.

Although I know it's very late, I thus propose the following change in  
section 4.1.1.4 DATA (DATA):

< codes, although experience has indicated that use of control characters
< other than SP, HT, CR, and LF (especially the ASCII "Null" character)
< may cause problems and SHOULD be avoided when possible.

> codes, although experience has indicated that use of control characters
> other than SP, CR and HT (especially the ASCII "Null" and bare LF
> characters) may cause problems and SHOULD be avoided when possible.

Claus

-- 
http://www.faerber.muc.de