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.\" 34.Dd June 4, 1993 35.Dt REXEC 3 36.Os BSD 4.2 37.Sh NAME 38.Nm rexec 39.Nd return stream to a remote command 40.Sh SYNOPSIS 41.Ft int 42.Fn rexec "char **ahost" "int inport" "char *user" "char *passwd" "char *cmd" "int *fd2p" 43.Sh DESCRIPTION 44.Bf -symbolic 45This interface is obsoleted by krcmd(3). 46It is available from the compatibility library, libcompat. 47.Ef 48.Pp 49The 50.Fn rexec 51function 52looks up the host 53.Fa *ahost 54using 55.Xr gethostbyname 3 , 56returning \-1 if the host does not exist. 57Otherwise 58.Fa *ahost 59is set to the standard name of the host. 60If a username and password are both specified, then these 61are used to authenticate to the foreign host; otherwise 62the environment and then the user's 63.Pa .netrc 64file in his 65home directory are searched for appropriate information. 66If all this fails, the user is prompted for the information. 67.Pp 68The port 69.Fa inport 70specifies which well-known 71.Tn DARPA 72Internet port to use for 73the connection; the call 74.Ql getservbyname(\\*qexec\\*q, \\*qtcp\\*q) 75(see 76.Xr getservent 3 ) 77will return a pointer to a structure, which contains the 78necessary port. 79The protocol for connection is described in detail in 80.Xr rexecd 8 . 81.Pp 82If the connection succeeds, 83a socket in the Internet domain of type 84.Dv SOCK_STREAM 85is returned to 86the caller, and given to the remote command as 87.Em stdin 88and 89.Em stdout . 90If 91.Fa fd2p 92is non-zero, then an auxiliary channel to a control 93process will be setup, and a descriptor for it will be placed 94in 95.Fa *fd2p . 96The control process will return diagnostic 97output from the command (unit 2) on this channel, and will also 98accept bytes on this channel as being 99.Tn UNIX 100signal numbers, to be 101forwarded to the process group of the command. The diagnostic 102information returned does not include remote authorization failure, 103as the secondary connection is set up after authorization has been 104verified. 105If 106.Fa fd2p 107is 0, then the 108.Em stderr 109(unit 2 of the remote 110command) will be made the same as the 111.Em stdout 112and no 113provision is made for sending arbitrary signals to the remote process, 114although you may be able to get its attention by using out-of-band data. 115.Sh SEE ALSO 116.Xr rcmd 3 , 117.Xr rexecd 8 118.Sh HISTORY 119The 120.Fn rexec 121function appeared in 122.Bx 4.2 . 123.Sh BUGS 124The 125.Fn rexec 126function sends the unencrypted password across the network. 127.Pp 128The underlying service is considered a big security hole and therefore 129not enabled on many sites, see 130.Xr rexecd 8 131for explanations. 132