comparison dccd.8.in @ 0:c7f6b056b673

First import of vendor version
author Peter Gervai <grin@grin.hu>
date Tue, 10 Mar 2009 13:49:58 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c7f6b056b673
1 .\" Copyright (c) 2008 by Rhyolite Software, LLC
2 .\"
3 .\" This agreement is not applicable to any entity which sells anti-spam
4 .\" solutions to others or provides an anti-spam solution as part of a
5 .\" security solution sold to other entities, or to a private network
6 .\" which employs the DCC or uses data provided by operation of the DCC
7 .\" but does not provide corresponding data to other users.
8 .\"
9 .\" Permission to use, copy, modify, and distribute this software without
10 .\" changes for any purpose with or without fee is hereby granted, provided
11 .\" that the above copyright notice and this permission notice appear in all
12 .\" copies and any distributed versions or copies are either unchanged
13 .\" or not called anything similar to "DCC" or "Distributed Checksum
14 .\" Clearinghouse".
15 .\"
16 .\" Parties not eligible to receive a license under this agreement can
17 .\" obtain a commercial license to use DCC by contacting Rhyolite Software
18 .\" at sales@rhyolite.com.
19 .\"
20 .\" A commercial license would be for Distributed Checksum and Reputation
21 .\" Clearinghouse software. That software includes additional features. This
22 .\" free license for Distributed ChecksumClearinghouse Software does not in any
23 .\" way grant permision to use Distributed Checksum and Reputation Clearinghouse
24 .\" software
25 .\"
26 .\" THE SOFTWARE IS PROVIDED "AS IS" AND RHYOLITE SOFTWARE, LLC DISCLAIMS ALL
27 .\" WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
28 .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL RHYOLITE SOFTWARE, LLC
29 .\" BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
30 .\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
31 .\" WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
32 .\" ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
33 .\" SOFTWARE.
34 .\"
35 .\" Rhyolite Software DCC 1.3.103-1.143 $Revision$
36 .\"
37 .Dd February 26, 2009
38 .ds volume-ds-DCC Distributed Checksum Clearinghouse
39 .Dt dccd 8 DCC
40 .Os " "
41 .Sh NAME
42 .Nm dccd
43 .Nd Distributed Checksum Clearinghouse Daemon
44 .Sh SYNOPSIS
45 .Bk -words
46 .Nm dccd
47 .Op Fl 64dVbfFQ
48 .Fl i Ar server-ID
49 .Op Fl n Ar brand
50 .Op Fl h Ar homedir
51 .Fl I Xo
52 .Sm off
53 .Op Ar host-ID
54 .Op Ar ,user
55 .Sm on
56 .Xc
57 .br
58 .Oo
59 .Fl a Xo
60 .Sm off
61 .Op Ar server-addr
62 .Op Ar ,server-port
63 .Xc
64 .Sm on
65 .Oc
66 .Op Fl q Ar qsize
67 .br
68 .Oo
69 .Fl G Xo
70 .Sm off
71 .Op Ar on,
72 .Op Ar weak-body,
73 .Op Ar weak-IP,
74 .Op Ar embargo
75 .Op Ar ,window
76 .Op Ar ,white
77 .Xc
78 .Sm on
79 .Oc
80 .br
81 .Oo
82 .Fl W Xo
83 .Sm off
84 .Op Ar rate
85 .Op Ar ,chg
86 .Op Ar ,dbsize
87 .Sm on
88 .Xc
89 .Oc
90 .Oo
91 .Fl K Xo
92 .Sm off
93 .Op Ar no-
94 .Ar type
95 .Sm on
96 .Xc
97 .Oc
98 .Op Fl T Ar tracemode
99 .Op Fl u Ar anon-delay Ns Op Ar *inflate
100 .Op Fl C Ar dbclean
101 .Op Fl L Ar ltype,facility.level
102 .br
103 .Oo
104 .Fl R Xo
105 .Sm off
106 .Op Ar RL_SUB ,
107 .Op Ar RL_ANON ,
108 .Op Ar RL_ALL_ANON ,
109 .Op Ar RL_BUGS
110 .Xc
111 .Sm on
112 .Oc
113 .Ek
114 .Sh DESCRIPTION
115 .Nm Dccd
116 receives reports of checksums related to mail received by DCC clients
117 and queries about the total number of reports of particular checksums.
118 A DCC server never receives
119 mail, address, headers, or other information from clients, but only
120 cryptographically secure checksums of such information.
121 A DCC server cannot determine the text or other information that corresponds
122 to the checksums it receives.
123 It only acts as a clearinghouse of total counts of checksums
124 computed by clients.
125 .Pp
126 Each DCC server or close cluster of DCC servers is identified by a numeric
127 .Ar server-ID .
128 Each DCC client is identified by a
129 .Ar client-ID ,
130 either explicitly listed in the
131 .Pa ids
132 file or
133 the special anonymous client-ID.
134 Many computers are expected to share a single
135 .Ar client-ID .
136 A
137 .Ar server-ID
138 is less than 32768 while a
139 .Ar client-ID
140 is between 32768 and 16777215.
141 DCC server-IDs need be known only to DCC servers and the people running
142 them.
143 The passwords associated with DCC server-IDs should be protected,
144 because DCC servers listen to commands authenticated with server-IDs
145 and their associated passwords.
146 Each client that does not use the anonymous ID must know the client-ID
147 and password used by each of its servers.
148 A single client computer can use different passwords with different
149 server computers.
150 See the
151 .Pa ids
152 file.
153 .Pp
154 A whitelist of known good (or bad) sources of email prevents
155 legitimate mailing lists from being seen as unsolicited bulk email
156 by DCC clients.
157 The whitelist used by a DCC server is built into
158 the database when old entries are removed by
159 .Xr dbclean 8 .
160 Each DCC client has its own, local whitelist, and in general,
161 whitelists work better in DCC clients than servers.
162 .Pp
163 The effectiveness of a Distributed Checksum Clearinghouse
164 increases as the number of subscribers increases.
165 Flooding reports of checksums among DCC servers increases
166 the effective number of subscribers to each server.
167 Each
168 .Nm
169 daemon tries to maintain TCP/IP connections to the other servers
170 listed in the
171 .Pa flod
172 file, and send them reports containing checksums with total
173 counts exceeding thresholds.
174 Changes in the
175 .Pa flod
176 file are noticed automatically within minutes.
177 .Pp
178 Controls on report flooding are specified in the
179 .Pa flod
180 file.
181 Each line specifies a hostname and port number to which reports
182 should be flooded,
183 a server-ID to identify and authenticate the output stream,
184 a server-ID to identify and authenticate an input stream from the
185 same server,
186 and flags with each ID.
187 The ability to delete reports of checksums is handy, but could
188 be abused.
189 If
190 .Ar del
191 is not present among the
192 .Ar in-opts
193 options for the incoming ID,
194 incoming delete requests are logged and then ignored.
195 Floods from DCC "brands" that count only mail to
196 spam traps and whose servers use the
197 .Fl Q
198 option to count extremely bulk mail
199 should be marked with
200 .Ar traps .
201 They can be seen as counting millions of targets, so the
202 .Ar traps
203 flag on their
204 .Pa flod
205 file entry changes their incoming flooded reports counts to
206 .Em many.
207 .Pp
208 .Nm Dccd
209 automatically checks its
210 .Pa flod
211 and
212 .Pa ids
213 files periodically.
214 .Xr Cdcc 8
215 has the commands
216 .Ic new ids
217 and
218 .Ic flood check
219 to tell
220 .Nm
221 to check those two files immediately.
222 Both files are also checked for changes after the SIGHUP signal.
223 .Ss OPTIONS
224 The following options are available:
225 .Bl -tag -width 3n
226 .It Fl 6
227 enable IPv6.
228 The default is equivalent to
229 .Fl 4 .
230 See also the IPv4 and IPv6 options in the
231 .Pa flod
232 file description below and the
233 .Em IPv6 on
234 .Xr cdcc 8
235 command.
236 .It Fl 4
237 disable IPv6.
238 See also
239 .Fl 6 .
240 .It Fl d
241 enables debugging output.
242 Additional
243 .Fl d
244 options increase the number of messages.
245 .It Fl V
246 displays the version of the DCC server daemon.
247 .It Fl b
248 causes the server to not detach itself from the controlling tty
249 or put itself into the background.
250 .It Fl F
251 uses write() instead of mmap() in some cases to modify the DCC database.
252 It is the default on Solaris.
253 .It Fl f
254 turns off
255 .Fl F .
256 .It Fl Q
257 causes the server to treat reports of checksums as queries
258 except from DCC clients marked trusted in the
259 .Pa ids
260 file with
261 .Ar rpt-ok .
262 See
263 .Fl u
264 to turn off access by anonymous or unauthenticated clients
265 .It Fl i Ar server-ID
266 specifies the ID of this DCC server.
267 Each server identifies itself as responsible for checksums
268 that it forwards to other servers.
269 .It Fl n Ar brand
270 is an arbitrary string of letters and numbers that
271 identifies the organization running the DCC server.
272 The brand is required, and appears in the SMTP
273 .Em X-DCC
274 headers generated by the DCC.
275 .It Fl h Ar homedir
276 overrides the default DCC home directory,
277 .Pa @prefix@ .
278 .It Fl I Xo
279 .Sm off
280 .Op Ar host-ID
281 .Op Ar ,user
282 .Sm on
283 .Xc
284 changes the server's globally unique identity for flooding
285 from the default value
286 consisting of the first 16 characters of the host name.
287 or changes the UID and GID of the process
288 .Ar Host-ID
289 is a string of up to 16 characters that replaces the first
290 16 characters of the system's hostname in assertions
291 of the server-ID that are flooded to peers.
292 .Ar User
293 must be valid user name.
294 .It Fl a Xo
295 .Sm off
296 .Op Ar server-addr
297 .Op Ar ,server-port
298 .Sm on
299 .Xc
300 adds an hostname or IP address to the list of local IP addresses
301 that the server answers.
302 Multiple
303 .Fl a
304 options can be used to specify a subset of the available network
305 interfaces or to use more than one port number.
306 The default without any
307 .Fl a
308 options is to listen on all local IP addresses.
309 It can be useful to list some of the IP addresses of
310 multi-homed hosts to deal with firewalls.
311 By default
312 .Ar server-port
313 is 6277 for DCC servers and 6276 for Greylist servers.
314 It is the UDP port at which DCC
315 requests are received and the TCP port for incoming floods of reports.
316 .Pp
317 If
318 .Ar server-addr
319 is absent
320 and if the
321 .Xr getifaddrs 8
322 function is supported,
323 separate UDP sockets are bound to each configured network interface so
324 that each DCC clients receives replies from the
325 IP addresses to which corresponding request are sent.
326 If
327 .Nm
328 is started before all network interfaces are turned on or
329 there are interfaces that are turned on and off or change their addresses
330 such as PPP interfaces,
331 then the special string
332 .Ar @
333 should be used to tell
334 .Nm
335 to bind to an IN_ADDRANY UDP socket.
336 .Pp
337 Outgoing TCP connections to flood checksum reports to other DCC servers
338 used the IP address of a single
339 .Fl a
340 option,
341 but only if there is single option that is not localhost.
342 See also the
343 .Pa flod
344 file.
345 .It Fl q Ar qsize
346 specifies the maximum size of the queue of requests from anonymous or
347 unauthenticated clients.
348 The default value is the maximum DCC RTT in seconds times 200 or 1000.
349 .It Fl G Xo
350 .Sm off
351 .Op Ar on,
352 .Op Ar weak-body,
353 .Op Ar weak-IP,
354 .Op Ar embargo
355 .Op Ar ,window
356 .Op Ar ,white
357 .Xc
358 .Sm on
359 changes
360 .Nm
361 to a Greylist server for
362 .Xr dccm 8
363 or
364 .Xr dccifd 8 .
365 Greylisting consists of temporarily rejecting or embargoing mail from
366 unfamiliar combinations of SMTP client IP address, SMTP envelope sender,
367 and SMTP envelope recipient.
368 If the SMTP client persists for
369 .Ar embargo seconds
370 and so is probably not an open proxy, worm-infected personal computer,
371 or other transient source of spam, the triple of
372 .Em (IP\ address,sender,recipient)
373 is added to a database similar to the usual DCC database.
374 If the SMTP client does not try again after
375 .Ar embargo
376 seconds and before
377 .Ar window
378 seconds after the first attempt,
379 the triple is forgotten.
380 If the SMTP client persists past the embargo,
381 the triple is added to the database and becomes familiar
382 and the message is accepted.
383 Familiar triples are remembered for
384 .Ar white
385 seconds after the last accepted mail message.
386 The triple is forgotten if it is ever associated with unsolicited bulk email.
387 .Pp
388 All three durations can be a number of minutes, hours, days, or
389 weeks followed by
390 .Ar MINUTES ,
391 .Ar M ,
392 .Ar HOURS ,
393 .Ar H ,
394 .Ar DAYS ,
395 .Ar D ,
396 .Ar WEEKS
397 or
398 .Ar W .
399 The default is
400 .Fl G Ar 270seconds,7days,63days .
401 The first duration or the
402 .Ar embargo
403 should be longer than open proxies can linger retransmitting.
404 The second
405 .Ar window
406 time should be as long as legitimate mail servers persist in retransmitting
407 to recognize embargoed messages whose retransmissions were not
408 received because of network or other problems.
409 The
410 .Ar white
411 time should be long enough to recognize and not embargo messages from
412 regular senders.
413 .Pp
414 Usually the DCC greylist system requires that an almost
415 identical copy of the message be retransmitted during the
416 .Ar embargo .
417 If
418 .Ar weak-body
419 is present,
420 any message with the same triple of sender IP address, sender mail
421 address, and target mail address ends the embargo,
422 even if the body of the message differs.
423 .Pp
424 If
425 .Ar weak-IP
426 is present,
427 all mail from an SMTP client at an IP address is accept
428 after any message from the same IP address has been accepted.
429 .Pp
430 Unlike DCC checksums, the contents of
431 greylist databases are private and do not benefit from broad sharing.
432 However, large installations can use more two or more greylist servers
433 flooding triples among themselves.
434 Flooding among greylist servers is controlled by the
435 .Pa grey_flod
436 file.
437 .Pp
438 All greylist cooperating or flooding greylist servers
439 .Em must
440 use the same
441 .Fl G
442 values.
443 .Pp
444 Clients of greylist servers cannot be anonymous and must have
445 client-IDs and passwords assigned in the
446 .Pa ids
447 file.
448 This implies that
449 .Xr cdcc
450 commands directed to greylist servers must specify the server-ID.
451 .Pp
452 White- and blacklists are honored by the DCC clients.
453 whitelisted messages are embargoed or checked with a greylist server.
454 The greylist triples of blacklisted messages, messages whose DCC counts make
455 them spam, and other messages known to be spam are sent to a greylist
456 server to be removed from the greylist database and cause an embargo
457 on the next messages with those triples.
458 .Pp
459 Messages whose checksums match greylist server whitelists
460 are not embargoed and the checksums of their triples are not
461 added to the greylist database.
462 .Pp
463 The target counts of embargoed messages are reported to the DCC network
464 to improve the detection of bulk mail.
465 .It Fl W Xo
466 .Sm off
467 .Op Ar rate
468 .Op Ar ,chg
469 .Op Ar ,dbsize
470 .Sm on
471 .Xc
472 controls quick database cleaning.
473 If the database is larger than
474 .Ar dbsize ,
475 it seems that the database has not recently and is not about to be cleaned,
476 .Nm
477 is receiving fewer than
478 .Ar rate
479 requests per second,
480 and if telling DCC clients that the database is about to be cleaned
481 reduces that rate by
482 .Ar chg Ns %,
483 then
484 .Nm
485 starts
486 .Xr dbclean 8
487 for a quick database cleaning.
488 The cleaning is abandoned if it takes too long.
489 The default values are equivalent to
490 .Bk -words
491 .Fl W Ar 1.0,40.0,RSS
492 where
493 .Ar RSS
494 is the maximum dccd resident set
495 displayed the system log by
496 .Fl d
497 when
498 .Nm starts .
499 .Ek
500 .It Fl K Xo
501 .Sm off
502 .Op Ar no-
503 .Ar type
504 .Sm on
505 .Xc
506 marks checksums of
507 .Ar type
508 (not) be kept
509 or counted in the database unless they appear in the whitelist.
510 Explicit settings add to or remove from the initial contents of the list,
511 which is equivalent to
512 .Fl K Ar Body
513 .Fl K Ar Fuz1
514 .Fl K Ar Fuz2 .
515 .It Fl T Ar tracemode
516 causes the server to trace or record some operations.
517 .Ar tracemode
518 must be one of the following:
519 .Bl -tag -width FLOOD2 -offset 2n -compact
520 .It Ar ADMN
521 administrative requests from the control program,
522 .Xr cdcc 8
523 .It Ar ANON
524 errors by anonymous clients
525 .It Ar CLNT
526 errors by authenticated clients
527 .It Ar RLIM
528 rate-limited messages
529 .It Ar QUERY
530 all queries and reports
531 .It Ar RIDC
532 some messages concerning the report-ID cache that is used
533 to detect duplicate reports from clients
534 .It Ar FLOOD
535 messages about inter-server flooding connections
536 .It Ar FLOOD2
537 messages about flooded reports
538 .It Ar IDS
539 unknown server-IDs in flooded reports
540 .It Ar BL
541 requests from clients in the
542 .Pa blacklist
543 file.
544 .It Ar DB
545 odd database events including long chains of duplicate checksums
546 .It Ar WLIST
547 reports of whitelisted checksums from authenticated, not anonymous DCC clients
548 .El
549 The default is
550 .Ar ANON CLNT .
551 .It Fl u Ar anon-delay Ns Op Ar *inflate
552 changes the number of milliseconds anonymous or unauthenticated clients
553 must wait for answers to their queries and reports.
554 The purpose of this delay is to discourage large anonymous clients.
555 The
556 .Ar anon-delay
557 is multiplied by 1 plus the number of recent anonymous requests from
558 an IP address divided by the
559 .Ar inflate
560 value.
561 .Pp
562 The string
563 .Ar FOREVER
564 turns off all anonymous or unauthenticated access not only
565 for checksum queries and reports but also
566 .Xr cdcc 8
567 .Ic stats
568 requests.
569 A missing value for
570 .Ar inflate
571 turns off inflation.
572 .Pp
573 The default value is
574 .Ar 50,none ,
575 except when
576 .Fl G
577 is used in which case
578 .Ar FOREVER
579 is assumed and required.
580 .It Fl C Ar dbclean
581 changes the default name or path of the program used to rebuild
582 the hash table when it becomes too full.
583 The default value is
584 .Pa @libexecdir@/dbclean
585 in the
586 .Pa @libexecdir@
587 directory.
588 The value can include arguments as in
589 .Ar -C '$DCC_LIBEXEC/dbclean -F' .
590 .Pp
591 Dbclean
592 .Em should not
593 be run by
594 .Nm
595 except in emergencies such as database corruption or hash table overflow.
596 .Xr Dbclean 8
597 should be run daily with the @libexecdir@/cron-dccd cron script
598 .It Fl L Ar ltype,facility.level
599 specifies how messages should be logged.
600 .Ar Ltype
601 must be
602 .Ar error ,
603 .Ar info ,
604 or
605 .Ar off
606 to indicate which of the two types of messages are being controlled or
607 to turn off all
608 .Xr syslog 3
609 messages from
610 .Nm .
611 .Ar Level
612 must be a
613 .Xr syslog 3
614 level among
615 .Ar EMERG ,
616 .Ar ALERT ,
617 .Ar CRIT , ERR ,
618 .Ar WARNING ,
619 .Ar NOTICE ,
620 .Ar INFO ,
621 and
622 .Ar DEBUG .
623 .Ar Facility
624 must be among
625 .Ar AUTH ,
626 .Ar AUTHPRIV ,
627 .Ar CRON ,
628 .Ar DAEMON ,
629 .Ar FTP ,
630 .Ar KERN ,
631 .Ar LPR ,
632 .Ar MAIL ,
633 .Ar NEWS ,
634 .Ar USER ,
635 .Ar UUCP ,
636 and
637 .Ar LOCAL0
638 through
639 .Ar LOCAL7 .
640 The default is equivalent to
641 .Dl Fl L Ar info,MAIL.NOTICE Fl L Ar error,MAIL.ERR
642 .It Fl R Xo
643 .Sm off
644 .Op Ar RL_SUB ,
645 .Op Ar RL_ANON ,
646 .Op Ar RL_ALL_ANON ,
647 .Op Ar RL_BUGS
648 .Xc
649 .Sm on
650 sets one or more of the four rate-limits.
651 .Ar RL_SUB
652 limits the number of DCC transactions per second from subscribers
653 or DCC clients with known client-IDs and passwords.
654 This limit applies to each IP address independently.
655 .Pp
656 .Ar RL_ANON
657 limits the number of DCC transactions per second from anonymous DCC clients.
658 This limit applies to each IP address independently.
659 It is better to use
660 .Fl u
661 than to change this value to exclude anonymous clients.
662 .Pp
663 .Ar RL_ALL_ANON
664 limits the number of DCC transactions per second from all anonymous DCC clients.
665 This limit applies to all anonymous clients as a group, regardless of their
666 IP addresses.
667 .Pp
668 .Ar RL_BUGS
669 limits the number of complaints or error messages per second for all
670 anonymous DCC clients as a group as well as for each DCC client by IP
671 address.
672 .Pp
673 The default is equivalent to
674 .Fl R Ar 400,50,600,0.1
675 .El
676 .Sh FILES
677 .Bl -hang -width @prefix@ -compact
678 .It Pa @prefix@
679 is the DCC home directory containing data and control files.
680 .It Pa dcc_db
681 is the database of mail checksums.
682 .It Pa dcc_db.hash
683 is the mail checksum database hash table.
684 .It Pa grey_db
685 is the database of greylist checksums.
686 .It Pa grey_db.hash
687 is the greylist database hash table.
688 .It Pa flod
689 contains lines controlling DCC flooding of the form:
690 .br
691 .Bd -ragged -compact
692 .Ar host Ns Xo
693 .Sm off
694 .Op Ar ,rport
695 .Op Ar ;src Op Ar ,lport
696 .Sm on
697 .Xc
698 .Ar rem-ID
699 .Op Ar passwd-ID Op Ar o-opt Op Ar i-opt
700 .Ed
701 where absent optional values are signaled with "-" and
702 .Bl -hang -offset 1n -width 2n -compact
703 .It Ar host
704 is the IP address or name of a DCC server and
705 .Ar rport
706 is the name or number of the TCP port used by the remote server.
707 .It Ar src
708 and
709 .Ar lport
710 are the IP address or host name and TCP port
711 from which the outgoing flooding connection should come.
712 Incoming flooding connections must arrive at an address and port
713 specified with
714 .Fl a .
715 .It Ar rem-id
716 is the server-ID of the remote DCC server.
717 .It Ar passwd-ID
718 is a server-ID that is not assigned to a server,
719 but whose first password is used to sign
720 checksum reports sent to the remote system.
721 Either of its passwords are required with incoming reports.
722 If it is absent or "-", outgoing floods are signed with the first
723 password of the local server in the
724 .Pa ids
725 file and incoming floods must be signed with either password of
726 the remote server-ID.
727 .It Ar i-opt Li and Ar o-opt
728 are comma separated lists of
729 .Bl -hang -offset 1n -width 2n -compact
730 .It Ar off
731 turns off flooding to the remote or local system.
732 .It Ar traps
733 indicates that
734 the remote sending or local receiving system has only spam traps.
735 .It Ar no-del
736 says checksum delete requests are refused by the remote or local server
737 and so turns off sending or accepting delete requests, respectively.
738 By default, delete requests are sent to remote servers and accepted
739 in incoming floods if and only if the peers are exchanging DCC reputations.
740 .It Ar del
741 says delete requests are accepted by the remote or local server.
742 .It Ar no-log-del
743 turns off logging of incoming requests to delete checksums.
744 .It Ar passive
745 is used to tell a server outside a firewall to expect a peer
746 inside to create both of the pair
747 of input and output TCP connections used for flooding.
748 The peer inside the firewall should use
749 .Ar SOCKS
750 or
751 .Ar NAT
752 on its
753 .Pa flod
754 file entry for this system.
755 .It Ar SOCKS
756 is used to tell a server inside a firewall that it should create both
757 of the TCP connections used for flooding and that SOCKS protocol should
758 be used.
759 The peer outside the firewall should use
760 .Ar passive
761 on its
762 .Pa flod
763 file entry for this system.
764 .It Ar NAT
765 differs from
766 .Ar SOCKS
767 only by not using the SOCKS protocol.
768 .It Ar ID1->ID2
769 converts server-ID
770 .Ar ID1
771 in flooded reports to server-ID
772 .Ar ID2 .
773 Either
774 .Ar ID1
775 or
776 .Ar ID2
777 may be the string
778 .Sq self
779 to specify the server's own ID.
780 .Ar ID1
781 can be the string
782 .Sq all
783 to specify all server-IDs
784 or a pair of server-IDs separated by a dash to specify an inclusive range.
785 .Ar ID2
786 can be the string
787 .Sq ok
788 to send or receive reports without translation
789 or the string
790 .Sq reject
791 to not send outgoing or refuse incoming reports.
792 Only the first matching conversion is applied.
793 For example, when
794 .Sq self->ok,all->reject
795 is applied to a locally generated report,
796 the first conversion is applied and the second is ignored.
797 .It Ar leaf=path-len
798 does not send reports with paths longer than
799 .Ar path-len
800 server-IDs.
801 .It Ar IPv4
802 overrides a
803 .Fl 6
804 setting for this flooding peer.
805 .It Ar IPv6
806 overrides the
807 default or an explicit
808 .Fl 4
809 setting.
810 .It Ar vers
811 specifies the version of the DCC flooding protocol used by the remote
812 DCC server with a string such as
813 .Sq version2 .
814 .It Ar trace
815 sends information about a single peer like the
816 .Xr cdcc 8
817 command
818 .Ic trace FLOOD on
819 does for all peers.
820 .It Ar trace2
821 sends information about individual flooded reports like the
822 .Xr cdcc 8
823 command
824 .Ic trace FLOOD2 on
825 does for all peers.
826 .El
827 .El
828 .It Pa grey_flod
829 is the equivalent of
830 .Pa flod
831 used by
832 .Nm
833 when it is a greylist server.
834 .It Pa flod.map
835 is an automatically generated file in which
836 .Nm
837 records its progress sending or flooding reports to DCC peers.
838 .It Pa grey_flod.map
839 is the equivalent of
840 .Pa flod.map used by
841 .Nm
842 when it is a greylist server.
843 .It Pa ids
844 contains the IDs and passwords known by the DCC server.
845 An
846 .Pa ids
847 file that can be read by others cannot be used.
848 It contains blank lines, comments starting
849 with "#" and lines of the form:
850 .Bd -ragged -compact -offset indent
851 .Sm off
852 .Ar id
853 .Op Ar ,rpt-ok
854 .Op Ar ,delay=ms Ns Op Ar *inflate
855 .Sm on
856 .Ar passwd1 Op Ar passwd2
857 .Ed
858 where
859 .Bl -hang -offset 1n -width 2n -compact
860 .It Ar id
861 is a DCC
862 .Ar client-ID
863 or
864 .Ar server-ID .
865 .It Ar Rpt-ok
866 if present overrides
867 .Fl Q
868 by saying that this client is trusted
869 to report only checksums for unsolicited bulk mail.
870 .It Ar delay=ms Ns Op Ar *inflate
871 delays answers to systems using the client
872 .Ar id .
873 The
874 .Ar delay
875 in milliseconds is multiplied by 1 plus the number of recent requests from
876 an IP address using
877 .Ar id
878 divided by the
879 .Ar inflate
880 value.
881 See
882 .Fl u .
883 .It Ar passwd1
884 is the password currently used by clients with identifier
885 .Ar id .
886 It is a 1 to 32 character string that does not contain
887 blank, tab, newline or carriage return characters.
888 .It Ar passwd2
889 is the optional next password that those clients will use.
890 A DCC server accepts either password if both are present in the file.
891 .El
892 Both passwords can be absent if the entry not used except to tell
893 .Nm
894 that server-IDs in the flooded reports are valid.
895 The string
896 .Em unknown
897 is equivalent to the null string.
898 .It Pa whitelist
899 contains the DCC server whitelist.
900 It is not used directly but is loaded into the database when
901 .Xr dbclean 8
902 is run.
903 .It Pa grey_whitelist
904 contains the greylist server whitelist.
905 It is not used directly but is loaded into the database when
906 .Xr dbclean 8
907 is run with
908 .Fl G .
909 .It Pa blacklist
910 if present, contains a list of IP addresses and blocks of IP addresses
911 DCC clients that are ignored.
912 Each line in the file should be blank, a comment starting with '#',
913 or an IP address or block of IP addresses in the form
914 .Bd -ragged -compact -offset indent
915 .Op Ar trace,
916 .Op Ar ok,
917 .Op Ar bad
918 .No xxx.xxx.xxx.xxx Ns Op /yy
919 .Ed
920 Changes to the file are automatically noticed and acted upon within
921 a few minutes.
922 Addresses or blocks of addresses can be preceded with
923 .Em ok
924 to "punch holes"
925 in blacklisted blocks or with
926 .Em trace
927 to log activity.
928 This mechanism is intended for no more than a few dozen blocks of addresses.
929 .It Pa dccd_clients
930 contains client IP addresses and activity counts.
931 .It Pa grey_clients
932 contains greylist client IP addresses and activity counts.
933 .El
934 .Sh EXAMPLES
935 .Nm
936 is usually started with other system daemons with something like the
937 script
938 .Pa @libexecdir@/rcDCC .
939 That scripts uses values in @prefix@/dcc_conf to start the server.
940 With the argument
941 .Em stop ,
942 .Pa @libexecdir@/rcDCC
943 can be used to stop the daemon.
944 .Pp
945 The database grows too large unless old reports are removed.
946 .Xr dbclean 8
947 should be run daily with the @libexecdir@/cron-dccd cron script
948 .Sh SEE ALSO
949 .Xr cdcc 8 ,
950 .Xr dcc 8 ,
951 .Xr dbclean 8 ,
952 .Xr dblist 8 ,
953 .Xr dccifd 8 ,
954 .Xr dccm 8 ,
955 .Xr dccproc 8 .
956 .Xr dccsight 8 ,
957 .Sh HISTORY
958 .Nm
959 is based on an idea from Paul Vixie.
960 It was designed and written at Rhyolite Software, starting in 2000.
961 This document describes version 1.3.103.