home *** CD-ROM | disk | FTP | other *** search
-
-
-
- RRRRCCCCMMMMDDDD((((3333NNNN)))) RRRRCCCCMMMMDDDD((((3333NNNN))))
-
-
-
- NNNNAAAAMMMMEEEE
- rcmd, rresvport, ruserok - routines for returning a stream to a remote
- command
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- rrrrccccmmmmdddd((((cccchhhhaaaarrrr ********aaaahhhhoooosssstttt,,,, uuuu____sssshhhhoooorrrrtttt iiiinnnnppppoooorrrrtttt,,,, cccchhhhaaaarrrr ****llllooooccccuuuusssseeeerrrr,,,, cccchhhhaaaarrrr ****rrrreeeemmmmuuuusssseeeerrrr,,,,
- cccchhhhaaaarrrr ****ccccmmmmdddd,,,, iiiinnnntttt ****ffffdddd2222pppp))));;;;
-
- rrrrrrrreeeessssvvvvppppoooorrrrtttt((((iiiinnnntttt ****ppppoooorrrrtttt))));;;;
-
- rrrruuuusssseeeerrrrooookkkk((((cccchhhhaaaarrrr ****rrrrhhhhoooosssstttt,,,, iiiinnnntttt ssssuuuuppppeeeerrrruuuusssseeeerrrr,,,, cccchhhhaaaarrrr ****rrrruuuusssseeeerrrr,,,, cccchhhhaaaarrrr ****lllluuuusssseeeerrrr))));;;;
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _R_c_m_d is a routine used by the super-user to execute a command on a remote
- machine using an authentication scheme based on reserved port numbers.
- _R_r_e_s_v_p_o_r_t is a routine which returns a descriptor to a socket with an
- address in the privileged port space. _R_u_s_e_r_o_k is a routine used by
- servers to authenticate clients requesting service with _r_c_m_d. All three
- functions are present in the same file and are used by the _r_s_h_d(1M)
- server (among others).
-
- _R_c_m_d looks up the host *_a_h_o_s_t using _g_e_t_h_o_s_t_b_y_n_a_m_e(3N), returning -1 if
- the host does not exist. Otherwise *_a_h_o_s_t is set to the standard name of
- the host and a connection is established to a server residing at the
- well-known Internet port _i_n_p_o_r_t.
-
- If the connection succeeds, a socket in the Internet domain of type
- SOCK_STREAM is returned to the caller, and given to the remote command as
- ssssttttddddiiiinnnn and ssssttttddddoooouuuutttt. If _f_d_2_p is non-zero, then an auxiliary channel to a
- control process will be set up, and a descriptor for it will be placed in
- *_f_d_2_p. The control process will return diagnostic output from the
- command (unit 2) on this channel, and will also accept bytes on this
- channel as being UNIX signal numbers, to be forwarded to the process
- group of the command. If _f_d_2_p is 0, then the ssssttttddddeeeerrrrrrrr (unit 2 of the
- remote command) will be made the same as the ssssttttddddoooouuuutttt and no provision is
- made for sending arbitrary signals to the remote process, although you
- may be able to get its attention by using out-of-band data.
-
- The protocol is described in detail in _r_s_h_d(1M).
-
- The _r_r_e_s_v_p_o_r_t routine is used to obtain a socket with a privileged
- address bound to it. This socket is suitable for use by _r_c_m_d and several
- other routines. Privileged Internet ports are those in the range 512 to
- 1023. Only the super-user is allowed to bind an address of this sort to
- a socket.
-
- _R_u_s_e_r_o_k takes a remote host's name, as returned by a _g_e_t_h_o_s_t_b_y_a_d_d_r(3N)
- routine, two user names and a flag indicating whether the local user's
- name is that of the super-user. It then checks the files
- /_e_t_c/_h_o_s_t_s._e_q_u_i_v and, possibly, ._r_h_o_s_t_s in the local user's home
- directory to see if the request for service is allowed. A 0 is returned
- if the machine name is listed in the ``hosts.equiv'' file, or the host
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- RRRRCCCCMMMMDDDD((((3333NNNN)))) RRRRCCCCMMMMDDDD((((3333NNNN))))
-
-
-
- and remote user name are found in the ``.rhosts'' file; otherwise _r_u_s_e_r_o_k
- returns -1. If the _s_u_p_e_r_u_s_e_r flag is 1, the checking of the
- ``hosts.equiv'' file is bypassed. If the local domain (as obtained from
- _g_e_t_h_o_s_t_n_a_m_e(2)) is the same as the remote domain, only the machine name
- need be specified.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- rlogin(1C), rsh(1C), intro(2), rexec(3N), rexecd(1M), rlogind(1M),
- rshd(1M)
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- _R_c_m_d returns a valid socket descriptor on success. It returns -1 on
- error and prints a diagnostic message on the standard error.
-
- _R_r_e_s_v_p_o_r_t returns a valid, bound socket descriptor on success. It
- returns -1 on error with the global value _e_r_r_n_o set according to the
- reason for failure. The error code EAGAIN is overloaded to mean ``All
- network ports in use.''
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-