OSDN Git Service

Initial revision
[pf3gnuchains/pf3gnuchains3x.git] / tk / doc / send.n
1 '\"
2 '\" Copyright (c) 1990-1994 The Regents of the University of California.
3 '\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
4 '\"
5 '\" See the file "license.terms" for information on usage and redistribution
6 '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7 '\" 
8 '\" RCS: @(#) $Id$
9 '\" 
10 .so man.macros
11 .TH send n 4.0 Tk "Tk Built-In Commands"
12 .BS
13 '\" Note:  do not modify the .SH NAME line immediately below!
14 .SH NAME
15 send \- Execute a command in a different application
16 .SH SYNOPSIS
17 \fBsend ?\fIoptions\fR? \fIapp cmd \fR?\fIarg arg ...\fR?
18 .BE
19
20 .SH DESCRIPTION
21 .PP
22 This command arranges for \fIcmd\fR (and \fIarg\fRs) to be executed in the
23 application named by \fIapp\fR.  It returns the result or
24 error from that command execution.
25 \fIApp\fR may be the name of any application whose main window is
26 on the display containing the sender's main window;  it need not
27 be within the same process.
28 If no \fIarg\fR arguments are present, then the command to be executed is
29 contained entirely within the \fIcmd\fR argument.  If one or
30 more \fIarg\fRs are present, they are concatenated to form the
31 command to be executed, just as for the \fBeval\fR command.
32 .PP
33 If the initial arguments of the command begin with ``\-''
34 they are treated as options.  The following options are
35 currently defined:
36 .TP
37 \fB\-async\fR
38 Requests asynchronous invocation.  In this case the \fBsend\fR
39 command will complete immediately without waiting for \fIcmd\fR
40 to complete in the target application;  no result will be available
41 and errors in the sent command will be ignored.
42 If the target application is in the same process as the sending
43 application then the \fB\-async\fR option is ignored.
44 .TP
45 \fB\-displayof\fR \fIpathName\fR
46 Specifies that the target application's main window is on the display
47 of the window given by \fIpathName\fR, instead of the display containing
48 the application's main window.
49 .TP
50 \fB\-\|\-\fR
51 Serves no purpose except to terminate the list of options.  This
52 option is needed only if \fIapp\fR could contain a leading ``\-''
53 character.
54
55 .SH "APPLICATION NAMES"
56 .PP
57 The name of an application is set initially from the name of the
58 program or script that created the application.
59 You can query and change the name of an application with the
60 \fBtk appname\fR command.
61
62 .SH "DISABLING SENDS"
63 .PP
64 If the \fBsend\fR command is removed from an application (e.g.
65 with the command \fBrename send {}\fR) then the application
66 will not respond to incoming send requests anymore,  nor will it
67 be able to issue outgoing requests.
68 Communication can be reenabled by invoking the \fBtk appname\fR
69 command.
70
71 .SH SECURITY
72 .PP
73 The \fBsend\fR command is potentially a serious security loophole,
74 since any application that can connect to your X server can send
75 scripts to your applications.
76 These incoming scripts can use Tcl to read and
77 write your files and invoke subprocesses under your name.
78 Host-based access control such as that provided by \fBxhost\fR
79 is particularly insecure, since it allows anyone with an account
80 on particular hosts to connect to your server, and if disabled it
81 allows anyone anywhere to connect to your server.
82 In order to provide at least a small amount of
83 security, Tk checks the access control being used by the server
84 and rejects incoming sends unless (a) \fBxhost\fR-style access control
85 is enabled (i.e. only certain hosts can establish connections) and (b) the
86 list of enabled hosts is empty.
87 This means that applications cannot connect to your server unless
88 they use some other form of authorization
89 such as that provide by \fBxauth\fR.
90
91 .SH KEYWORDS
92 application, name, remote execution, security, send