*BSD News Article 2796


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!news.hawaii.edu!ames!olivea!uunet!news.univie.ac.at!news.tu-graz.ac.at!fstgds01!chmr
From: chmr@fstgds01.tu-graz.ac.at (Christoph Robitschko)
Newsgroups: comp.unix.bsd
Subject: Re: 386BSD: Dinky little socket(?) bug -- ^V as escape character?
Message-ID: <1992Jul30.081047.16575@news.tu-graz.ac.at>
Date: 30 Jul 92 08:10:47 GMT
References: <sand.712454840@milton> <1992Jul30.011650.5292@pasteur.Berkeley.EDU>
Sender: news@news.tu-graz.ac.at (USENET News System)
Organization: Technical University of Graz, Austria
Lines: 43
Nntp-Posting-Host: fstgds01

In article <1992Jul30.011650.5292@pasteur.Berkeley.EDU> sim@cory.Berkeley.EDU (Peng-Toh Sim) writes:
>In article <sand.712454840@milton> sand@milton.u.washington.edu (Derek Upham) writes:
[complains that he has to press ^V twice to be interpreted in a screen session]
>
>
>I believe this bug is due to misinterpretation of POSIX.1 .
>I have seen this bug under 0.0 with screen3.2 and kermit 5a.
>When screen3.2 or kermit is compiled with POSIX.1 termios, it
>switches to RAW mode by resetting ICANON in c_lflags for the
>terminal.  This, however, does not disable IEXTEN under the
>current implementation of 386bsd, so keys enabled by IEXTEN like
>^V still gets processed.  Since with screen (or kermit), you go
>though the tty discipline twice, ^V gets processed twice.
>Example, if you want to enter ^V itself, you have to hit it four times!!!
>I figure this from "POSIX Programmer's Guide" by Donald Lewine.
>However, this book does not say if the kernel should ignore IEXTEN when
>ICANON is not set.  So I don't know who's bug this is.
>My modified version of screen3.2 and kermit disables the IEXTEN flag
>when they switch to RAW mode so I don't see this problem.
>
>Can somebody who has access to the actual POSIX.1 document comment
>on this please?
>
>PT
>sim@cory.berkeley.edu
>
>From "Portable Operating System Interface (POSIX) Part 1: System Application
Program Interface (API) [C Language]" ("IEEE Std 1003.1 - 1990"), Chapter
7.1.2.4:

# If IEXTEN is set,implementation-defined functions shall be recognized from the
# input data. It is implementation defined how IEXTEN being set interacts with
# ICANON, ISIG, IXON, or IXOFF. If IEXTEN is not set, then implementation-
# defined functions shall not be recognized, and the corresponding input
# characters shall be processed as described for ICANON, ISIG, IXON, or IXOFF.

Typing errors are my own intellectual property 8->

							Christoph
-- 
------------------------------------------------------------------------
Christoph M. Robitschko  | "the only man who got his work done by Friday
chmr@edvz.tu-graz.ac.at  |             was Robinson Crusoe."