Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / lib / libcompat / 4.3 / rexec.3
1 .\" Copyright (c) 1983, 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)rexec.3     8.1 (Berkeley) 6/4/93
33 .\" $FreeBSD: src/lib/libcompat/4.3/rexec.3,v 1.5.2.4 2001/08/17 15:42:56 ru Exp $
34 .\" $DragonFly: src/lib/libcompat/4.3/rexec.3,v 1.2 2003/06/17 04:26:49 dillon Exp $
35 .\"
36 .Dd June 4, 1993
37 .Dt REXEC 3
38 .Os
39 .Sh NAME
40 .Nm rexec
41 .Nd return stream to a remote command
42 .Sh LIBRARY
43 .Lb libcompat
44 .Sh SYNOPSIS
45 .Ft int
46 .Fn rexec "char **ahost" "int inport" "char *user" "char *passwd" "char *cmd" "int *fd2p"
47 .Sh DESCRIPTION
48 .Bf -symbolic
49 This interface is obsoleted by
50 .Xr rcmd 3 .
51 .Ef
52 .Pp
53 The
54 .Fn rexec
55 function
56 looks up the host
57 .Fa *ahost
58 using
59 .Xr gethostbyname 3 ,
60 returning \-1 if the host does not exist.
61 Otherwise
62 .Fa *ahost
63 is set to the standard name of the host.
64 If a username and password are both specified, then these
65 are used to authenticate to the foreign host; otherwise
66 the environment and then the user's
67 .Pa .netrc
68 file in his
69 home directory are searched for appropriate information.
70 If all this fails, the user is prompted for the information.
71 .Pp
72 The port
73 .Fa inport
74 specifies which well-known
75 .Tn DARPA
76 Internet port to use for
77 the connection; the call
78 .Fn getservbyname \*qexec\*q \*qtcp\*q
79 (see
80 .Xr getservent 3 )
81 will return a pointer to a structure, which contains the
82 necessary port.
83 The protocol for connection is described in detail in
84 .Xr rexecd 8 .
85 .Pp
86 If the connection succeeds,
87 a socket in the Internet domain of type
88 .Dv SOCK_STREAM
89 is returned to
90 the caller, and given to the remote command as
91 .Em stdin
92 and
93 .Em stdout .
94 If
95 .Fa fd2p
96 is non-zero, then an auxiliary channel to a control
97 process will be setup, and a descriptor for it will be placed
98 in
99 .Fa *fd2p .
100 The control process will return diagnostic
101 output from the command (unit 2) on this channel, and will also
102 accept bytes on this channel as being
103 .Tn UNIX
104 signal numbers, to be
105 forwarded to the process group of the command.  The diagnostic
106 information returned does not include remote authorization failure,
107 as the secondary connection is set up after authorization has been
108 verified.
109 If
110 .Fa fd2p
111 is 0, then the
112 .Em stderr
113 (unit 2 of the remote
114 command) will be made the same as the
115 .Em stdout
116 and no
117 provision is made for sending arbitrary signals to the remote process,
118 although you may be able to get its attention by using out-of-band data.
119 .Sh SEE ALSO
120 .Xr rcmd 3 ,
121 .Xr rexecd 8
122 .Sh HISTORY
123 The
124 .Fn rexec
125 function appeared in
126 .Bx 4.2 .
127 .Sh BUGS
128 The
129 .Fn rexec
130 function sends the unencrypted password across the network.
131 .Pp
132 The underlying service is considered a big security hole and therefore
133 not enabled on many sites, see
134 .Xr rexecd 8
135 for explanations.