On the telnet provided with my system (Debian), line feeds (\n) seem to be translated to CRLF (\r\n). Specifically, if I run, e.g., netcat -l -p 3334 > file and run echo a | telnet localhost 3334 in another terminal, then do hexdump file, I get:
0000000 0d61 000a
0000003
Which is a\r\n in little-endian, i.e., a followed by CRLF.
Yet, the manpage for telnet says, about the crlf toggle:
If this is TRUE, then carriage returns will be sent as <CR><LF>. If this is FALSE, then carriage returns will be send as <CR><NUL>. The initial value for this toggle is FALSE.
So I would expect to see carriage returns sent as CR followed by NUL. Why isn't this why I am observing?
(Note that I have no /etc/telnetrc or ~/.telnetrc. Also, by contrast, on my system, netcat (when used as a client) sends newlines as LF (\n), unless the -C option is used.)