ietf-822
[Top] [All Lists]

Re[2]: what's up with sendmail commands ending with linefeed only?

1996-07-18 16:27:23
 In <EIUQ56287D575F(_at_)MPA15AB> 
RANDY(_at_)MPA15AB(_dot_)MV(_dot_)UNISYS(_dot_)COM writes:

On 18 Jul 1996 13:47:41 -0700, 
<Michael_Harer(_at_)motorcity2(_dot_)lotus(_dot_)com>
wrote:

Today I isolated an SMTP interoperability problem which was induced by
the fact that V8.6.12 sendmail terminates it's SMTP commands with
linefeed instead of <CR><LF>.  Perhaps this is configurable via
sendmail.cf but doesn't the standard clearly state that SMTP commands
are to be terminated by <CR><LF> (mine does)?

This came up recently on the AIMS (Apple Internet Mail Server) list, and
as I recall, the response was that some versions of SendMail come
configured to terminate lines with LF instead of CRLF by default in
order to interoperate with UUCP.

Yes, this does violate SMTP, and many (most?) SMTP servers thus reject
messages from hosts configured this way.

We hit this situation some time ago also. We chose to modify our server to
allow these messages -- in fact we convert them to the proper format as
they come in. Worth noting is that not only does it seem to terminate the
SMTP commands with just LF, but the DATA area is sent and ends with
"LF.LF" instead of "CRLF.CRLF", which we discovered shortly after modifying
our server to accept LF-terminated SMTP commands.

...  Should MTA implementations be modified to accept it since there
are many versions of sendmail out there doing this already?

I say NO.  Patching conforming implementations to adopt to broken ones
propogates garbage.  If MTAs refuse to communicate with hosts running
software that sends LF instead of CRLF, those hosts will get fixed.

Easy to say, but if you're selling SMTP mail system(s) and your customers
call you complaining that they can't get mail to john doe, or when they're
evaluating the product and can't get mail to their most important customer
you're hard pressed to point fingers. Especially when the fix is relatively
simple (if you encounter a LF character before you hit a CR when reading
the HELO command, then set your incoming line-terminator character(s) to
a LF instead of CRLF).

If you correct it coming in, then you're not propagating anything, just
following that oldest of 'net rules; be conservative in what you put out
and liberal in what you accept...

                 -Chris Bartram
                  3k Associates