0
|
1 cdcc(8) Distributed Checksum Clearinghouse cdcc(8) |
|
2 |
|
3 NNAAMMEE |
|
4 ccddcccc -- Control Distributed Checksum Clearinghouse |
|
5 |
|
6 SSYYNNOOPPSSIISS |
|
7 ccddcccc [--VVddqq] [--hh _h_o_m_e_d_i_r] [--cc _i_d_s] [_o_p_1 _o_p_2 _._._. [_-]] |
|
8 |
|
9 DDEESSCCRRIIPPTTIIOONN |
|
10 CCddcccc is used to clear, control, and query the control file used by Dis- |
|
11 tributed Checksum Clearinghouse clients such as dccm(8). The host names, |
|
12 UDP port numbers, IDs, and passwords local clients use to talk to servers |
|
13 as well as IP addresses, round trip times, and other information are con- |
|
14 tained in the _m_a_p file. While ccddcccc is set-UID, it uses the real UID only |
|
15 when accessing the _m_a_p file. It refuses to display sensitive information |
|
16 such as passwords unless the real UID is the same as the effective UID. |
|
17 Note that ccddcccc needs to be set to a UID that can read and write the _m_a_p |
|
18 file, but that UID need not be 0. |
|
19 |
|
20 CCddcccc is also used to send commands to DCC servers to tell them to stop, |
|
21 reload their lists of DCC IDs, turn on tracing, and so forth. |
|
22 |
|
23 Many commands sent to DCC servers require a numeric DCC ID and a password |
|
24 recognized by the server. A DCC password is a 1-32 character string that |
|
25 does not contain blank, tab, newline or carriage return characters. The |
|
26 ID is specified with the iidd operation. If ccddcccc is run with a real UID |
|
27 that can read the _i_d_s file and a password is not specified (see the |
|
28 ppaasssswwoorrdd operation), then the current password for the specified ID in |
|
29 the _i_d_s file will be used. If no _i_d_s file is available and a password |
|
30 and DCC ID are not specified, ccddcccc uses the anonymous DCC client-ID. DCC |
|
31 servers do not expect a password from clients using the anonymous client- |
|
32 ID, but they also won't honor control requests. |
|
33 |
|
34 Operations that modify the _m_a_p file can only be performed when the real |
|
35 UID is sufficient to modify the file directly. Trying to perform an |
|
36 operation that requires a password without specifying a server-ID or |
|
37 without using a UID that can access the _i_d_s file produces an error mes- |
|
38 sage complaining about a "privileged operation." |
|
39 |
|
40 Commands and operations are read from the command line or from stdin. A |
|
41 series of _o_p_1 _o_p_2 _._._. operations followed a _- (a dash) causes operations |
|
42 to be read from stdin after the command line operations are processed. |
|
43 Semi-colons or newlines separate commands in UNIX command-line "words," |
|
44 as well as when commands are read from stdin. Since each command line |
|
45 operation must be a shell "word," quotes are often required as in |
|
46 |
|
47 % cdcc "load map.txt" |
|
48 or |
|
49 |
|
50 % cdcc "host localhost;info" stats |
|
51 |
|
52 OOPPTTIIOONNSS |
|
53 The following options are available: |
|
54 |
|
55 --VV displays the version of the DCC controller. |
|
56 |
|
57 --dd enables debugging output from the DCC client software. Additional |
|
58 --dd options increase the number of messages. See the ddeebbuugg command. |
|
59 |
|
60 --qq quiets initial complaints about the map file and some messages about |
|
61 successful commands. See the qquuiieett command. |
|
62 |
|
63 --hh _h_o_m_e_d_i_r |
|
64 overrides the default DCC home directory, _/_v_a_r_/_d_c_c. See the hhoommeeddiirr |
|
65 operation. |
|
66 |
|
67 --cc _i_d_s |
|
68 specifies file containing DCC IDs and passwords known by the local |
|
69 DCC server. An _i_d_s file that can be read by others cannot be used. |
|
70 The format of the _i_d_s file is described in dccd(8). |
|
71 |
|
72 _o_p_1 _o_p_2 _._._. |
|
73 are operations or commands such as "id 100; stop". Commands or |
|
74 operations specified on the command line are performed before the |
|
75 first interactive request. The last command can be _- to specify |
|
76 that additional commands should be read from stdin. |
|
77 |
|
78 OOPPEERRAATTIIOONNSS |
|
79 Local operations include the following: |
|
80 |
|
81 hheellpp [_c_o_m_m_a_n_d] |
|
82 lists information about one or all available commands and opera- |
|
83 tions. |
|
84 |
|
85 eexxiitt stops ccddcccc |
|
86 |
|
87 ggrreeyy [_o_n | _o_f_f] |
|
88 switches between DCC and greylist servers. |
|
89 |
|
90 hhoommeeddiirr [_p_a_t_h] |
|
91 displays or specifies the DCC home directory. |
|
92 |
|
93 ffiillee [_m_a_p] |
|
94 displays or specifies the name or path of the map file. The string |
|
95 "-" specifies the default file _m_a_p in the DCC home directory. |
|
96 |
|
97 nneeww mmaapp [_m_a_p] |
|
98 creates a new, empty file for DCC server host names, port numbers, |
|
99 passwords, and so forth. There must not already be a file of the |
|
100 same name. The default is _m_a_p in the DCC home directory. |
|
101 |
|
102 ddeelleettee _h_o_s_t[,_p_o_r_t] |
|
103 deletes the entry in the _m_a_p file for _h_o_s_t and UDP _p_o_r_t_. If |
|
104 greylist mode has been set with the ggrreeyy oonn command, the entry for |
|
105 the grelist server at _h_o_s_t is deleted. |
|
106 |
|
107 aadddd _h_o_s_t[,_p_o_r_t] [_R_T_T_+_a_d_j|_R_T_T_-_a_d_j] [_G_r_e_y_l_i_s_t] [_c_l_i_e_n_t_-_I_D [password]] |
|
108 adds an entry to the _m_a_p file. The _p_o_r_t can be "-" to specify the |
|
109 default DCC server port number. |
|
110 |
|
111 An adjustment to the round trip time is a multiple of 10 millisec- |
|
112 onds between -4000 and +4000 following the string _R_T_T. The adjust- |
|
113 ment is added to the average measured round trip time when the DCC |
|
114 client software picks the "nearest" DCC server, or the server with |
|
115 the smallest RTT. If an IP address is mentioned more than once in |
|
116 the list of servers, for example because it is among the addresses |
|
117 for more than one server name, conflicts among RTT adjustments are |
|
118 resolved by picking the adjustment with the largest absolute value. |
|
119 |
|
120 _G_r_e_y_l_i_s_t marks an entry for a greylist servers. _G_r_e_y_l_i_s_t is |
|
121 assumed if greylist mode has been set with the ggrreeyy oonn command, See |
|
122 dccd(8). |
|
123 |
|
124 If both the client-ID and the password are absent, the anonymous |
|
125 client-ID, 1, is used. The string _a_n_o_n is equivalent to the anony- |
|
126 mous client-ID. A null password string is assumed if the password |
|
127 is missing and the client-ID is 1 or also missing. |
|
128 |
|
129 llooaadd _i_n_f_o_-_f_i_l_e |
|
130 loads the current parameter file with the host names, port numbers, |
|
131 IDs, and passwords in _i_n_f_o_-_f_i_l_e. Standard input is understood if |
|
132 _i_n_f_o_-_f_i_l_e is "-". |
|
133 |
|
134 A suitable file can be created with the iinnffoo operation. It con- |
|
135 sists of ignored blank or comment lines starting with '#' and other |
|
136 lines in the same format as the arguments to the aadddd operation. |
|
137 Note that output of the iinnffoo command will lack passwords unless it |
|
138 is run by a privileged user. |
|
139 |
|
140 hhoosstt [_h_o_s_t_n_a_m_e] |
|
141 specifies the host name of the DCC server to which commands should |
|
142 be sent. If _h_o_s_t_n_a_m_e is "-", the current default DCC server is |
|
143 chosen. |
|
144 |
|
145 ppoorrtt [_p_o_r_t] |
|
146 specifies the UDP port number of the DCC server to which commands |
|
147 should be sent. The default is 6277 or 6276 depending on the set- |
|
148 ting of the greylist mode controlled with the ggrreeyy command. |
|
149 |
|
150 ppaasssswwoorrdd _s_e_c_r_e_t |
|
151 specifies the password with which to sign commands sent to the DCC |
|
152 server specified with the sseerrvveerr and ppoorrtt operations. |
|
153 |
|
154 iidd [_I_D] |
|
155 specifies or displays the numeric DCC ID for commands sent to the |
|
156 DCC server specified with the sseerrvveerr and ppoorrtt operations. If no |
|
157 password is specified with the ppaasssswwoorrdd command, the password is |
|
158 sought in the local _i_d_s. |
|
159 |
|
160 iinnffoo [--NN] |
|
161 displays information about the connections to DCC servers. It |
|
162 starts with the current date and name of the current _m_a_p file or |
|
163 says that ccddcccc is using the implicit file created with the sseerrvveerr |
|
164 and ppoorrtt operations. It then says when host names will next be |
|
165 resolved into IP addresses, the smallest round trip time to the IP |
|
166 addresses of known DCC servers. The host name, UDP port number (or |
|
167 dash if it is the default), DCC client-ID, and password (if ccddcccc is |
|
168 used by a privileged user) are shown in one line per configured DCC |
|
169 server. |
|
170 |
|
171 The currently preferred IP address is indicated by an asterisk. |
|
172 The "brand" of the server, its DCC ID, and its IP address are dis- |
|
173 played in one line per IP address. The performance of the server |
|
174 at each IP address in the most recent 32 operations is displayed in |
|
175 a second line. The second line ends with the measured delay |
|
176 imposed by the server on requests with this client's ID. |
|
177 |
|
178 --NN displays the reverse DNS name of each server. |
|
179 |
|
180 RRTTTT [--NN] |
|
181 measures the round trip time to the DCC servers. It does this by |
|
182 discarding accumulated information and forcing a probe of all |
|
183 listed server IP addresses. |
|
184 |
|
185 _B_e_w_a_r_e that when run with sufficient privilege, the RRTTTT operation |
|
186 is like the iinnffoo and llooaadd operations and displays cleartext pass- |
|
187 words. |
|
188 |
|
189 --NN displays the reverse DNS name of each server. |
|
190 |
|
191 ddeebbuugg Op Ar on | off | TTL=x |
|
192 increases or decreases debugging information from the DCC client |
|
193 software or sets the IP TTL on queries to the server. See --dd. |
|
194 |
|
195 Some operating systems do not include the functions required to |
|
196 change the IP TTL. Others include the required functions but have |
|
197 no apparent effect. |
|
198 |
|
199 qquuiieett [_o_n | _o_f_f] |
|
200 makes commands more quiet or more verbose. |
|
201 |
|
202 IIPPvv66 [_o_n | _o_f_f] |
|
203 sets a switch to cause clients using the map file to try to use |
|
204 IPv6. |
|
205 |
|
206 SSOOCCKKSS [_o_n _o_f_f] |
|
207 sets a switch to cause DCC clients using the map to use the SOCKS5 |
|
208 protocol, if they have been built with a SOCKS library. The socks |
|
209 library linked with the DCC client must be configured appropri- |
|
210 ately, often including knowing which DCC servers must be connected |
|
211 via the SOCKS proxy and which can be reached directly. DCC clients |
|
212 use SOCKS functions such as Rsendto() with all or no servers |
|
213 depending on the setting of this switch. |
|
214 |
|
215 ssrrcc [_- | _I_P_a_d_d_r_e_s_s] |
|
216 displays or configures the source address of DCC client requests. |
|
217 _- removes the explicit configuration of the source, while _I_P_a_d_d_r_e_s_s |
|
218 sets it. This makes sense only on multi-homed hosts. It can be |
|
219 useful for passing firewalls. |
|
220 |
|
221 DDCCCC SSEERRVVEERR CCOOMMMMAANNDDSS |
|
222 Commands that can be sent to a DCC server include the following. Most of |
|
223 the commands must be used with the server's _I_D specified with the iidd com- |
|
224 mand. The specified ID is included in the commands sent to the server |
|
225 The command itself is digitally signed with the first password associated |
|
226 with the ID in the _i_d_s file. The server requires that the signature |
|
227 match one of the passwords associated with the ID in its _i_d_s file. |
|
228 |
|
229 ddeellcckk ttyyppee hheexx11 hheexx22 hheexx33 hheexx44 |
|
230 asks the server to delete the _t_y_p_e checksum with value _h_e_x_1 _h_e_x_2 |
|
231 _h_e_x_3 _h_e_x_4. The type and checksum values can be found in dccproc(8) |
|
232 and dccm(8) log files or computed with _d_c_c_p_r_o_c --QQCC. |
|
233 |
|
234 There are very few situations where it makes sense to bother to |
|
235 delete checksums. For example, mail that was accidentally reported |
|
236 with a target count of "MANY" is either private and so will not be |
|
237 seen by other people and so will not be affected, or it is bulk and |
|
238 its source so must have already been whitelisted by recipients. |
|
239 |
|
240 ssttaattss [_a_l_l | _c_l_e_a_r] |
|
241 displays current status and statistics from the current DCC server |
|
242 or for _a_l_l known DCC servers. The server's counters will be cleared |
|
243 after they are displayed when the server's ID has been specified |
|
244 with the iidd _I_D operation. |
|
245 |
|
246 cclliieennttss [--nnssiiaaVVAAKK] [_m_a_x [_t_h_o_l_d]] [_a_d_d_r[_/_p_r_e_f_i_x]] |
|
247 displays some of the clients recently seen by the server. |
|
248 --nn displays only the IP addresses and not the names of clients. |
|
249 --ss sorts the clients by the number of requests they have made. |
|
250 --ii counts clients with the same client-ID as single entities. |
|
251 --aa produces 24 hour average numbers of requests. |
|
252 --AA displays only anonymous clients. |
|
253 --KK displays only clients using client-IDs. |
|
254 --VV includes the DCC protocol versions used by clients. |
|
255 _m_a_x displays only the _m_a_x most recent clients. |
|
256 _m_a_x _t_h_o_l_d displays the most recent _m_a_x clients that have made at |
|
257 least _t_h_o_l_d requests. |
|
258 _a_d_d_r[_/_p_r_e_f_i_x] restricts the results to the DCC client with that IP |
|
259 address or clients with addresses in that CIDR block. |
|
260 |
|
261 The mechanism that implements this command involves asking the DCC |
|
262 server for the first approximately 100 clients, then the second |
|
263 about 100, and so on, If entries change position in the complete |
|
264 list maintained by the server between requests, the displayed list |
|
265 will have duplicate or missing entries. Only clients heard from |
|
266 since ssttaattss cclleeaarr was last used are displayed. |
|
267 |
|
268 ssttoopp |
|
269 tells the DCC server to exit. |
|
270 |
|
271 ssyysstteemm ssttoopp |
|
272 tells the DCC server to exit so that the operating system can be |
|
273 shut down. This tells the DCC server on some systems to delete the |
|
274 dcc_db.hash file to speed system shut down. The file will be |
|
275 rebuilt automatically by ddbbcclleeaann when the DCC server is restarted. |
|
276 |
|
277 cclleeaann ssttoopp |
|
278 tells the DCC server to exit after applying fsync() to the database. |
|
279 |
|
280 rreellooaadd IIDDss |
|
281 tells the local DCC server to reload its DCC _i_d_s file immediately. |
|
282 This command is not strictly needed. Every several minutes, the DCC |
|
283 server notices if the file has been changed and automatically reads |
|
284 it. |
|
285 |
|
286 fflloooodd cchheecckk |
|
287 tells the DCC server to check for changes in the _f_l_o_d file and try |
|
288 to restart any of the streams to peers that are broken. |
|
289 |
|
290 fflloooodd sshhuuttddoowwnn |
|
291 tells the DCC server to cleanly stop flooding checksums to and from |
|
292 peers. The server will wait for sending and receiving peers to |
|
293 agree to stop. Each fflloooodd sshhuuttddoowwnn or fflloooodd hhaalltt request increases |
|
294 a count of reasons why the server should not flood checksums. |
|
295 |
|
296 fflloooodd hhaalltt |
|
297 tells the DCC server to abruptly stop flooding checksums to and from |
|
298 peers. |
|
299 |
|
300 fflloooodd rreewwiinndd _s_e_r_v_e_r_-_I_D |
|
301 tells the DCC server to ask its peer with _s_e_r_v_e_r_-_I_D to rewind and |
|
302 resend its stream of checksums. |
|
303 |
|
304 fflloooodd ffffwwdd iinn _s_e_r_v_e_r_-_I_D |
|
305 tells the DCC server to ask its peer to "fast forward" or skip to |
|
306 the end of the incoming flood. |
|
307 |
|
308 fflloooodd ffffwwdd oouutt _s_e_r_v_e_r_-_I_D |
|
309 tells the DCC server to "fast forward" or skip to the current end of |
|
310 the flood to its peer. |
|
311 |
|
312 fflloooodd rreessuummee |
|
313 tells the DCC server to reduce the number of reasons to not flood |
|
314 checksums increased by fflloooodd sshhuuttddoowwnn and fflloooodd hhaalltt.. When the num- |
|
315 ber of reasons reaches zero, the server tries to resume flooding. |
|
316 |
|
317 fflloooodd lliisstt |
|
318 displays the list of current incoming and outgoing floods. Each |
|
319 line contains the server-ID of the peer, the IP address and port |
|
320 used for the outgoing flood, the address for the incoming flood if |
|
321 different, and the host name. Only the server-IDs of flooding peers |
|
322 are disclosed with the server's ID. |
|
323 |
|
324 fflloooodd ssttaattss [cclleeaarr] { _s_e_r_v_e_r_-_I_D | _a_l_l } |
|
325 displays counts of checksum reports sent and received by the current |
|
326 flooding connections to and from _s_e_r_v_e_r_-_I_D or _a_l_l flooding connec- |
|
327 tions and then optionally clears the counts. |
|
328 |
|
329 DDBB cclleeaann |
|
330 is used by ddbbcclleeaann to tell the server that the database expiration |
|
331 has begun. |
|
332 |
|
333 DDBB nneeww |
|
334 is used by ddbbcclleeaann to tell the server that the database cleaning is |
|
335 complete. |
|
336 |
|
337 fflluusshh ccaacchhee |
|
338 tells the server to flush its cache and to keep it clean. |
|
339 |
|
340 ccaacchhee ookk |
|
341 tells the server to resume normal operations after fflluusshh ccaacchhee. |
|
342 |
|
343 cclloocckk cchheecckk |
|
344 asks the DCC server to say how much its clock differs from the local |
|
345 clock. |
|
346 |
|
347 cclloocckk kklluuddggee ++//--sseeccoonnddss |
|
348 adjusts the timestamps in server commands to make it possible to |
|
349 control servers with inaccurate clocks. |
|
350 |
|
351 ttrraaccee _d_e_f_a_u_l_t |
|
352 turns on _A_N_O_N and _C_L_N_T tracing and turns off all others. |
|
353 |
|
354 ttrraaccee _m_o_d_e _{_o_n_|_o_f_f_} |
|
355 turns the server's tracing _m_o_d_e on or off. _M_o_d_e must be one of: |
|
356 _A_D_M_N administrative requests from ccddcccc |
|
357 _A_N_O_N errors by anonymous clients |
|
358 _C_L_N_T errors by authenticated clients |
|
359 _R_L_I_M rate-limited messages |
|
360 _Q_U_E_R_Y all queries and reports |
|
361 _R_I_D_C messages concerning the report-ID cache that is used to |
|
362 detect duplicate reports from clients |
|
363 _F_L_O_O_D messages about inter-server flooding connections |
|
364 _F_L_O_O_D_2 messages about flooded reports |
|
365 _I_D_S unknown server-IDs in flooded reports |
|
366 _B_L blacklisted clients |
|
367 _D_B odd database events |
|
368 _W_L_I_S_T reports of whitelisted checksums from authenticated, not |
|
369 anonymous DCC clients |
|
370 |
|
371 ccddcccc exits with 0 on success, and >0 if an error occurs in operations |
|
372 specified on the command line. |
|
373 |
|
374 FFIILLEESS |
|
375 /var/dcc DCC home directory |
|
376 map memory mapped file in the home DCC home directory of server |
|
377 host names, port numbers, passwords, measured round trip times |
|
378 (RTT), and so forth. |
|
379 ids list of IDs and passwords, as described in dccd(8). It is only |
|
380 required by systems running the DCC server, but is used by ccddcccc |
|
381 if available. |
|
382 |
|
383 SSEEEE AALLSSOO |
|
384 dbclean(8), dcc(8), dccd(8), dblist(8), dccifd(8), dccm(8), dccproc(8), |
|
385 dccsight(8). |
|
386 |
|
387 HHIISSTTOORRYY |
|
388 Implementation of ccddcccc was started at Rhyolite Software in 2000. This |
|
389 document describes version 1.3.103. |
|
390 |
|
391 February 26, 2009 |