[Top] [All Lists]

Re: [ietf-smtp] Stray <LF> in the middle of messages

2020-06-11 08:37:35
On 6/10/2020 9:32 AM, Dave Crocker wrote:
On 6/8/2020 7:03 AM, Hector Santos wrote:
The Internet Mail format officially starting with RFC 822 selected
the DOS/Windows format <CR><LF> format.


Any interesting computer network seeks interoperability among
heterogeneous systems.  All sorts of differences need to be dealt
with, including differences in the end-of-line construct.

The simplest and most scalable way to accomodate such differences is
to define a /single/ standard and require each system to between their
local convention and the network's canonical convention.

This approach was as the core or the early Arpanet protocols,
including FTP as already noted in this thread.  That's from the early
1970s timeframe.

RFC 822's predecessor, RFC 733, was 1977.  SMTP was 1982.  They merely
continued the convention.

Telnet and FTP chose CRLF as the end of line construct.


But there has to be a more practical "ergonomic UI" reason and it probably started with how the terminal/client application worked and/or was configured to

- ECHO back characters.
- Send CRLF or CR when the Enter/Return key was hit
- Half or Full Duplex mode.

Half means you enter the entire line first locally. When the Enter/Return key were hit, it sent the entire line. This can be viewed like a "Batch Mode". Full meant each character was sent and processed one at a time, echoing back the character processed. This was akin to being Interactive and the early means of interactive spying on people by detecting each character, including what you began to type but decided not to hit enter/return. In your own mind, you believe the server was not watch or understand what you decide not to send.

These terminal option was very important and it had to fit with how the backend was expected to interact with the client.

So I always believe (and no sweat if I am wrong), the developers designing text-based client/server protocols most likely were designing and testing the protocol commands and state machine manually, online. It explains the online HELP too. Who sees that? Who is it for? I suggest it was to assist the human, not the companion protocol automated client software.

Hector Santos,

ietf-smtp mailing list