0
|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
|
2 <HTML> |
|
3 <HEAD> |
|
4 <TITLE>DCC Installation</TITLE> |
|
5 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> |
|
6 <META HTTP-EQUIV="Content-Style-Type" content="text/css"> |
|
7 <STYLE type="text/css"> |
|
8 <!-- |
|
9 BODY {background-color:white; color:black} |
|
10 TABLE.centered {margin-left: auto; margin-right: auto; } |
|
11 TD {font-size:80%} |
|
12 TD.env {font-family:monospace} |
|
13 TD.conf {font-family:monospace} |
|
14 DL.compat {margin-left:5%; margin-right:10%} |
|
15 .small {font-size:smaller} |
|
16 SUP {font-size:smallest} |
|
17 IMG.logo {width:6em; vertical-align:middle} |
|
18 --> |
|
19 </STYLE> |
|
20 </HEAD> |
|
21 |
|
22 <BODY> |
|
23 <H1>Distributed Checksum Clearinghouse (DCC) Installation</H1> |
|
24 |
|
25 <P> |
|
26 <OL> |
|
27 <LI><H3>Fetch the Source and Read the License</H3> |
|
28 The DCC source is available at |
|
29 <A HREF="http://www.dcc-servers.net/dcc/">dcc-servers.net</A> |
|
30 and |
|
31 <A HREF="http://www.rhyolite.com/dcc/">Rhyolite Software</A>. |
|
32 <P> |
|
33 Please <EM>do not</EM> try to use the more than 3 year old modified |
|
34 versions of DCC software distributed by some Linux packagers. |
|
35 Those versions do not detect bulk mail as well as more recent versions. |
|
36 Installations using those old versions also have problems using the |
|
37 public DCC servers that often make it necessary to add their IP addresses |
|
38 to the blacklist that protects the public DCC servers. |
|
39 Even worse, all known Linux redistributions of DCC software have been |
|
40 changed in ways that break things, including the |
|
41 <A HREF="misc/updatedcc.in">libexec/updatedcc</A> shell script that could |
|
42 otherwise be used to fetch, configure, compile, install, and restart |
|
43 a current version. |
|
44 <P> |
|
45 The license on the free source is in the source as well as |
|
46 <A HREF="http://www.dcc-servers.net/dcc/dcc-tree/LICENSE">dcc-servers.net</A> |
|
47 and |
|
48 <A HREF="http://www.rhyolite.com/dcc/dcc-tree/LICENSE">Rhyolite |
|
49 Software</A>. |
|
50 The free license is intended to cover individuals and organizations |
|
51 including Internet service providers using DCC to filter their own mail. |
|
52 Organizations selling anti-spam appliances or managed mail services are |
|
53 not eligible for the free license. |
|
54 |
|
55 |
|
56 <P><LI><H3>Read the Documentation</H3> |
|
57 <P> |
|
58 The <A HREF="dcc.html#Installation-Considerations">DCC</A> |
|
59 and other man pages describe the features, operating modes, |
|
60 required data files, and other characteristics of the DCC. |
|
61 Also see the DCC <A HREF=FAQ.html>FAQ</A> |
|
62 or list of frequently answered questions. |
|
63 |
|
64 |
|
65 <P><LI><H3><A NAME="step-sendmail">Build Sendmail</A></H3> |
|
66 If the DCC-sendmail interface, <A HREF="dccm.html">dccm</A>, is not used, |
|
67 then <B>skip</B> to the <A HREF="#step-compile">next step</A>. |
|
68 <P> |
|
69 Sendmail must have the |
|
70 Mail Filter API or Milter enabled. |
|
71 Some systems such a FreeBSD 4.6 and newer are shipped with |
|
72 Milter enabled and the library installed by default. |
|
73 If your system comes with the Milter interface turn on, |
|
74 then <B>skip</B> to the <A HREF="#step-compile">next step</A>. |
|
75 Otherwise, the Milter interface must be explicitly enabled |
|
76 by adding lines like those in |
|
77 <A HREF="misc/site.config.m4">misc/site.config.m4</A> |
|
78 to your sendmail/devtools/Site/site.config.m4 file or equivalent. |
|
79 Then build sendmail as described in the INSTALL file distributed with sendmail. |
|
80 You must build <CODE>libmilter</CODE> separately by something like |
|
81 <PRE> |
|
82 cd libmilter |
|
83 sh ./Build |
|
84 </PRE> |
|
85 <P> |
|
86 After sendmail has been rebuilt if necessary it will need to be restarted. |
|
87 That should be done after <A HREF="#step-compile">the next step</A> |
|
88 after <A HREF="misc/dcc.m4">misc/dcc.m4</A> has been created by the |
|
89 <EM>./configure</EM> script. |
|
90 |
|
91 |
|
92 <P><LI><H3><A NAME="step-compile">Configure, Build, and |
|
93 Install the DCC Programs</A></H3> |
|
94 <P> |
|
95 See the installation considerations in the |
|
96 <A HREF="dcc.html#Installation-Considerations">DCC man page</A>. |
|
97 <P> |
|
98 Most DCC files are in a "home directory" such as @prefix@. |
|
99 DCC programs such as cdcc and dccproc are run by end |
|
100 users and should be installed in a directory such as /usr/local/bin. |
|
101 They must also be set-UID to the UID that can change the DCC |
|
102 data files. |
|
103 DCC programs that do not need to be run by end users |
|
104 are installed by default in the libexec subdirectory of the DCC home directory. |
|
105 See the <A HREF="#envtbl">table</A> of |
|
106 <EM>./configure</EM> script and makefile parameters. |
|
107 If necessary, set CFLAGS, LDFLAGS, LIBS or other environment variables |
|
108 listed in the <A HREF="#envtbl">table</A>. |
|
109 Omit any parameters you don't really need to change and usually use only: |
|
110 <PRE> |
|
111 ./configure |
|
112 make install |
|
113 </PRE> |
|
114 <P> |
|
115 End users installing only <A HREF="dccproc.html">dccproc</A> |
|
116 can install it in their private |
|
117 <Q>~/bin</Q> directories and use private directories for their DCC |
|
118 home directories. |
|
119 In this case, the DCC programs that would otherwise need to be set-UID |
|
120 need not be. |
|
121 <P> |
|
122 To build <A HREF="dccproc.html">dccproc</A> |
|
123 <A NAME="individual-user">for an individual user</A>, |
|
124 use something like |
|
125 <PRE> |
|
126 ./configure <A HREF="#envtbl--disable-sys-inst">--disable-sys-inst</A> <A HREF="#envtbl--disable-dccm">--disable-dccm</A> <A HREF="#envtbl--homedir">--homedir=$HOME/dccdir</A> <A HREF="#envtbl--bindir">--bindir=$HOME/bin</A> |
|
127 make install |
|
128 </PRE> |
|
129 <P> |
|
130 The sendmail interface, <A HREF="dccm.html">dccm</A>, |
|
131 must be built with the sendmail source and object tree. |
|
132 By default, the makefiles look for a |
|
133 native sendmail libraries (e.g. on FreeBSD 4.6), an installed "package" |
|
134 (e.g. on FreeBSD), or a directory named sendmail parallel to the DCC |
|
135 source and object tree. |
|
136 Those who regularly build new versions of sendmail may find it convenient |
|
137 to make a symbolic link there to their current sendmail. |
|
138 Otherwise configure the dccm makefile with |
|
139 <PRE> |
|
140 ./configure <A HREF="#envtbl--with-sendmail">--with-sendmail</A>=/some/where/sendmail |
|
141 make install |
|
142 </PRE> |
|
143 If dccm does not build because it cannot find libmilter, |
|
144 check that libmilter was compiled with sendmail |
|
145 in the <A HREF="#step-sendmail">previous step</A>. |
|
146 <P> |
|
147 To connect the sendmail Milter interface to <A HREF="dccm.html">dccm</A>, |
|
148 copy or "sym-link" <A HREF="misc/dcc.m4">misc/dcc.m4</A> to |
|
149 your sendmail/cf/feature directory and |
|
150 add <CODE>FEATURE(dcc)</CODE> lines to your sendmail.mc configuration file. |
|
151 Then rebuild and reinstall your sendmail.cf file, and restart sendmail. |
|
152 |
|
153 |
|
154 <P><LI><H3>Create Client Configuration Files</H3> |
|
155 All DCC configuration files are in the DCC home directory, usually @prefix@. |
|
156 See the |
|
157 <A HREF="dcc.html#Client-Installation">dcc</A>, |
|
158 <A HREF="dccm.html#FILES">dccm</A>, |
|
159 <A HREF="dccifd.html#FILES">dccifd</A>, |
|
160 and <A HREF="dccproc.html#FILES">dccproc</A> |
|
161 man pages |
|
162 for the files each needs. |
|
163 Example files are in the <A HREF="homedir/">homedir</A> directory in the source. |
|
164 |
|
165 <UL> |
|
166 <LI>Unless run anonymously, DCC clients need client-ID numbers and passwords |
|
167 assigned by the operators of the chosen DCC servers in the @prefix@/map file. |
|
168 <LI><P>Even if run anonymously, the @prefix@/map file must contain the IP addresses |
|
169 of DCC servers. |
|
170 If your mail system handles fewer than 100,000 mail messages per day, |
|
171 the installation process generates a serviceable @prefix@/map file |
|
172 from the included <A HREF="homedir/map.txt">homedir/map.txt</A>. |
|
173 That file points to the public DCC servers. |
|
174 |
|
175 <LI><P>If using remote DCC servers such as the public DCC servers, |
|
176 ensure that your firewalls allow outgoing packets to UDP port 6277 |
|
177 on distant systems and incoming responses from UDP port 6277. |
|
178 There is a |
|
179 <A HREF="http://www.dcc-servers.net/dcc/firewall.html">description</A> |
|
180 one firewall's configuration. |
|
181 |
|
182 <LI><P>Your MX servers and mail submission clients should be listed in the main |
|
183 <A NAME=whitelist HREF="homedir/whiteclnt">whiteclnt</A> file with lines like: |
|
184 <PRE> |
|
185 mx ip 10.2.3.4 |
|
186 mx ip 10.5.6.0/28 |
|
187 mxdcc ip 10.5.6.0/28 |
|
188 ok ip 10.7.8.9 |
|
189 submit ip 192.168.1.0/24 |
|
190 </PRE> |
|
191 If those other systems also run DCC clients, use <EM>MXDCC</EM> instead |
|
192 of <EM>MX</EM> so that messages will not be reported twice to the DCC network |
|
193 and so have higher target counts, |
|
194 and appear to be unsolicited bulk mail. |
|
195 <P> |
|
196 Use <EM>OK</EM> for mail systems that you trust to never send or |
|
197 forward unsolicited bulk mail. |
|
198 <P> |
|
199 Untrusted SMTP clients such as end users with browsers used as |
|
200 MUAs (mail user agents) should be listed in the |
|
201 <A HREF="homedir/whiteclnt">whiteclnt</A> file with <EM>submit</EM>. |
|
202 |
|
203 <LI><P>Sources of legitimate bulk mail must be recorded in whitelists. |
|
204 Example <A HREF="homedir/whiteclnt">whiteclnt</A>, |
|
205 <A HREF="homedir/whitelist">whitelist</A>, and |
|
206 <A HREF="homedir/whitecommon">common</A> whitelists are among |
|
207 the <A HREF="homedir/">sample configuration files</A> in the homedir directory. |
|
208 The format of DCC whitelists is described in the |
|
209 <A HREF="dcc.html#White-and-Blacklists">DCC</A> man page. |
|
210 |
|
211 <LI><P>Put suitable values in the DCC configuration file, |
|
212 <A HREF="homedir/dcc_conf.in">@prefix@/dcc_conf</A> for dccm or dccifd. |
|
213 The default client values are usually good for a start and often only |
|
214 DCCM_REJECT_AT needs to be changed when it is time to reject spam. |
|
215 |
|
216 <LI><P>Optionally configure DNS blacklist (DNSBL) checks in |
|
217 <A HREF="dccm.html#OPTION-B">dccm</A> |
|
218 or |
|
219 <A HREF="dccifd.html#OPTION-B">dccifd</A> |
|
220 by setting DNSBL_ARGS in in the configuration file, |
|
221 <A HREF="homedir/dcc_conf.in">dcc_conf</A>, in the home directory. |
|
222 |
|
223 |
|
224 <LI><P>Optionally create per-user directories for logs and whitelists. |
|
225 See also the |
|
226 <A HREF="cgi-bin/">CGI scripts</A> that allow users to |
|
227 maintain their private whitelists |
|
228 and monitor their individual logs of rejected mail. |
|
229 |
|
230 <LI><P>Install a daily or more frequent cron job like |
|
231 <A HREF="misc/crontab.in">misc/crontab</A> |
|
232 and |
|
233 <A HREF="misc/cron-dccd.in">@libexecdir@/cron-dccd</A> |
|
234 to prune <A HREF="dccm.html#FILE-logdir">dccm</A> or |
|
235 <A HREF="dccifd.html#FILE-logdir">dccifd</A> |
|
236 log files and the prune dccd database with |
|
237 <A HREF="dbclean.html">dbclean</A>. |
|
238 </UL> |
|
239 |
|
240 <P><LI><H3>Create Server Files and Start the Server</H3> |
|
241 <B><A HREF="#step-greylist">Skip</A></B> this and the next step |
|
242 if only remote DCC servers will be used. |
|
243 You should use your own, local DCC servers if your mail system handles |
|
244 more than 100,000 mail messages per day. |
|
245 <P> |
|
246 It is best to use remote servers until the DCC client, |
|
247 dccm, dccifd, or dccproc, is stable. |
|
248 Then |
|
249 <UL> |
|
250 <LI>Put suitable values for dccd |
|
251 in the configuration file, |
|
252 <A HREF="homedir/dcc_conf.in">dcc_conf</A>. |
|
253 Every DCC server requires a unique |
|
254 <A HREF="dcc.html#Client-and-Server-IDs">server-ID</A>. |
|
255 Obtain a server-ID by contacting Vernon Schryver |
|
256 <A HREF="mailto:vjs@rhyolite.com">vjs@rhyolite.com</A> by email |
|
257 or via a |
|
258 <A HREF="http://www.rhyolite.com/cgi-bin/ct.cgi?sb=DCC+server-ID">web |
|
259 form</A>. |
|
260 |
|
261 <LI><P>Choose a secret password for your server-ID in your |
|
262 <A HREF="homedir/ids">@prefix@/ids file</A>. |
|
263 This password can be used to control your server remotely. |
|
264 |
|
265 <LI><P>Start the server with the system by installing |
|
266 <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> or an equivalent. |
|
267 If it is used unchanged, rcDCC is best installed with a symbolic link |
|
268 to automate installing updates. |
|
269 The server can be started manually with |
|
270 <PRE> |
|
271 rcDCC start |
|
272 </PRE> |
|
273 |
|
274 <LI><P>The script |
|
275 <A NAME=cleaning HREF="misc/cron-dccd.in">@libexecdir@/cron-dccd</A> |
|
276 <EM>must</EM> be used to run |
|
277 <A HREF="dbclean.html">dbclean</A> about once a day. |
|
278 An entry like <A HREF="misc/crontab.in">misc/crontab</A> can be put into |
|
279 the crontab file for the user that runs dccd. |
|
280 If you have more than one DCC server, |
|
281 stagger the times at which the cron job is run so |
|
282 that not all of your servers are simultaneously busy cleaning databases. |
|
283 |
|
284 <LI><P>Install the shutdown script |
|
285 <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> |
|
286 to shut down the DCC server as the operating system stops. |
|
287 If the DCC server fails to close the database cleanly, |
|
288 the database must be cleaned by the server with it starts. |
|
289 That takes time. |
|
290 |
|
291 </UL> |
|
292 |
|
293 |
|
294 |
|
295 <P><LI><H3><A NAME="step-flooding">Configure Flooding</A></H3> |
|
296 <A HREF="#step-greylist">Skip to the next step</A> |
|
297 if only remote DCC servers will be used. |
|
298 <P> |
|
299 Flooding requires that every server participating in a network of DCC |
|
300 servers have a unique server-ID. |
|
301 Server-IDs can be obtained by contacting Vernon Schryver |
|
302 <A HREF="mailto:vjs@rhyolite.com">vjs@rhyolite.com</A> by email |
|
303 or via a |
|
304 <A HREF="http://www.rhyolite.com/cgi-bin/ct.cgi?sb=DCC+server-ID">web |
|
305 form</A>. |
|
306 <P> |
|
307 After you have an official server-ID, |
|
308 <UL> |
|
309 <LI>Obtain the <A HREF="dccd.html#FILE-flod">passwd-ID</A> and its password |
|
310 and add them to your <A HREF="homedir/ids">@prefix@/ids file</A>. |
|
311 <LI>If necessary adjust your firewalls to allow both incoming TCP connections |
|
312 to port 6277 on your DCC server and outgoing TCP connections to port 6277 |
|
313 on your flooding peer. |
|
314 <LI>Add a line for each flooding peer to |
|
315 the <A HREF="dccd.html#FILE-flod">@prefix@/flod</A> file. |
|
316 <LI>Wait a few minutes for dccd to notice the change to the file |
|
317 and start flooding. |
|
318 The <A HREF="cdcc.html#OPERATION-stats">cdcc stats</A>, |
|
319 <A HREF="cdcc.html#OPERATION-flood-list">cdcc "id X; flood list"</A> |
|
320 and |
|
321 <A HREF="dblist.html#OPTION-H">@libexecdir@/dblist -Hv</A> |
|
322 commands can be used to monitor the floods of reports of checksums |
|
323 of bulk mail. |
|
324 </UL> |
|
325 <P> |
|
326 Flooded reports of bulk email contain timestamps that are used for several |
|
327 things including expiring old reports. |
|
328 To accurately detect stale incoming reports, |
|
329 a DCC server needs a clock that is not too inaccurate. |
|
330 For that reason it is good to run an NTP daemon on systems running DCC servers. |
|
331 |
|
332 <P><LI><H3><A NAME="step-greylist">Configure Greylisting</A></H3> |
|
333 <B>Skip</B> to the <A HREF="#step-start-dccm">next step</A> |
|
334 if greylisting will not be used. |
|
335 Greylist is very effective. |
|
336 See this |
|
337 <A HREF="http://www.dcc-servers.net/dcc/greylist.html">description</A>. |
|
338 <P> |
|
339 Larger sites can use more than one greylist server, |
|
340 with the greylist servers flooding data just like DCC servers. |
|
341 <P> |
|
342 To configure greylisting: |
|
343 <OL> |
|
344 <LI><H4>Assign greylist client- and server-IDs</H4> |
|
345 <P>Client-IDs and matching passwords must be used by clients of |
|
346 greylist servers such as dccm and dccifd. |
|
347 The client-IDs must be in the @prefix@/map file on the client system. |
|
348 Greylist client- and server-IDs must be in the |
|
349 <A HREF="homedir/ids">@prefix@/ids</A> file on the |
|
350 greylist server. |
|
351 When a system hosts both DCC and greylist servers, it is convenient |
|
352 for clients to use the same client-ID and password for both. |
|
353 It is also convenient for a greylist server and a DCC server on a system |
|
354 to share a common server-ID and password. |
|
355 <P> |
|
356 The vast majority of installations, which do not have local DCC servers, |
|
357 can use the greylist server-ID generated by the makefiles in the |
|
358 <A HREF="homedir/ids">@prefix@/ids</A> file. |
|
359 |
|
360 <P><LI><H4>Add the greylist server to @prefix@/map</H4> |
|
361 <P>If the |
|
362 cdcc "<A HREF="cdcc.html#OPERATION-info">info</A>" |
|
363 command does not show the correct greylist server, |
|
364 add it with something like |
|
365 <PRE> |
|
366 cdcc "<A HREF="cdcc.html#OPERATION-add">add localhost greylist 32768 secret"</A> |
|
367 </PRE> |
|
368 The DCC makefile files add a greylist server at localhost or 127.0.0.1 |
|
369 to <A HREF="cdcc.html#FILES">@prefix@/map</A> file created for a new |
|
370 DCC installation. |
|
371 |
|
372 <P><LI><H4>Set @prefix@/dcc_conf</H4> |
|
373 In most installations, enable a local greylist server by |
|
374 installing the script <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> |
|
375 with a symbolic link, |
|
376 setting <EM>GREY_ENABLE=on</EM> in @prefix@/dcc_conf |
|
377 and then running |
|
378 <PRE> |
|
379 <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> start |
|
380 </PRE> |
|
381 |
|
382 <P>If absolutely necessary, override the greylist |
|
383 <A HREF="dccd.html#OPTION-G">embargo, wait, and white</A> values |
|
384 in GREY_DCCD_ARGS in @prefix@/dcc_conf. |
|
385 Usually simply set GREY_CLIENT_ARGS=on |
|
386 |
|
387 <P><LI><H4>Set @prefix@/grey_flod</H4> |
|
388 <P> |
|
389 Sites with more than one greylist server should arrange to flood |
|
390 data among them by adding lines to |
|
391 <A HREF="dccd.html#FILE-grey_flod">@prefix@/grey_flod</A> files |
|
392 in the same format as |
|
393 <A HREF="dccd.html#FILE-flod">@prefix@/flod</A> files. |
|
394 Flooding among greylist servers uses port 6276 by default, and so that |
|
395 port may need to be opened in firewalls. |
|
396 |
|
397 <P><LI><H4>Set cron job</H4> |
|
398 <P> |
|
399 Install a daily cron job like |
|
400 <A HREF="misc/crontab.in">misc/crontab</A> |
|
401 and |
|
402 <A HREF="misc/cron-dccd.in">@libexecdir@/cron-dccd</A> |
|
403 to clean the database. |
|
404 <P> |
|
405 |
|
406 <P><LI><H4>Whitelist Mail Submission Clients</H4> |
|
407 <P> |
|
408 Greylisting of local mail systems must be turned off because common |
|
409 mail user agents (MUAs) cannot handle temporary rejections. |
|
410 One way to turn off greylisting of local client is with <EM>submit</EM> lines |
|
411 in the main <A HREF="homedir/whiteclnt">whiteclnt</A> file |
|
412 as described <A HREF="#whitelist">above</A>. |
|
413 <P> |
|
414 An alternative to whitelisting mail submission clients is available with |
|
415 <A HREF="dccm.html">dccm</A> and sendmail by using the |
|
416 <A HREF="misc/hackmc">misc/hackmc -T</A> |
|
417 script to modify sendmail.cf to trust SMTP clients authenticated with |
|
418 SMTP-TLS or SMTP-AUTH. |
|
419 |
|
420 </OL> |
|
421 |
|
422 |
|
423 |
|
424 <P><LI><H3><A NAME="step-start-dccm">Start dccm</A></H3> |
|
425 If the DCC-sendmail interface, dccm, is not used, |
|
426 <B>skip</B> to the <A HREF="#step-start-dccifd">next step</A>. |
|
427 <P> |
|
428 The DCC sendmail milter interface <A HREF="dccm.html">dccm</A> |
|
429 should be started before sendmail. |
|
430 That often requires changing an /etc/rc script or configuration file. |
|
431 The script <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> |
|
432 should be installed, best with a symbolic link. |
|
433 The milter daemon can be started manually with |
|
434 <PRE> |
|
435 rcDCC start |
|
436 </PRE> |
|
437 |
|
438 |
|
439 |
|
440 <P><LI><H3><A NAME="step-start-dccifd">Start dccifd</A></H3> |
|
441 If the general MTA interface, dccifd, is not used, |
|
442 <B>skip</B> to the <A HREF="#configure-dccproc">next step</A>. |
|
443 If you are using SpamAssassin, then you almost certainly |
|
444 should be using dccifd. |
|
445 <P> |
|
446 The general MTA interface <A HREF="dccifd.html">dccifd</A> |
|
447 should usually be started before the mail transfer agent or MTA. |
|
448 It should be enabled by setting <EM>DCCIFD_ENABLE=on</EM> |
|
449 in <A HREF="homedir/dcc_conf.in">dcc_conf</A>. |
|
450 It is also usually necessary to change an /etc/rc script or configuration file |
|
451 to start and stop the daemon with the system. |
|
452 The script <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> |
|
453 should be installed, best with a symbolic link. |
|
454 The daemon can be started manually with |
|
455 <PRE> |
|
456 rcDCC start |
|
457 </PRE> |
|
458 <P> |
|
459 Dccifd can be used as a |
|
460 <A HREF="http://www.postfix.org/SMTPD_PROXY_README.html">Postfix Before-Queue |
|
461 Content filter</A> |
|
462 as described the |
|
463 <A HREF="dccifd.html#EXAMPLES">dccifd documentation</A>. |
|
464 |
|
465 |
|
466 <P><LI><H3><A NAME="configure-dccproc">Configure Uses of dccproc</A></H3> |
|
467 If dccproc is used with procmail, |
|
468 add rules to procmailrc files as described in the |
|
469 <A HREF="dccproc.html#EXAMPLES">dccproc man page</A>. |
|
470 |
|
471 <P><LI><H3>Adjust Rejection Thresholds</H3> |
|
472 <P>It is best to only mark mail with X-DCC SMTP headers |
|
473 before changing procmail or dccm to reject mail. |
|
474 Configure dccm with DCCM_LOG_AT in <A HREF="homedir/dcc_conf.in">dcc_conf</A> |
|
475 to log bulk mail with somewhat lower counts. |
|
476 |
|
477 |
|
478 <P><LI><H3>Additional Considerations</H3> |
|
479 <P>Some additional mechanisms are available in the DCC client programs. |
|
480 They are often unnecessary when |
|
481 <A HREF="#step-greylist">greylisting</A> is used. |
|
482 <UL> |
|
483 <LI><A HREF="dccm.html#OPTION-B">DNS blacklists (DNSBL)</A> |
|
484 can reject messages containing "spamvertised" URLs. |
|
485 <LI><A HREF="dccm.html#OPTION-t">DCC reputations</A> |
|
486 are available in the commercial version of the DCC source. |
|
487 </UL> |
|
488 |
|
489 <P> |
|
490 When possible, it is almost always better to use dccifd than dccproc. |
|
491 This is certainly true with SpamAssassin. |
|
492 |
|
493 |
|
494 |
|
495 <P><LI><H3>Update As Needed</H3> |
|
496 <P>New versions released at the |
|
497 <A HREF="http://www.dcc-servers.net/dcc/">usual place</A> |
|
498 can be installed by running the |
|
499 <A HREF="misc/updatedcc.in">@libexecdir@/updatedcc</A> script. |
|
500 That script is (re)built by the |
|
501 <EM>./configure</EM> script |
|
502 and runs <EM>./configure</EM> with parameters and |
|
503 environment variables from the previous installation. |
|
504 |
|
505 |
|
506 |
|
507 <P><LI><H3>Remove or Uninstall</H3> |
|
508 <P>Most of the DCC can be removed by running |
|
509 <A HREF="misc/uninstalldcc.in">@libexecdir@/uninstalldcc</A> script. |
|
510 Some logs and configuration files with locally chosen parameters in the home |
|
511 directory are not deleted. |
|
512 Manual changes such as links to |
|
513 <A HREF="misc/rcDCC.in">@libexecdir@/rcDCC</A> |
|
514 or the installation of the cron job, |
|
515 <A HREF="misc/cron-dccd.in">@libexecdir@/cron-dccd</A>, |
|
516 are not reversed. |
|
517 |
|
518 |
|
519 </OL> |
|
520 |
|
521 |
|
522 |
|
523 <H2>Installation Parameters</H2> |
|
524 <P>There are several installation configuration parameters that can |
|
525 set to suit individual preferences and systems. |
|
526 |
|
527 <P> |
|
528 <TABLE class=centered border="1" cellpadding="2%" frame=void rules=rows |
|
529 summary="table of makefile and configure script controls"> |
|
530 <CAPTION><A NAME="envtbl"> |
|
531 <B>Makefile and <EM>./configure</EM> Script Controls |
|
532 <BR>Do NOT set these parameters unless absolutely necessary.</B></A> |
|
533 </CAPTION> |
|
534 <TR><TH><EM>./configure</EM> option |
|
535 <TH>env name or <br>make variable |
|
536 <TH>used by |
|
537 <TH>default value |
|
538 <TH>use |
|
539 <TR><TD class=env><A NAME="envtbl--homedir">--homedir=HOMEDIR</A> |
|
540 <TD> |
|
541 <TD><EM>./configure</EM> |
|
542 <TD>@prefix@/ |
|
543 <TD>DCC home directory with most DCC files |
|
544 <TR><TD class=env><A NAME="envtbl--libexecdir">--libexecdir=DIR</A> |
|
545 <TD> |
|
546 <TD><EM>./configure</EM> |
|
547 <TD><A HREF="#envtbl--homedir">--homedir</A>/libexec |
|
548 <TD>directory containing most DCC programs |
|
549 <TR><TD class=env><A NAME="envtbl--bindir">--bindir</A>=DIR |
|
550 <TD> |
|
551 <TD><EM>./configure</EM> |
|
552 <TD>/usr/local/bin |
|
553 <TD>installation directory for DCC user commands including cdcc and |
|
554 dccproc<SUP>3</SUP> |
|
555 <TR><TD class=env>--mandir=DIR |
|
556 <TD>  |
|
557 <TD><EM>./configure</EM> |
|
558 <TD>/usr/local/man |
|
559 <TD>installation directory for man pages<SUP>3</SUP> |
|
560 <TR><TD class=env> |
|
561 <TD class=conf>NOMAN<SUP>1</SUP> |
|
562 <TD>make |
|
563 <TD>(unset) |
|
564 <TD>do not install man pages when set<SUP>3</SUP> |
|
565 <TR><TD class=env><A NAME="envtbl--installroot">--with-installroot=DIR</A> |
|
566 <TD> |
|
567 <TD><EM>./configure</EM> |
|
568 <TD>(unset) |
|
569 <TD>prefix all installation directory paths to build a binary tarball |
|
570 <TR><TD class=env><A NAME="envtbl--configsuffix">--with-configsuffix=str</A> |
|
571 <TD> |
|
572 <TD><EM>./configure</EM> |
|
573 <TD>(unset) |
|
574 <TD>append <EM>str</EM> to generated configuration file names |
|
575 <TR><TD class=env><A NAME="envtbl--with-uid">--with-uid=UID</A> |
|
576 <TD> |
|
577 <TD><EM>./configure</EM> |
|
578 <TD>root |
|
579 <TD>user name and set-UID for DCC programs and data |
|
580 <TR><TD class=env> |
|
581 <TD class=conf><A NAME="envtbl-DCC_OWN">DCC_OWN</A><SUP>1</SUP> |
|
582 <TD>make |
|
583 <TD>bin, daemon on OS X, or current |
|
584 <TD>owner or UID of most installed files<SUP>3</SUP> |
|
585 <TR><TD class=env> |
|
586 <TD class=conf><A NAME="envtbl-DCC_GRP">DCC_GRP</A><SUP>1</SUP> |
|
587 <TD>make |
|
588 <TD>bin, daemon on OS X, or current |
|
589 <TD>group of most installed files<SUP>3</SUP> |
|
590 <TR><TD class=env> |
|
591 <TD class=conf>DCC_MODE<SUP>1</SUP> |
|
592 <TD>make |
|
593 <TD>555 |
|
594 <TD>mode of most installed programs |
|
595 <TR><TD class=env> |
|
596 <TD class=conf>MANOWN<SUP>1</SUP> |
|
597 <TD>make |
|
598 <TD><A HREF="#envtbl-DCC_OWN">DCC_OWN</A> |
|
599 or current |
|
600 <TD>owner or UID of installed man pages<SUP>3</SUP> |
|
601 <TR><TD class=env> |
|
602 <TD class=conf>MANGRP<SUP>1</SUP> |
|
603 <TD>make |
|
604 <TD><A HREF="#envtbl-DCC_GRP">DCC_GRP</A> |
|
605 or current |
|
606 <TD>group of installed man pages<SUP>3</SUP> |
|
607 <TR><TD class=env><A NAME="envtbl--disable-sys-inst">--disable-sys-inst</A> |
|
608 <TD> |
|
609 <TD><EM>./configure</EM> |
|
610 <TD>enabled |
|
611 <TD>disable system installation or chmod, chgrp, and set-UID<SUP>3</SUP> |
|
612 <TR><TD class=env><A NAME="envtbl--disable-server">--disable-server</A> |
|
613 <TD> |
|
614 <TD><EM>./configure</EM> |
|
615 <TD>build but do not start |
|
616 <TD>do not build server including dbclean and dccd |
|
617 <TR><TD class=env><A NAME="envtbl--disable-dccifd">--disable-dccifd</A> |
|
618 <TD> |
|
619 <TD><EM>./configure</EM> |
|
620 <TD>build but do not start |
|
621 <TD>do not build program interface |
|
622 <TR><TD class=env><A NAME="envtbl--disable-dccm">--disable-dccm</A> |
|
623 <TD> |
|
624 <TD><EM>./configure</EM> |
|
625 <TD>build but do not start |
|
626 <TD>do not build sendmail interface |
|
627 <TR><TD class=env><A NAME="envtbl--with-sendmail">--with-sendmail=DIR</A> |
|
628 <TD> |
|
629 <TD><EM>./configure</EM> |
|
630 <TD>../sendmail or /usr/ports/mail/... |
|
631 <TD>directory containing sendmail milter header files |
|
632 <TR><TD class=env><A NAME="envtbl--cgibin">--with-cgibin</A>=DIR |
|
633 <TD> |
|
634 <TD><EM>./configure</EM> |
|
635 <TD><A HREF="#envtbl--homedir">--homedir</A>/cgi-bin |
|
636 <TD>directory for DCC whitelist <A HREF="cgi-bin/">CGI scripts</A> |
|
637 <TR><TD class=env>--with-rundir=DIR |
|
638 <TD> |
|
639 <TD><EM>./configure</EM> |
|
640 <TD>@dcc_rundir@ |
|
641 <TD>"run" directory for PIDs and sockets |
|
642 <TR><TD class=env> |
|
643 <TD class=conf>CFLAGS<SUP>1</SUP> |
|
644 <TD>make & <EM>./configure</EM> |
|
645 <TD> |
|
646 <TD>global compiler options such as -g or -O2 |
|
647 <TR><TD class=env> |
|
648 <TD class=conf>DCC_CFLAGS<SUP>2</SUP> |
|
649 <TD><EM>./configure</EM> |
|
650 <TD>depends on target |
|
651 <TD>global compiler options |
|
652 <TR><TD class=env> |
|
653 <TD class=conf>PTHREAD_CFLAGS<SUP>2</SUP> |
|
654 <TD><EM>./configure</EM> |
|
655 <TD>depends on target |
|
656 <TD>compiler options for compiling dccm and dccifd with pthreads |
|
657 <TR><TD class=env> |
|
658 <TD class=conf>LDFLAGS<SUP>1</SUP> |
|
659 <TD>make & <EM>./configure</EM> |
|
660 <TD> |
|
661 <TD>global linker options |
|
662 <TR><TD class=env> |
|
663 <TD class=conf><A NAME="envtbl-DCC_LDFLAGS">DCC_LDFLAGS</A><SUP>2</SUP> |
|
664 <TD><EM>./configure</EM> |
|
665 <TD>depends on target |
|
666 <TD>global linker options |
|
667 <TR><TD class=env> |
|
668 <TD class=conf>PTHREAD_LDFLAGS<SUP>2</SUP> |
|
669 <TD><EM>./configure</EM> |
|
670 <TD>depends on target |
|
671 <TD>linker options for dccm and dccifd |
|
672 <TR><TD class=env> |
|
673 <TD class=conf><A NAME="envtbl-LIBS">LIBS</A><SUP>2</SUP> |
|
674 <TD><EM>./configure</EM> |
|
675 <TD> |
|
676 <TD>additional libraries linked with all programs |
|
677 <TR><TD class=env> |
|
678 <TD class=conf>PTHREAD_LIBS<SUP>2</SUP> |
|
679 <TD><EM>./configure</EM> |
|
680 <TD>depends on target |
|
681 <TD>libraries for dccm and dccifd |
|
682 <TR><TD class=env> |
|
683 <TD class=conf>CC |
|
684 <TD>make & <EM>./configure</EM> |
|
685 <TD>cc |
|
686 <TD>C compiler such as "gcc" or "/opt/SUNWspro/SC6.1/bin/cc" |
|
687 <TR><TD class=env> |
|
688 <TD class=conf>INSTALL<SUP>1</SUP> |
|
689 <TD>make |
|
690 <TD><A HREF="autoconf/install-sh">./autoconf/install-sh</A> |
|
691 <TD>installation script |
|
692 <TR><TD class=env> |
|
693 <TD class=conf>DCCD_MAX_FLOODS<SUP>1</SUP> |
|
694 <TD>make |
|
695 <TD>32 |
|
696 <TD>maximum DCC server flooding peers |
|
697 <TR><TD class=env><A NAME="envtbl--with-db-memory">--with-db-memory=MB</A> |
|
698 <TD> |
|
699 <TD><EM>./configure</EM> |
|
700 <TD>64 |
|
701 <TD>minimum server database buffer size between 32 MBytes and 49152 MBytes |
|
702 <!-- DB_MIN_MBYTE --> |
|
703 <TR><TD class=env><A NAME="envtbl--with-max-db-mem">--with-max-db-mem=MB</A> |
|
704 <TD> |
|
705 <TD><EM>./configure</EM> |
|
706 <TD>1920 <!--DB_MAX_2G_MBYTE--> on 32-bit systems |
|
707 <BR>49152 <!--MAX_MAX_DB_MBYTE--> on 64-bit systems |
|
708 <TD>maximum server database buffer size |
|
709 <!-- DB_MAX_MBYTE --> |
|
710 <TR><TD class=env><A NAME="envtbl--with-max-log-size">--with-max-log-size=KB</A> |
|
711 <TD> |
|
712 <TD><EM>./configure</EM> |
|
713 <TD>32 |
|
714 <TD>maximum dccifd and dccm log file size in KBytes; 0=no limit |
|
715 <TR><TD class=env><A NAME="envtbl--disable-IPv6">--without-IPv6</A> |
|
716 <TD> |
|
717 <TD><EM>./configure</EM> |
|
718 <TD>IPV6 on if supported |
|
719 <TD>turn off IPv6 support |
|
720 <TR><TD class=env><A NAME="envtbl--with-socks">--with-socks[=lib]</A> |
|
721 <TD> |
|
722 <TD><EM>./configure</EM> |
|
723 <TD>none |
|
724 <TD>location of <A HREF="#SOCKS">SOCKS</A> client library |
|
725 <TR><TD class=env><A NAME="envtbl--64bits">--enable-64-bits</A> |
|
726 <TD> |
|
727 <TD><EM>./configure</EM> |
|
728 <TD>correct value on most systems |
|
729 <BR>32 bits Solaris and Linux PowerPC |
|
730 <TD>use MD5 code in DCC source instead of any local library |
|
731 <TR><TD class=env><A NAME="envtbl--with-DCC-MD5">--with-DCC-MD5</A> |
|
732 <TD> |
|
733 <TD><EM>./configure</EM> |
|
734 <TD>local library if available; |
|
735 <TD>use MD5 code in DCC source instead of any local library |
|
736 <TR><TD class=env><A NAME="envtbl--with-kludge">--with-kludge=FILE</A> |
|
737 <TD> |
|
738 <TD><EM>./configure</EM> |
|
739 <TD>none |
|
740 <TD>include header FILE, best with an absolute path |
|
741 <TR><TD class=env><A NAME="envtbl--fetch-cmd">--with-fetch-cmd=pgm</A> |
|
742 <TD> |
|
743 <TD><EM>./configure</EM> |
|
744 <TD>wget, fetch, curl, or ftp |
|
745 <TD>program used by |
|
746 <A HREF="misc/updatedcc.in">@libexecdir@/updatedcc</A>, |
|
747 and other utilities to fetch files |
|
748 <TR><TD> |
|
749 </TABLE> |
|
750 |
|
751 <DL class=small> |
|
752 <DT>Note<SUP>1</SUP> |
|
753 <DD>These values are not built into the Makefiles by the |
|
754 <EM>./configure</EM> script but their current values in the environment |
|
755 are used by the script and the Makefiles. |
|
756 |
|
757 <DT>Note<SUP>2</SUP> |
|
758 <DD>These values are copied by the <EM>./configure</EM> script from the |
|
759 environment into the generated Makefiles. |
|
760 |
|
761 <DT>Note<SUP>3</SUP> |
|
762 <DD>When <A HREF="#envtbl--disable-sys-inst">--disable-sys-inst</A> |
|
763 is specified, the current UID and GID become the defaults, |
|
764 and the man pages are not installed. |
|
765 If the <EM>./configure</EM> script is not run as root, |
|
766 <A HREF="dccproc.html">dccproc</A>, <A HREF="cdcc.html">cdcc</A>, |
|
767 and <A HREF="dccsight.html">dccsight</A> are not installed set-UID. |
|
768 It is usually also necessary to set |
|
769 <A HREF="#envtbl--bindir">--bindir</A> to a private directory such |
|
770 as $HOME/bin. |
|
771 </DL> |
|
772 |
|
773 <H2><A NAME="Compatibility">Compatibility</A></H2> |
|
774 <P>DCC is thought to work on several systems including: |
|
775 <DL class=compat> |
|
776 <DT>BSDI BSD/OS |
|
777 <DD>DCC works starting with version 3.0 of BSD/OS. |
|
778 |
|
779 <DT>FreeBSD |
|
780 <DD>The works starting with at least version 4.0 of FreeBSD. |
|
781 |
|
782 <DT>NetBSD |
|
783 <DD>The DCC should work starting with at least 1.4.2 without threads |
|
784 and so with dccd, dccproc, and all of DCC except the part that uses |
|
785 threads, dccm. |
|
786 Dccm is available if you point PTHREAD_LIBS, PTHREAD_CFLAGS, and |
|
787 PTHREAD_LDFLAGS to the optional threads package. |
|
788 |
|
789 <DT>OpenBSD |
|
790 <DD>DCC works starting with at least 2.9 despite lame |
|
791 the lame mmap() implementation. |
|
792 |
|
793 <DT>Linux |
|
794 <DD>DCC works starting with at least RedHat 5.2. |
|
795 <P> |
|
796 On 64-bit PowerPC systems with more than 4 GBytes, |
|
797 use <EM>./configure --with-64-bits</EM> to build a DCC server that can |
|
798 benefit from a full sized database. |
|
799 A 64-bit sendmail milter library will be needed if |
|
800 <A HREF="dccm.html">Dccm</A> is used |
|
801 |
|
802 <DT>AIX |
|
803 <DD>DCC on 4.1.PPC has been tried but not well tested. |
|
804 Rumor has it that the 4.1.PPC pthreads code does not work |
|
805 with the sendmail milter library and dccm, but the rest of |
|
806 DCC does work. |
|
807 |
|
808 <DT>Solaris |
|
809 <DD>DCC compiles on several versions of Solaris with gcc or |
|
810 native C compiler by setting the environment variable CC appropriately. |
|
811 <EM>You must install gmake</EM>. |
|
812 <EM>Do not</EM> use "CFLAGS=-fast" with the native compiler. |
|
813 <P> |
|
814 While building the sendmail milter library, consider using |
|
815 <EM>_FFR_USE_POLL</EM> to avoid problems with large file descriptors |
|
816 and select(). |
|
817 <P> |
|
818 On 64-bit systems with more than 4 GBytes, |
|
819 use <EM>./configure --with-64-bits</EM> to build a DCC server that can |
|
820 benefit from a full sized database. |
|
821 A 64-bit sendmail milter library will be needed if |
|
822 <A HREF="dccm.html">Dccm</A> is used |
|
823 |
|
824 <DT>HP-UX |
|
825 <DD>DCC compiles on versions of HP-UX starting with 11.00. |
|
826 It requires gmake. Dccproc and dccm work. |
|
827 Dccifd does not work with UNIX domain sockets because select() and |
|
828 poll() do not notice the results of shutdown(). |
|
829 Dccifd does work with TCP/IP connections to MTAs or spam filters. |
|
830 <BR> |
|
831 Dccproc should work on version 10.20, since it does not use pthreads. |
|
832 |
|
833 <DT>IRIX |
|
834 <DD>DCC compiles on IRIX 6.5. |
|
835 It requires gmake. |
|
836 |
|
837 <DT>OSF1 |
|
838 <DD>DCC compiles on OSF1 V5.0 with gmake. |
|
839 |
|
840 <DT>OpenUNIX |
|
841 <DD>DCC compiles on OpenUNIX 8.0.1. |
|
842 |
|
843 <DT>Mac OS/X |
|
844 <DD>DCC compiles on at least some versions of Apple's OS/X. |
|
845 |
|
846 <DT>Windows |
|
847 <DD>The DCC client dccproc compiles and works on at least some versions of |
|
848 Windows 98 and Windows XP with Borland's free SDK |
|
849 and with Microsoft's SDK. |
|
850 See the <A HREF="win32.mak">main Makefile</A> for Windows. |
|
851 |
|
852 |
|
853 </DL> |
|
854 <P> |
|
855 <SMALL>Those system names include trademarks. Please don't abuse them.</SMALL> |
|
856 |
|
857 <H2><A NAME="Troubleshooting">Troubleshooting</A></H2> |
|
858 <P> |
|
859 Much of the DCC <A HREF=FAQ.html>list of frequently asked questions</A> |
|
860 concerns troubleshooting DCC installations. |
|
861 Many of the messages in the archive of the |
|
862 <A HREF="http://www.rhyolite.com/pipermail/dcc/">DCC mailing list</A> |
|
863 are also troubleshooting questions and answers. |
|
864 |
|
865 <H2><A NAME="spam-traps"></A><A NAME="spamtraps">Spam Traps</A></H2> |
|
866 <P><A HREF="dccm.html">Dccm</A> and sendmail can be configured to |
|
867 report the checksums of unsolicited bulk mail so that other DCC clients |
|
868 can reject later copies of the same unsolicited bulk mail |
|
869 sent from other sources. |
|
870 Such mechanisms are commonly called <EM>spam traps</EM>. |
|
871 |
|
872 <P>Entries in a sendmail access_db can also be rejected or discarded |
|
873 while they are reported to the DCC server by dccm. |
|
874 The script |
|
875 <A HREF="misc/hackmc">misc/hackmc</A> modifies the output of |
|
876 sendmail .mc files to tell dccm about some undesirable mail. |
|
877 The script accepts one or more .mc files and generates the corresponding |
|
878 slightly modified .cf files. |
|
879 If the access_db entry starts with the string "DCC:", |
|
880 the message is reported by dccm to the DCC server as extremely bulky. |
|
881 Otherwise the message is rejected as usual. |
|
882 The remainder of the the access_db entry after "DCC:" consists of |
|
883 the optional string "DISCARD" followed by an optional SMTP status message. |
|
884 If the string "DISCARD" is present, the message is discarded instead of |
|
885 rejected. This is important to keep senders of unsolicited bulk mail from |
|
886 discovering and removing "spam trap" addresses from their target lists. |
|
887 |
|
888 <P>For example, a line like the following in an access_db can |
|
889 discard all mail from example.com while reporting it to the DCC server |
|
890 as extremely bulky. |
|
891 Note the quotes ("). |
|
892 <PRE> |
|
893 example.com DCC: "DISCARD spam" |
|
894 </PRE> |
|
895 |
|
896 <P>It is also possible to route mail from a spam trap address to |
|
897 dccproc as described in the |
|
898 <A HREF="dccproc.html#EXAMPLES">dccproc man page</A> |
|
899 |
|
900 |
|
901 <H2><A NAME="SOCKS">SOCKS</A></H2> |
|
902 <P>The DCC client and server programs can be built to use the SOCKS |
|
903 protocol. |
|
904 The |
|
905 <A HREF="#envtbl--with-socks">--with-socks</A> |
|
906 <EM>./configure</EM> parameter |
|
907 configures the DCC client library and the DCC server |
|
908 to use common SOCKS network library functions. |
|
909 If the SOCKS library is in a standard place, |
|
910 something like <A HREF="#envtbl--with-socks">--with-socks=socks</A> |
|
911 should be sufficient. |
|
912 Setting the environment variable |
|
913 <A HREF="#envtbl-DCC_LDFLAGS">DCC_LDFLAGS</A> to something |
|
914 like <Em>-L/usr/local/lib</Em> is sometimes helpful. |
|
915 Otherwise, using <A HREF="#envtbl--with-socks">--with-socks</A> |
|
916 without specifying the library name and setting <A HREF="#envtbl-LIBS">LIBS</A> |
|
917 to the full pathname of the library |
|
918 might work. |
|
919 <P> |
|
920 DCC client programs |
|
921 including dccproc and dccm that use the DCC client library |
|
922 must be told to use the SOCKS5 protocol with the |
|
923 <A HREF="cdcc.html#OPERATION-SOCKS">SOCKS on</A> |
|
924 operation of |
|
925 <A HREF="cdcc.html">cdcc</A>. |
|
926 SOCKS5 is required instead of SOCKS4 |
|
927 because DCC clients communicate with DCC servers using UDP. |
|
928 |
|
929 <P> |
|
930 DCC servers can use SOCKS4 or SOCKS5 when exchanging |
|
931 floods of reports of checksums. |
|
932 Links between individual pairs of peers are configured with the |
|
933 <Em>passive</Em> and <Em>SOCKS</Em> flags in the flod file described |
|
934 in the <A HREF="dccd.html#FILE-flod">dccd</A> man page. |
|
935 In both cases, the SOCKS library code must be configured, often |
|
936 in the files /etc/socks.conf and /etc/socksd.conf. |
|
937 |
|
938 <P> |
|
939 When the DCC software is built with SOCKS, |
|
940 IPv6 name resolution is turned off. |
|
941 |
|
942 <P> |
|
943 The DCC server and client programs have been tested with the |
|
944 <A HREF="http://www.inet.no/dante/">DANTE</A> library and server. |
|
945 The DANTE SOCKS implementation is also one of the FreeBSD "ports" |
|
946 or packages. |
|
947 <P> |
|
948 Note that if a connection fails repeatedly, Dante will disable the rule |
|
949 that failed and will eventually try the underlying connect() |
|
950 call. |
|
951 This fails in almost every SOCKS environment because there is |
|
952 no available route for an ordinary connect(). |
|
953 Dante by default won't re-enable the failing rule. |
|
954 To fix this, change BADROUTE_EXPIRE from the default of <EM>0*60</EM> |
|
955 to <EM>5</EM> in include/config.h in the Dante source and recompile. |
|
956 |
|
957 |
|
958 <P class=small> |
|
959 This document describes DCC version 1.3.103. |
|
960 <P> |
|
961 <A HREF="http://www.dcc-servers.net/dcc/"> |
|
962 <IMG SRC="http://logos.dcc-servers.net/border.png" |
|
963 class=logo ALT="DCC logo"> |
|
964 </A> |
|
965 <A HREF="http://validator.w3.org/check?uri=referer"> |
|
966 <IMG class=logo ALT="Valid HTML 4.01 Strict" |
|
967 SRC="http://www.w3.org/Icons/valid-html401"> |
|
968 </A> |
|
969 </BODY> |
|
970 </HTML> |
|
971 <!-- LocalWords: dccproc libmilter pthreads procmail dccm dccd dcc libmilter |
|
972 --> |
|
973 <!-- LocalWords: homedir dbclean whitelist setenv nbsp Solaris crontab Linux |
|
974 --> |
|
975 <!-- LocalWords: gmake FreeBSD NetBSD CFLAGS PTHREAD LDFLAGS LIBS HPUX IDs DT |
|
976 --> |
|
977 <!-- LocalWords: cdcc DL DD ids var RTT TD TR dccifd greylist MTA |
|
978 --> |
|
979 <!-- LocalWords: whitelisting |
|
980 --> |