Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Aug 1995 14:38:30 -0400
From:      Garrett Wollman <wollman@halloran-eldar.lcs.mit.edu>
To:        terry@cs.weber.edu (Terry Lambert)
Cc:        kallio@jyu.fi (Seppo Kallio), questions@FreeBSD.org
Subject:   Re: Some serious problems with telnet in FreeBSD 2.0.5 R ... more
Message-ID:  <9508111838.AA07914@halloran-eldar.lcs.mit.edu>
In-Reply-To: <9508111758.AA07856@cs.weber.edu>
References:  <v0151011aac50e53c88fc@[130.234.41.39]> <9508111758.AA07856@cs.weber.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Fri, 11 Aug 95 11:58:54 MDT, terry@cs.weber.edu (Terry Lambert) said:

>> More problems in Macintosh NCSA Telnet 2.6 and DOS NCSA Telnet
>> 
>> - in emacs Control-X Control-C seems to be same as Control-X Control-G.
>> Control-C alone is acting like Control-G: it beeps.
>> Control-C is showing C-c on the last line of emacs screen,
>> but why beep?
>> ** This is not the problem with "setup keys"! I have dissabled
>> Interrupt Process! **

> Most likely, this is an incorrect assumption that the server is a 4.2BSD
> TCP/IP with the known bugs in out of band data.

Nothing of the sort.  A quick session with `telnet -D report'
demonstrates that the problem is due to bugs in the LINEMODE
implementation (not to be confused with the character-at-a-time (WILL
ECHO) and old line-at-a-time (WONT ECHO) modes).  It is not clear
which piece of software has the bugs in it (although I'm inclined to
believe it's NCSA).  The problems you see in Emacs result from the
fact that Emacs runs by default in CBREAK mode (well, !ICANON && ISIG
mode nowadays) and then changes some of the special characters so
that, while in Emacs, your INTR character is ^G rather than ^C.  Some
program somewhere along the way isn't behaving the way it should, and
is still translating ^C into a TELNET Interrupt Process command.  This
is also the reason why suspending and resuming Emacs doesn't work the
way you'd expect.  A workaround solution is to go to the
File>Preferences>Session section and disable the ``Allow linemode''
check-box.

> That it beeps in an emacs session is not indicative of "control-G"-ness;
> it is indicative of an Emacs command error.  You should run "hd" or "od -hc"
> instead of emacs and send your keys.

Which will help not a whit since the problem has to do with the
combination of TELNET LINEMODE and the tty driver's CBREAK.

>> - in pine  Control-Z  and after fg it returns
>> to pine with redrawing the screen as it should.
>> What is the difference between pine (pico) and emacs+vi?
>> Why pico is making it correctly but emacs is not?

Because Pine doesn't use CBREAK mode, it uses RAW mode, which causes
linemode to be completely disabled.

>> - I have no problems with NCSA Telnet if I first login to
>> some other node (Linux, SunOS) and then make telnet into the
>> FreeBSD node. Only a direct NCSA Telnet into the FreeBSD node
>> dees not work.

This is becaus those other systems don't implement LINEMODE.  (It is
actually an interesting question to see if all of the LINEMODE
controls can be successfully passed from `telnet' to `telnetd' over
the PTY interface.  I suspect not.)

-GAWollman

--
Garrett A. Wollman   | Shashish is simple, it's discreet, it's brief. ... 
wollman@lcs.mit.edu  | Shashish is the bonding of hearts in spite of distance.
Opinions not those of| It is a bond more powerful than absence.  We like people
MIT, LCS, ANA, or NSA| who like Shashish.  - Claude McKenzie + Florent Vollant



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9508111838.AA07914>