|
|
1.1 root 1: .TH DIST 8
2: .ds ld /usr/lib/dist
3: .SH NAME
4: connect, dispatch \(mi generic network client and server
5: .PP
6: query, receive, notify \(mi network clients
7: .PP
8: answer, transmit, notified \(mi network servers
9: .SH SYNOPSIS
10: .B \*(ld/connect
11: .I remote-system remote-cmd io local-cmd local-args
12: .PP
13: .B \*(ld/query
14: .PP
15: .B \*(ld/receive
16: .I package-id
17: .PP
18: .B \*(ld/notify
19: .I package-id
20: .PP
21: .B \*(ld/dispatch
22: .I remote-system remote-user
23: .PP
24: .B \*(ld/answer
25: .I remote-system remote-user
26: .PP
27: .B \*(ld/transmit
28: .I remote-system remote-user
29: .PP
30: .B \*(ld/notified
31: .I remote-system remote-user
32: .SH DESCRIPTION
33: These programs act behind the scenes on behalf of
34: .IR dist (1).
35: .I Connect
36: and
37: .I dispatch
38: deal with all the details of establishing and authenticating connections
39: on the network. The remaining programs are independent of the underlying
40: network.
41: .PP
42: .I Connect
43: encapsulates all the details of making a call on the underlying network.
44: Its arguments are mostly self explanatory.
45: .I Remote-cmd
46: must be one of
47: .BR answer ", " transmit ", or " notified "."
48: If
49: .I io
50: is
51: .BR i ,
52: the standard input of the local command is connected
53: to the standard output of the remote command. If
54: .B i
55: is not specified, the local command inherits its local
56: standard input, and the remote command has its standard
57: output directed to a log file.
58: Similarly,
59: .B o
60: means the standard output of the local command is connected
61: to the standard input of the remote command. If
62: .B o
63: is not specified, the local command inherits its local
64: standard output, and the remote command has its standard
65: input attached to
66: .BR /dev/null .
67: Legal possibilities are
68: .BR i ,
69: .BR o ,
70: and
71: .BR io.
72: .PP
73: .I Dispatch
74: is intended to be called by a generic network daemon
75: such as
76: .IR svcmgr (8).
77: It talks to
78: .I connect
79: and takes care of establishing the appropriate standard input and
80: output before calling
81: .IR answer ,
82: .IR transmit ,
83: or
84: .IR notified .
85: .I Dispatch
86: expects arguments giving the remote system, remote user, and remote
87: address, and passes these to whatever program it calls.
88: .PP
89: .I Query
90: is a simple program called by
91: .I connect
92: with its standard input attached to the remote
93: .IR answer .
94: .I Query
95: displays a formatted version of the queue list from the remote machine.
96: (It may even turn out to be the same as
97: .BR /bin/cat .)
98: .PP
99: .I Receive
100: is a more complicated program that is called by
101: .I connect
102: with both its input and output attached to the remote
103: .IR transmit .
104: .I Receive
105: performs actual software installation and sends a transcript of any
106: errors back to the remote system.
107: .PP
108: .I Notify
109: is a simple program called by
110: .I connect
111: with its standard output attached to the remote
112: .IR notified .
113: .I Notify
114: sends an announcement of the availability of some specific package.
115: .PP
116: All of the servers read a configuration file,
117: .BR \*(ld/conf ,
118: to determine how to handle installation on behalf
119: of a given remote system and user. The file consists of lines
120: containing patterns and actions. Empty lines or lines beginning
121: with a '\c
122: .BR "#" "'"
123: are ignored. The first three fields (separated by white space)
124: of each line are regular
125: expressions to be matched the remote system name, remote user name,
126: and file name respectively. The first line in which all three match
127: will be chosen.
128: The remainder of the line contains
129: the associated actions.
130: Each action is an alphanumeric name, optionally followed immediately
131: by a parenthesized argument.
132: .PP
133: Someday the actions will be enumerated here, but I don't know what
134: they are yet.
135: .SH EXAMPLES
136: A simple configuration file:
137: .EX
138: .ta \w'00000000'u +\w'00000000'u +\w'00000000'u +\w'00000000'u +\w'00000000'u +\w'00000000'u
139: # system user pathname action
140: # we are willing to distribute stuff to coma and pyxis.
141: (coma|pyxis) .* .* accept(yes)
142: \&.* .* .* accept(no)
143: .EE
144: .SH "SEE ALSO"
145: .IR dist (1),
146: .IR dist (5)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.