4.3BSD Telnetd incorrectly maps CR-LF sequences

robert at hslrswi.UUCP robert at hslrswi.UUCP
Fri Jan 30 01:40:27 AEST 1987


Index:
	/usr/src/etc/telnetd.c 4.3BSD

Description:
	The version of telnetd as delivered in 4.3BSD incorrectly maps
	CR-LF sequences received over the network on to LF's which are
	then handed on to the pty driver.

	This goes unnoticed most of the time because the tty driver
	accepts either CR or LF as end-of-line characters when in
	cooked mode.  However, it means that any program operating in
	cbreak mode, which is invoked over a telnet connection,
	mysteriously fails.  This includes tip, telnet itself and
	probably others.

	(Has no-one noticed this before now ?)

Fix:
	The fix is, fortunately, a one-liner. CR-LF sequences should
	be mapped on to CR's, not LF's. Apply the following patch
	(Note that the correct version is now between the #ifdef lines).


*** /usr/src/etc/telnetd.c	Thu Dec  4 10:16:23 1986
--- /usr/src/etc/telnetd.c.ucb	Tue May 13 07:21:51 1986
***************
*** 637,647 ****
  			if ((myopts[TELOPT_BINARY] == OPT_NO) && c == '\r') {
  				if ((ncc > 0) && ('\n' == *netip)) {
  					netip++; ncc--;
- #ifdef HASLER
- 					c = '\r';
- #else
  					c = '\n';
- #endif
  				} else {
  					state = TS_CR;
  				}
--- 637,643 ----


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    J. Robert Ward,						   ___________
    Hasler AG, Belpstrasse 23, CH-3000 Berne 14, Switzerland	   |    _    |
								   |  _| |_  |
Tel.:	    +41 31 632319					   | |_   _| |
X.400:	    robert at hslrswi.hasler				   |   |_|   |
Bitnet:	    robert%hslrswi.UUCP at cernvax.BITNET	   		   |_________|
Uucp:	    ... {seismo,ukc, ... }!mcvax!cernvax!hslrswi!robert
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



More information about the Comp.bugs.4bsd.ucb-fixes mailing list