BSD Rlogin (RFC1258)
Original Publication Date: 1991-Sep-01
Included in the Prior Art Database: 2019-Feb-11
Internet Society Requests For Comment (RFCs)
The rlogin facility provides a remote-echoed, locally flow-controlled virtual terminal with proper flushing of output.This memo documents an existing protocol and common implementation that is extensively used on the Internet. This memo provides information for the Internet community. It does not specify an Internet standard.
Network Working Group B. Kantor Request for Comments: 1258 Univ. of Calif San Diego September 1991
Status of this Memo
This memo documents an existing protocol and common implementation that is extensively used on the Internet. This memo provides information for the Internet community. It does not specify an Internet standard. Distribution of this memo is unlimited.
The rlogin facility provides a remote-echoed, locally flow-controlled virtual terminal with proper flushing of output. It is widely used between Unix hosts because it provides transport of more of the Unix terminal environment semantics than does the Telnet protocol, and because on many Unix hosts it can be configured not to require user entry of passwords when connections originate from trusted hosts.
The rlogin protocol requires the use of the TCP. The contact port is 513. An eight-bit transparent stream is assumed.
Upon connection establishment, the client sends four null-terminated strings to the server. The first is an empty string (i.e., it consists solely of a single zero byte), followed by three non-null strings: the client username, the server username, and the terminal type and speed. More explicitly:
<null> client-user-name<null> server-user-name<null> terminal-type/speed<null>
<null> bostic<null> kbostic<null> vt100/9600<null>
The server returns a zero byte to indicate that it has received these strings and is now in data transfer mode. Window size negotiation
Kantor [Page 1]
RFC 1258 BSD Rlogin September 1991
may follow this initial exchange (see below).
From Client to Server (and Flow Control)
Initially, the client begins operation in "cooked" (as opposed to to "raw") mode. In this mode, the START and STOP (usually ASCII DC1,DC3) characters are intercepted and interpreted by the client to start and stop output from the remote server to the local terminal, whereas all other characters are transmitted to the remote host as they are received. (But see below for the handling of the local-escape character.)
In "raw" mode, the START and STOP characters are not processed locally, but are sent as any other character to the remote server. The server thus determines the semantics of the START and STOP characters when in "raw" mode; they may be used for flow control or have quite different meanings independent of their ordinary usage on the client.
The remote server indicates to the client that it can accept window size change information by requesting a window size message (as described below) just after connection establishment and user identification exchange. The client should reply to this request with the current window size.
If the remote server has indicated that it can accept client window size changes and the size of the client’s window or screen dimensions changes, a 12-byte special sequence is sent to the remote server to indicate the current dimensions of the client’s window, s...