RLOGIND(1M) RISC/os Reference Manual RLOGIND(1M)
NAME
rlogind - remote login server
SYNOPSIS
/etc/rlogind [ -d ]
DESCRIPTION
rlogind is the server for the rlogin(1C) program. The
server provides a remote login facility with authentication
based on privileged port numbers from trusted hosts.
rlogind listens for service requests at the port indicated
in the ``login'' service specification; see services(4).
When a service request is received the following protocol is
initiated:
1) The server checks the client's source port. If the
port is not in the range 0-1023, the server aborts the
connection.
2) The server checks the client's source address and
requests the corresponding host name (see
gethostbyname(3N) and hosts(4)). If the hostname can-
not be determined, the dot-notation representation of
the host address is used.
Once the source port and address have been checked, rlogind
allocates a pseudo terminal (see pty(7)), and manipulates
file descriptors so that the slave half of the pseudo termi-
nal becomes the stdin, stdout, and stderr for a login pro-
cess. The login process is an instance of the login(1) pro-
gram, invoked with the -r option. The login process then
proceeds with the authentication process as described in
rshd(1M), but if automatic authentication fails, it
reprompts the user to login as one finds on a standard ter-
minal line.
The parent of the login process manipulates the master side
of the pseduo terminal, operating as an intermediary between
the login process and the client instance of the rlogin pro-
gram. In normal operation, the packet protocol described in
pty(7) is invoked to provide ^S/^Q type facilities and pro-
pagate interrupt signals to the remote programs. The login
process propagates the client terminal's baud rate and ter-
minal type, as found in the environment variable, ``TERM'';
see environ(5). The screen or window size of the terminal is
requested from the client, and window size changes from the
client are propagated to the pseudo terminal.
rlogind supports an optional facility to simulate the
"ISTRIP", "PARENB", and "PARODD" termio(7) options, if set,
to compensate for deficiencies in rlogin client applications
Printed 11/19/92 Page 1
RLOGIND(1M) RISC/os Reference Manual RLOGIND(1M)
on other operating systems. Many such client programs dis-
able parity generation on output, and fail to discard parity
bits on input, whenever "IXON" is turned off by rlogind.
This means that terminals which expect parity on data they
send suddenly fail to receive it, and further that applica-
tions receiving data from such terminals see characters with
the parity bit set. Thus only terminals which do not gen-
erate parity, and which ignore parity on received charac-
ters, function correctly with all applications.
If the file /etc/rlogind.simulation.ok exists, rlogind will
simulate "ISTRIP", "PARENB", and "PARODD" (if they are set),
whenever "IXON" is turned off. All users must then be care-
ful to make the appropriate stty(1) settings when logging in
via rlogin, such that the settings on their local virtual
terminals match those expected by their respective real ter-
minals. For example, if the real terminal expects and gen-
erates even parity, the initialization
stty istrip parenb -parodd
would be approrpiate. If the real terminal neither expects
nor generates parity, and rlogin is invoked with the "-8"
option, the initialization
stty -istrip -parenb
would be appropriate. Users may test for the existence of
the file /etc/rlogind.simulation.ok to determine whether
such settings on are needed. Note that this feature is not
needed with the RISC/os rlogin client, as it always gen-
erates and strips parity as directed by the user.
DIAGNOSTICS
All diagnostic messages are returned on the connection asso-
ciated with the stderr, after which any network connections
are closed. An error is indicated by a leading byte with a
value of 1.
``Try again.''
A fork by the server failed.
``/bin/sh: ...''
The user's login shell could not be started.
BUGS
The authentication procedure used here assumes the integrity
of each client machine and the connecting medium. This is
insecure, but is useful in an ``open'' environment.
A facility to allow all data exchanges to be encrypted
should be present.
Page 2 Printed 11/19/92
RLOGIND(1M) RISC/os Reference Manual RLOGIND(1M)
A more extensible protocol should be used.
If "IXON" is turned off by the application, the rlogin
client is directed to do so via an out-of-band message, so
that considerable output, which may have required flow con-
trol, may still be pending when flow control is disabled.
As a consequence, some of the data may be lost due to over-
runs. (This is a fundamental deficiency of the rlogin pro-
tocol, not an implementation error.)
ORIGIN
4.3 BSD
Printed 11/19/92 Page 3