Re: oob in rlogin


Chris Torek (chris@gyre.umd.edu)
Tue, 25 Oct 88 15:46:39 EDT


Joel A. Mussman (jam@radc-lonex.arpa) notes:

>OOB data is used to pass four flags to the client:
>
> #define TIOCPKT_FLUSHWRITE 0x02
> #define TIOCPKT_NOSTOP 0x10
> #define TIOCPKT_DOSTOP 0x20
> #define TIOCPKT_WINDOW 0x80
>
>Any others are ignored.

This is true, but only because the others are hard to implement in
the current Berkeley system. There are three more:

        #define TIOCPKT_FLUSHREAD 0x01

This is intended to throw out typeahead. Only that typeahead which
was present when the out of band data itself was sent should be discarded;
since there is no way to tell when that was, the current rlogin client
ignores this.

        #define TIOCPKT_STOP 0x04 /* stop output */
        #define TIOCPKT_START 0x08 /* start output */

Upon receiving a STOP, the client should stop copying output, and
should cause the local tty device to stop producing output, but *not*
stop receiving; the client should resume output (without dicarding
anything) upon receiving a START. Servers should never send both STOP
and START in the same OOB data, but if it happens I suspect the proper
action is to resume if currently stopped, and otherwise to do nothing.

Stop and start ought to be unnecessary, but the DOSTOP/NOSTOP protocol
only accomodates ^S/^Q flow control. Positive flow control (ENQ/ACK
and the like) does not need STOP and START, but negative flow control
using characters other than ^S/^Q will in fact generate STOP and START
requests.

Chris



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:43:56 GMT