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."