comparison CHANGES @ 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 Changes to the Distributed Checksum Clearinghouse source.
2
3 2009/02/26 02:52:46 Rhyolite Software DCC 1.3.103-1.295 $Revision$
4
5 1.3.103
6 Quiet RedHat versus Debian error message from rcDCC reported by Ken Rea.
7 Deal with corrupt /var/dcc/map reported by Steve Martin instead of
8 calling abort().
9 Fix error in libexec/fetch-testmsg-whitelist reported by Horst Scheuermann
10 and William Taylor.
11 Tweak ./configure and makefiles to try to avoid the mysterious,
12 unreproducable linking problem reported by John Levine.
13 Fix bug with `./configure --with-max-log-size=0` reported by
14 Valentin Schmid.
15 `./configure --with-max-log-size=KB` now also applies to dccproc log files.
16 Generate man pages with /var/dcc and other directories replaced by
17 local ./configure choices. This is intended to help the FreeBSD
18 package and similar redistributions.
19
20 1.3.102
21 Fix build error reported by Steve Martin in dnsbl.c on MacOS X and other
22 systems without a resolver library found by ./configure.
23
24 1.3.101
25 Fix inconsistent declaration of grey_on in dccd/dump-clients/dump-clients.c
26 reported by Bobby Rose.
27
28 1.3.100
29 Support groups of DNS blacklists that can be independently enabled
30 in per-user whiteclnt files.
31 Follow Petar Bogdanovic's suggestion to make ./configure assume that
32 `su -` and the default file ownership on NetBSD should be like FreeBSD
33 Another tweak to reduce spurious DCC Reputations for 127.0.0.1.
34 Dccifd in query mode assumes one recipient and so always generates an
35 X-DCC header.
36 Tweak proof of concept per-user whitelist cgi scripts in cgi-bin.
37 Improve long term client request rate computation to improve how public
38 DCC servers handle too active clients.
39 Count anonymous clients ignored by `dccd -uFOREVER` among `cdcc stats`
40 "bad IDs" to more easily detect local clients that lack client-IDs
41 and passwords.
42 `misc/hackmc -M` now reports mail rejected with the sendmail
43 FEATURE(`badmx') to the DCC with counts of "MANY"
44
45 1.3.99
46 Fix typo in Makefile.inc for NetBSD and OSF1 reported by Petar Bogdanovic.
47
48 1.3.98
49 Change the DCC server to not sign responses to anonymous clients with
50 the client's sequence numbers in protocol version 9.
51 Add `dccd -T wlist` and `cdcc "trace wlist on"` to help find failures
52 by clients to whitelist IP addresses and other checksums
53 in /var/dcc/whitelist.
54 Let whitelisting by the MTA, DCC server, or other whiteclnt lines override
55 "option spam-trap-accept" and "option spam-trap-reject" whiteclnt
56 lines as suggested by Horst Scheuermann.
57 Finally document in the man pages parameters including %CIP that can be
58 used in dccifd and dccm rejection messages.
59
60 1.3.97
61 Fix "pthread_mutex_lock(cwf): Invalid argument; fatal error" reported
62 by Steve Martin.
63
64 1.3.96
65 Add `cdcc "clock check" to help detect broken clocks at DCC servers.
66 Fix intermittent complaints about whiteclnt.dccw reported by Gary Mills.
67 `cdcc clients` now indicates clients that have pegged a server's
68 anti-DoS delays.
69
70 1.3.95
71 Stop rare "fcntl(F_SETLKW F_WRLCK info -1): Bad file descriptor" complaints
72 when dccm and dccifd start.
73
74 1.3.94
75 Fix core new dump in version 1.3.93 of dccm with aborted mail messages.
76
77 1.3.93
78 Make the default value for the `dccm -j` and `dccifd -j` job limit
79 as large as possible. This makes -j settings unnecessary.
80 Dccproc and cdcc time out after about 1 minute when the /var/dcc/map
81 file is not unlocked.
82 Add "option spam-trap-accept" and "option spam-trap-reject" to
83 whiteclnt files. I think these are the best way to build
84 DCC spam traps.
85
86 1.3.92
87 Improve the hash function used in the DCC server database.
88 Replace -Bno-envelope for dccm, dccproc, and dccifd with
89 -Bno-client and -Bno-mail_host for Tony Del Porto. It seems that
90 Spamhaus' PBL should generally not be applied to SMTP envelope
91 Mail_From domain names to avoid rejecting mail received through an
92 ISP smart-host but with sender domain name hosted on a dynamically
93 assigned IP address. The now undocumented -Bno-envelope implies
94 -Bno-client and -Bno-mail_host.
95 Fix the @configsuffix@ mechanism in homedir/Makefile.in as suggested
96 by Craig Green.
97 Switch to -lpthread threads on FreeBSD starting with 6.2 because of
98 recent problems with libc_r threads.
99 Dccproc should not require a "option DNSBL-on" line in /var/dcc/whiteclnt
100 to pay attention to DNSBL hits. The -B settings on the dccproc
101 command line are sufficient to show that the user wants DNSBL checking.
102 Fix bug in compression of DCC Reputation reports.
103
104 1.3.91
105 Fix mechanism that should prevent dccd from starting dbclean for a quick
106 cleaning about the time the cron job runs.
107 Let DNSBL target addresses be CIDR blocks to improve the use of Spamhaus'
108 lists.
109 Fix DNSBL bug that caused false positives reported by Ray Gardener.
110 Tweak homedire/Makefile.in for the gento folks.
111 Fix recent compiling bug with Borland on WIN32 reported by Tommy Barberis.
112
113 1.3.90
114 Fix updatedcc problem reported by Chris Magnuson.
115 Updatedcc failed after shutting down the localhost DCC server and
116 finding no working server and when the environment variable
117 DCC_UPDATEDCC_FAST is not set to "yes". The easiest work-around
118 is to add the public DCC servers to the local /var/dcc/map file
119 with `cdcc "add dcc1.dcc-servers.net RTT+1000 ms"` Besides working
120 around the updatedcc problem, that uses the public DCC servers
121 as backups for the local server.
122
123 1.3.89
124 Repair compile problem on Solaris
125
126 1.3.88
127 Repair rate limiting on dccd syslog complaints.
128 Relax dccd load sharing enough to prevent spurious timeouts by
129 keepalive timers and some troubles with flood connections.
130
131 1.3.87
132 Add `./configure --enable-64-bits` to compile 64-bit DCC server code
133 for Solaris or Linux PowerPC. If you are using dccm, you will
134 need to build a 64-bit sendmail milter library.
135 Fix complaint from `cdcc "new map"` about the new file being empty.
136 Fix bug in `./configure --with-installroot=DIR` and `make install`
137 reported by Pavel Urban.
138 Fix at least some causes of "continue not asking Greylist" complaints
139 from dccm and dccifd.
140 Make dbclean on Linux systems with lots of RAM even closer to -F.
141
142 1.3.86
143 Disable automatic 64-bit compilation for Solaris again
144
145 1.3.85
146 Fix Redhat Enterprise 5.1 build bugs in 1.3.84 reported by Mark Thomas.
147 Fix old glitch in building for 64-bit Solaris systems.
148
149 1.3.84
150 Allow very large DCC database hash tables, including that used
151 for greylisting.
152 Add `./configure --with-configsuffix=.str` to improve FreeBSD port.
153 Add `rcDCC -m {dccd|dccm|...}` to improve FreeBSD port.
154 Add magic comments to rcDCC to make it work with SUSE insserv.
155
156 1.3.83
157 Deal with build problem on FreeBSD 7.0 reported by Craig Green.
158 Keep client IP addresses as old as 7 days in /var/dcc/dccd_clients
159 and /var/dcc/grey_clients
160
161 1.3.82
162 Fix automagic upgrade of old /var/dcc/map files reported by James Carlson
163 and Earl Killian. The bug was new with 1.3.81.
164
165 1.3.81
166 improve SMTP status messages from dccm and dccifd
167 improve dbclean handling of less frequent spam
168 do something like `dbclean -F` on systems that lack mmap(MAP_NOSYNC).
169 This should help recent versions of Linux that thrash themselves
170 much as Solaris always has.
171 perhaps fix the "Deadlock situation detected/avoided" messages long
172 but infrequently seen on Solaris.
173 fix a bug reported by Edward Toton in the mechanism that works around a
174 missing cron-dccd cron job.
175 fix problem in cron-dccd reported by Dean Maluski when a greylist server
176 is running but no DCC server.
177
178 1.3.80
179 fix bug with `dccm -t` log thresholds reported by Bart Dumon
180
181 1.3.79
182 remove -t arg. for dbclean
183 change lines in log files for DNSBL hits to include IP address from
184 the DNSBL
185 probe a DNSBL only once for several -B results with distinct SMTP
186 4yz or 5yz rejection messages
187 reduce dccifd memory on some Linux systems by 4 MByte
188 do not use set-UID privileges outside the ./configure --homedir=DIR
189 directory
190 fix bug in 1.3.78 in sizing the window for large (>100 MByte) greylist
191 databases found by Tomasz Potega
192
193 1.3.78
194 Fix failure to reduce default dbclean expirations when working around
195 a missing cron-dccd cron job.
196
197 1.3.77
198 Improve dccd load limiting, including while catching up on flooding.
199
200 1.3.76
201 Add yet more system log tracing with `dccd -d` for the determination of
202 memory limits.
203 Tweak duplicate flooded report detection.
204
205 1.3.75
206 Fix false duplicate detection of flooded checksums introduced in
207 version 1.3.74.
208 Make the rep-total default threshold be 20, matching the documentation.
209
210 1.3.74
211 Repair rate limiting of dccd system log messages.
212 Another fix for detecting duplicate bulk mail reports.
213
214 1.3.73
215 Correct count of reputation hits.
216
217 1.3.72
218 Fix holes in the detection of duplicate flooded reports.
219 Fix quick database cleaning to not run dbclean 2 hours or less before
220 the usual cron cleaning.
221 Fix bug in counting DCC operations by the free DCC servers.
222
223 1.3.71
224 Fix confusion in daily log messages between incoming and outgoing
225 flood error messages.
226
227 1.3.70
228 /var/dcc/libexec/dcc-stats-graph no longer combines RRD files to
229 generate a graph. Instead the new /var/dcc/rrd-combine should be used
230 to generate a combined file that is then graphed.
231 Fix dccproc to report mail to the DCC server that DCC Reputations has
232 marked as spam.
233 Remove SOCKS flooding input bug that I added in 1.3.67.
234 Fix a failure by DCC Reputation servers to fail to detect flooded
235 duplicate reports.
236
237 1.3.69
238 Fix embarrassing build bug in 1.3.68 reported by Chris Pollock.
239
240 1.3.68
241 Enhance /var/dcc/libexec/list-clients
242 Increase flooding listen() queue to try to deal with connection timeouts.
243 dccifd should pay attention to thresholds in /var/dcc/whiteclnt
244 Fix new fix for reputation report counting.
245
246 1.3.67
247 Occassionally run a quick dbclean on the server database when the database
248 gets too big.
249 Report "connection refused" flooding problems in `cdcc "flood stats ..."`
250 `cdcc stats` on DCC Reputation servers report the number of client
251 reputation hits.
252 updatedcc -K does not try to download more than once per week.
253 -K is assumed if stdin is not a tty. Some installations seem to
254 have cron jobs that run updatedcc several times per day.
255 SOCKS flooding only doubles instead of quadruples the backoff or delay
256 before retrying connections.
257 Add more tracing of flood state changes to try to find the stickiness
258 with Solaris.
259
260 1.3.66
261 Fix SOCKS flood crash introduced in 1.3.65 and reported by Tomasz Potega.
262
263 1.3.65
264 Another tweak to the negotiation of DCC Reputations.
265 Restore recently lost logging of flooding error messages.
266 Fix missing reset of keepalive timer.
267 Include flooding position in `cdcc "flood stats ..."`
268 Fix rm and rmdir complaints from cron-dccd on Solaris reported
269 by Mark Thomas.
270 SUBMIT whiteclnt entries now also turn off DCC Reputation checking.
271 There are better ways to turn off mail from a local SMTP client
272 DCC Reputations.
273 Fix looping whitelisted flooded report bug reported by John L.
274 This bug might be related to crashes complaining
275 "ifp->ibuf_len=-111; fatal error"
276
277 1.3.64
278 Make ./configure and so updatedcc complaints about bad memory sizes
279 warnings instead of fatal errors.
280
281 1.3.63
282 Correct error in `cdcc "flood list"` announced negotiation of DCC
283 Reputations.
284
285 1.3.62
286 Let "option threshold type,val" lines in whiteclnt file accept "all"
287 and "cmn" for "type" as with `dccproc -c` and `dccm -t` and `dccifd -t`.
288 Use yet another scheme in updatedcc to detect download failures that
289 won't force unneeded downloads.
290 Fix dccifd man page about the location of the socket as suggested by
291 Carl Byington.
292 Fix several rare or potential bugs related to broken TCP connections with
293 DCC flooding including one that has caused a core dump.
294
295 1.3.61
296 Fix problems with Sun Studio 12 compilers reported by Rob McMahon.
297 `updatedcc -K` or cron mode is silent when things go ok,
298 or at least less chatty.
299
300 1.3.60
301 Fix confusion in flooding connection accounting.
302 Work around new Fedore Core 6 gcc Fortify buffer over-non-flow bug
303 reported by Joseph Breu by reducing the size of server-to-server
304 messages by 1 byte.
305 Reduce the number of socket() and bind() system calls in dccm and dccifd.
306 Close unused sockets in dccm and dccifd after bursts of mail such
307 as dictionary attacks.
308 Prevent complaints during flooding from between commercial and free
309 versions about bad protocol versions.
310
311 1.3.59
312 Fix crashing in dccifd reported by John M. Crawford.
313 Fix problem in flooding server-ID assertions.
314
315 1.3.58
316 Fix bug in recent versions of `/var/dcc/libexec/dcc-stats-graph -d`
317 reported by Kevin W. Gagel.
318 Deal with multiple A RR answers from DNSBLs such as Spamhaus' ZEN
319 for dccifd, dccproc, and dccm -B.
320 Turn off a "close(socket): Connection reset by peer" message from
321 dccifd in proxy mode when postfix gets anxious and closes early.
322
323 1.3.57
324 Fix bug in libexec/fetchblack adding a local blacklist file
325 reported by Krzysztof Snopek.
326 Make the system host name be the default value of `dccifd -D`
327 so that local user name for per-user logs and whiteclnt files
328 is "user" given SMTP recipient address "user@host.example.com"
329 on the system named user.host.example.
330 Support wildcards so that `dccifd '-D*example.com'` will take
331 "user" as the local name for per-user logs and whiteclnt files
332 vien SMTP recipient address user@host.exaple.com.
333 Fix bug in version 1.3.56 of dbclean in computing the hash table size
334 when upgrading from 1.3.42 reported by Domenico Diacono.
335
336 1,3,56
337 Dccd continues parsing /var/dcc/blacklist after a bad line instead
338 of stopping.
339 Change dcc-stats-graph to not use --alt-y-mrtg with rrdtool version 1.2.
340 Do not save dccd client list when running with -Gon.
341 Dccd continues to inflate queue wait for 5 minutes after flooding
342 resumes so that the database will be good for clients.
343 Add -K to updatedcc for "cron mode" to not install code, restart daemons,
344 or otherwise disturb things by installing the same version.
345 Improve server queue delay measurement when the system is too slow
346 to keep up with incoming floods.
347 Do not use MAXHOSTNAMELEN for domain name lengths because on Linux
348 it is only 64 bytes. This implies a new version of the /var/dcc/map
349 file. Old versions of the file are automatically upgraded, but that
350 implies problems if you install old versions of the DCC client
351 programs.
352 Dccm, dccifd, and dccproc delete all old X-DCC headers instead of only
353 those with the same brand name as the current DCC server to fix
354 problem reported by Frank Tegtmeyer.
355 Fix unrecognized data /var/dcc/dccd_clients message.
356 Improve DCC server hash table size estimation to help servers with
357 1 GByte or less or more than 3 GByte of RAM.
358 Fix "flooding not stopped before ADMN DB UNLOCK" problem reported by
359 Tomasz Potega.
360 dcc-stats-graph no longer labels "Spam Ratio" graphs with '%' because
361 recent versions of rrdtool graph no longer understand "--units %%"
362
363 1.3.55
364 Dccd falls back on foreground DNS resolution of flooding peer names
365 when fork() fails, perhaps because of a lack of swap space.
366 Fix structure alignment bug introduced in 1.3.51/2.3.51 and seen in
367 Solaris on SPARC CPUs using `gcc -O` reported by Stephan Schulz.
368
369 1.3.54
370 Fix bug in proof-of-concept CGI script "LogOut/In" button introduced in
371 1.3.48 on Apache without mod_unique_id.
372 Fix new bug in proof-of-concept list-log CGI script reported by
373 Krzysztof Snopek. It seems that in Solaris`ls -f` does not work on
374 a list of files.
375 Make `dccd -F` the default on Solaris to speed up the DCC server there.
376
377 1.3.53
378 More speed for dbclean on FreeBSD.
379 Fix recent damage to `dccproc -a` and dccproc -f`.
380 Fix -B "name too long" problem reported by Daniel Gehriger and
381 Giulio Cervera.
382 Fix bogus mail rejection by dccifd in proxy mode reported by
383 Daniel Gehriger.
384 Reduce BIND timeout for each lookup to whatever remains of the
385 -Bset:url-secs=X limit.
386
387 1.3.52
388 Fix bug in updatedcc found and diagnosed by Asgeir.
389 Speed up dbclean on FreeBSD.
390
391 1.3.51
392 Fix recently added bug with greylisting in dccifd reported by
393 Daniel Gehriger.
394 Fix database corruption bug in `dccd -F` added in version 1.3.49.
395 Fix bugs in queue delay reported by DCC servers to anonymous clients.
396 This change is important for the public DCC servers.
397 What the nightly cron job, /var/dcc/libexec/cron-dccd, to try to
398 restart dccd if it is not running but is turned on.
399 Include anonymous client queue delay in `cdcc stats` queue delay report.
400 Close hole that allowed deleting or adding hosts in /var/dcc/maps.
401 Reduce minimum default reduced dbclean expiriation durations to
402 1 hour and 1 day from 2 hours and 2 days to help systems with
403 1 GByte or less RAM.
404 Change cgi-bin/webuser-notify to use sendmail and include a
405 "Precedence: bulk" header so that the vacation program won't
406 respond to the CGI cron script's mail messages.
407 Change cgi-bin/webuser-notify to handle per-user log subdirectories
408 generated by "option log-subdirectory-*" in whiteclnt files.
409
410 1.3.50
411 Fix client random selection of public DCC servers.
412 /var/dcc/blacklist also affects flooding peers.
413
414 1.3.49
415 Change dbclean to use a dccd optimization and be faster on FreeBSD
416 systems that have less that 4 GByte of RAM.
417 Set the GID of dccifd, dccm, and dccproc log files and subdirectory
418 to be the same as the parent directory if running as root and
419 if necessary.
420 Possibly fix pthread_mutex_lock(user_log) bug on MaxOS X reported by
421 Steve Martin.
422
423 1.3.48
424 Turn off automatic generation of 64-bit DCC servers.
425
426 1.3.47
427 Remove support for external filters as part of the fix for the
428 thundering herd problem in `dccm -B` reported by Gary Mills.
429 Check NS IP addresses in DNS blacklists (DNSBLs) before MX IP addresses
430 for dccproc, dccifd, and dccm -B.
431 Fix `dccm -tsubstitute...` problem reported by Ludger Bolmerg-Berliner
432 Try to compile for 64-bit pointers on Solaris to use more than 2 GBytes
433 if available.
434 Significantly improve speed on large FreeBSD DCC servers.
435 Make dbclean automatic -e/-E adjustments much more stable to
436 significantly help DCC servers on Mondays and Tuesdays.
437 Fix bad Body and missing Fuz1 and Fuz2 checksums for dccifd and dccm
438 when previous messages had bad MIME encapsulation reported by
439 Gary Mills and Harel Tassa.
440
441 1.3.46
442 Do not greylist mail from SMTP submission clients marked by
443 "submit IP" lines in /var/dcc/whiteclnt.
444 Stop race with idle DNSBL helper processes.
445 More adjustments to help deal with large databases.
446 Deal with ./configure problem with BIND resolver on some versions
447 of Linux reported by Daniel Gehriger.
448 Change header checksums to ignore all instead of only some occurrences
449 characters matching [<>'"]
450 Dccm uses SMFIP_RCPT_REJ in sendmail 8.14 to detect dictionary attacks
451 and adjust the DCC Reputation of attackers.
452 Fix a very rare infinite loop in the MIME decoding code in DCC clients.
453 Add "option log-subdirectory-{day,hour,minute}" to whiteclnt files
454 to create per-user log files in subdirectories like the subdirectories
455 used for /var/dcc/log with dccm, dccifd, and dccproc -l.
456 Detect too-small file size resource limits in dccd and dbclean.
457 Compile with -D_FILE_OFFSET_BITS=64 on Linux as suggested by
458 Dmitry Konovalov.
459 Compile with -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 as advised by
460 James Carlson.
461 Add dccm and dccifd -Bset:maxjobs=X
462 Suppress ENOENT errors from recvmsg() on Tru64-UNIX observed by
463 Alberto D'Ambrosio.
464 Fix printf(null) crash in dccifd acting as a proxy for CommuniGate
465 reported by Charles Chappell.
466
467 1.3.45
468 Fix memory leak in dccm and dccifd when DNSBLs (-B) are used.
469 Improve performance on current UNIX-like systems that have madvise()
470 with large DCC server databases.
471 Mention the "incompatible whitelists" message in the FAQ.
472
473 1.3.44
474 Remove some quoting in homedir/Makefile to try to work around Linux
475 "improvements."
476
477 1.3.43
478 Make "option forced-discard-nok" in /var/dcc/whiteclnt the default for
479 dccm as well as dccifd in proxy mode.
480 Add whiteclnt type of IP address entry "submit".
481 It is intended to be applied to the IP addresses of SMTP submission
482 clients such as web browsers that cannot tolerate 4yz temporary
483 rejections of mail, but that cannot be trusted to not send spam.
484 Let body and reputation checksum thresholds be set in the global and
485 per-user whiteclnt files. "Never" is a valid threshold and turns
486 off rejections for a checksum.
487 Overhaul proof of concept per-user whiteclnt CGI scripts to handle
488 per-user checksum thresholds.
489 Rationalize /var/dcc/libexec/dcc-stats-graph -tTITLE
490 Fix bugs with -eNEVER and -Enever in dbclean.
491 Add "submit" to "mx" and "mxdcc" values for IP addresses whiteclnt files
492 to mark SMTP clients that are submitting new messages and that
493 do not understand 4yz rejections for individual recipients.
494 Fix dccifd crash on bogus long recipient names diagnosed by Tomasz Potega.
495 /var/dcc/libexec/fetchblack is not as noisy when the sources of the
496 public DCC server blacklist are down for long periods.
497 Limit the database window to less than 2 GBytes on all 32-bit systems
498 including Solaris. Previous versions assumed that Solaris would
499 do the right thing if it allowed large files.
500 Fix bugs in the "skipping asking DCC server" mechanism that made it
501 too forgiving.
502 Remove the `dccd -t` thresholds in favor of simple constants.
503 Dccm, dccifd, and dccproc now emit X-DCC headers for locally white-
504 and blacklisted messages even when no DCC server responds.
505 Automatically compensate for incompatibility in newer versions of
506 rrdtool.
507 Prefer poll() to select() on Linux.
508 Increase the computed limit on `dccm -j` by not dedicating two FDs
509 to each thread for per-user log files but instead doing some locking.
510
511 1.3.42
512 Correct wrong count of `cdcc "clients -i 10.11.12.13"`
513 Change rcDCC.in back to allow the use of /var/run for PID files.
514
515 1.3.41
516 Finally fix ancient missing quote in start-dccm.
517
518 1.3.40
519 Make bad password-IDs in /var/dcc/flod a serious error that is reported
520 even when tracing is off.
521 Fix missing ';;' in libexec/logger as suggested by James Carlson.
522 Restore `start-dccm -c` that was removed from version 1.3.39 with the
523 mistaken idea that -c was not in use.
524 Fix bug counting clients of public DCC servers introduced in 1.3.39.
525 Adding -d to DCCD_ARGS or GREY_DCCD_ARGS causes dccd to say how it
526 determines the size of available memory.
527 Deal with sysctl(HW_PHYSMEM) on amd64 FreeBSD 6.* need for an 8-byte value
528 without breaking sysctl(HW_PHYSMEM) on FreeBSD 5.* that demands a
529 4-byte value.
530 Allow databases larger than 3 GBytes on 64-bit systems.
531
532 1.3.39
533 Fix bug that caused `cdcc "clients -V"` to sometimes report version
534 numbers of '?'.
535 Change dccd to prefer recycling an old, almost idle client rate-limiting
536 block instead of the oldest block.
537 Modify /var/dcc/libexec/list-clients based on a suggestion from Chris Myers.
538
539 1.3.38
540 Add `cdcc "clients x.y.z.w/p"`
541
542 1.3.37
543 Fix problems in /var/dcc/libexec/list-clients and with `cdcc clients`
544 with IPv6 addresses reported by Vincent Schonau.
545
546 1.3.36
547 Fix bad ./configure check to see if `xargs` needs and can use -r
548 reported by Mark Thomas.
549
550 1.3.35
551 Fix dccm crash reported by John Doherty.
552
553 1.3.34
554 Fix bug in `make install` on Solaris introduced in 1.3.33.
555
556 1.3.33
557 Work around change to `sort` collating sequence in Fedore Cort 5 reported
558 by Jakob Hirsch.
559
560 1.3.32
561 Fix dccd crash as suggested by Wolfgang Breyha.
562 Do not try to stat() missing whiteclnt files more often than once every
563 5 seconds. This should significantly reduce the number of stat()
564 system calls on busy systems using dccifd and SpamAssassin.
565 Fix some problems with determining the mail sender through MX forwarders
566 for second and subsequent mail messages in an SMTP session.
567 Recognize some more qmail variations of Received headers for obtaining
568 IP addresses.
569 Add `cdcc "clients -V"`.
570 Optionally in dccm and by default in dccifd in proxy mode temporarily
571 reject SMTP recipients that might be forced to have spam discarded
572 instead of rejected because it must be delivered to other
573 recipients.
574
575 1.3.31
576 Mention /var/dcc/libexec/uninstalldcc in the installation instructions.
577 Change dccm and dccifd per-user log message for mail that is now being
578 accepted after being temporarily rejected for some other recipient
579 to "accept after greylist embargo" from "accept", as requested by
580 Spike Ilacqua.
581 Fix failure to reset "continue not asking" counter problem reported
582 by Breno Moiana.
583 Reduce default value of `dbclean -e` from 2 days to 1.
584 Modify error messages to try to find some clues about the Solaris
585 "deadlock avoided" problem.
586
587 1.3.30
588 Fix leak in dccd blacklist.
589 Change client-server protocol so that `cdcc clients` gets more than
590 16 bits of NOP counts.
591 updatedcc and fetchblack try two FTP and HTTP servers.
592 do not use stdio to parse whiteclnt files to deal with Solaris'
593 255 limit on stdio file descriptors.
594 add /var/dcc/libexec/uninstalldcc
595
596 1.3.29
597 Fix dblist.c compiling problem in 1.3.28 on some versions of
598 Linux reported by Thomas Schwanhaeuser and Nigel Horne.
599
600 1.3.28
601 Turn off use of futimes() on Linux to resolve bug diagnosed by
602 Wolfgang Breyha.
603 Fix two locking problems dccm and dccifd that might cause the crashes
604 reported by Gary Mills.
605 Reduce dccifd and dccm thread stack size.
606 Fix bug that kept some DCC Reputations from being compressed in
607 the database.
608 Change the default DCC Reputation rejection message to the equivalent of
609 -r '%s bad reputation; see http://commercial-dcc.rhyolite.com/cgi-bin/reps.cgi?tgt=%s'
610
611 1.3.27
612 Fix an odd case where flooding connections between DCC servers were
613 not being shut down. I think it only happened when a firewall
614 or something else systematically filtered TCP FINs.
615 Use setresgid() for setegid() on HP-UX to fix problem reported by
616 Giacomo Fazio.
617
618 1.3.26
619 Compression reputation reports from the same week instead of from
620 the same half day. This significantly reduces the size of the
621 database on systems using DCC Reputations.
622 Restore the flood rate limiting based on TCP windows, but now just
623 ignore the bogus EAGAIN complaints from some versions of Solaris.
624 Fix server whitelists broken in 1.3.21.
625
626 1.3.25
627 Fix dccproc crash when given a bogus env_From value diagnosed by
628 Jeff Mincy.
629 Fix greylist triple checksum in dccm and dccifd log files.
630 Fix the default expiration of DCC Reputation checksums at 30 days and
631 2 days unaffected by the system's amount of RAM.
632 Expire FUZ1 checksums in reports that also have FUZ2 checksums. This
633 significantly reduces the size of the DCC server database.
634 Remove new flood output rate limit using SO_SNDBUF because it causes some
635 versions of Solaris to generate persistent EAGAIN errors for send().
636 Fix at least some of the dccifd memory leak reported by Chris Mikkelson.
637 It may be the same as the leak reported by Gunther Richter.
638 Limit worst case DCC client delays exclusive of delays caused by waiting
639 for DNS blacklists or external filters are limited to about 16 seconds.
640
641 1.3.24
642 Dccproc starts dccifd after 500 uses at least as fast as 0.1/second.
643 With luck SpamAssassin will notice and switch to dccifd.
644 Look for libsmutil.a in /usr/lib on Linx for old RedHat
645 as suggested by Jason Balicki.
646 Fix X-DCC header misplaced by dccproc reported by James McNutt.
647
648 1.3.23
649 Fix bug in dccm, dccproc, and dccifd that tripled effective DCC target
650 counts on messages being retransmitted after greylisting. I
651 introduced this bug in version 1.3.21, which was released 3 days ago.
652
653 1.3.22
654 Fix "POSSIBLE ATTACK" complaint from sendmail about trailing '\n'
655 on headers added by dccm reported by Paul Ganci.
656
657 1.3.21
658 Add a crude cache or database to the proof-of-concept scripts in
659 cgi-bin/common to speed them up on large log directories.
660 The goal is to handle log directories with 40,000 files within a
661 second or two. The caches files are built incrementally.
662 Invert the sort order of list-log in cgi scripts.
663 This change to cgi-bin/common should be upward compatible because
664 it is controlled by additional parameters to the Perl functions.
665 Complain about contradictory or ignored entries in whitelists, including
666 "from" checksums that are normally ignored in server whitelists.
667 Fix dccd craziness with gre (or any) interfaces with the same IP addresses
668 as other interfaces observed Craig Green.
669 Fix infinite loop in dccproc triggered by a To: header of more than
670 20480 bytes and with a '\n' character in byte #20478 observed by
671 James McNutt.
672 Ignore a few failures by select() apparently caused by SOCKS libraries.
673 Increase default DNSBL timeouts to -Bset:msg-secs=40 and -BURL-secs=11
674
675 1.3.20
676 Fix dbclean expiration of reputation checksums
677
678 1.3.19
679 Changed the midnight dccm and dccifd system log message to disclose
680 spam passed from whiteclnt-listed MX servers.
681 MX servers should now be listed in /var/dcc/whiteclnt with lines like:
682 mx ip 10.2.3.4
683 mx ip 10.5.6.0/28
684 mxdcc ip 10.7.8.9
685 "MX" marks the IP address of one of your mail systems that should
686 be ignored in initial Received: headers and when reported by
687 sendmail to dccm. "MXDCC" marks IP addresss of your mail systems
688 that run DCC clients and that will have already reported mail
689 to the DCC. Continue using "OK" whitelist entries for mail systems
690 that you trust to never send or forward unsolicited bulk email.
691 Allow custom DNS blacklist SMTP rejection messages. See
692 -Bset:rej-msg=X in the dccifd and dccm man pages.
693
694 1.3.18
695 Fix `dccm -aIGNORE` crash reported by Juergen Georgi.
696 Fix detection of duplicates reputation reports.
697 Initial support for "mx ip" entries in whiteclnt files.
698 Fix compression by dccd of delayed reputation reports.
699
700 1.3.17
701 People have broken wget by changing the old "--non-verbose" to
702 "--no-verbose". That would have ok, except they do not understand
703 what they were doing enough to support the old form. Reportedly
704 "-nv" works on both versions.
705 `cdcc stats` on DCC Reputation servers includes an additional line
706 about reputation results.
707 Adjust logged reason when spam is ignored after greylist as suggested
708 by Spike Ilacqua.
709 Replace `dccproc -R` with `dccproc -r N` (Of course, `dccproc -R`
710 is still recognized.)
711
712 1.3.16
713 Fix bug introduced in 1.3.15 that caused greylist retransmissions
714 to be counted by the DCC server as separate messages contributing
715 to the "bulkness" of a message.
716 If /var/dcc/log is neither readable nor searchable by 'other', then
717 create log files with the same 'group' permissions as the directory
718 instead of the old default of 600. This allows the application of
719 cgi scripts to the main whiteclnt and log files.
720 `dccd -T ALL` no longer works. It never made much sense and continues
721 to cause confusion.
722 Dccifd in proxy mode no longer requires blanks after colons in SMTP
723 commands. Problem reported by Martin Pala.
724 Fix dccifd proxy mode crash on mail messages without bodies reported
725 by Martin Pala.
726 Complain about bad host name and other errors in whiteclnt files
727 every 30 minutes instead of every 5 minutes.
728 Allow whiteclnt files to be read-only with a new locking scheme.
729 Use Milter.macros.eom in sendmail 8.13 so that the ${dcc_isspam}, and
730 ${dcc_notspam}, ${dcc_userdir} macros can be set by sendmail.cf
731 rules that examin headers. This might also allow some hack_mc
732 settings to be used with delay_checks.
733 As suggested with discussions with Martin Pala, the thresholds for
734 quick flooding among servers are now non-linear.
735
736 1.3.15
737 When "option MTA-first" in a dccm and dccifd whiteclnt file, determinations
738 of (not) spam by the MTA are consulted first and so can be overidden
739 by the whiteclnt files. This allows individual users to override a
740 sendmail access.db file.
741 Correct the SMTP rejection message in per-user log files for dccm and
742 dccifd, especially when dccifd is acting as a proxy.
743 Fix bug reported by James Carlson that kept./configure from turning
744 on SOCKS.
745
746 1.3.14
747 Keep dccd flooding threshold at or above 10.
748
749 1.3.13
750 Make default maximum server memory size 2000 MByte on all except IRIX
751 and Solaris.
752 Fix bug in 1.3.12 that causes dccd flooding thresholds to be 0 if
753 dccd is started by hand or without a dccm rejection threshold.
754
755 1.3.12
756 Fix packaging error in 1.3.11.
757
758 1.3.11
759 Dccproc should complain if the -w whiteclnt file is bad.
760 misc/dcc.m4 can add a sendmail.cf rule that assigns a single
761 whiteclnt file and log directory to mail forwarded to another system.
762 With that the cgi-bin scripts can be used to control dccm for
763 mail forwarded to another system with a single web user.
764
765 1.3.10
766 Delete "message" checksum in greylist database when spam causes
767 an embargo to be restored. This fixes some counts after a
768 greylist whitelisting has been revoked.
769 Make the default owner and group for files be root:wheel on FreeBSD
770 As always, use the DCC_OWN and DCC_GRP environment variables with
771 `make install` or updatedcc -e to override those defaults.
772
773 1.3.9
774 Dccifd and dccproc treat the bogus SMTP client IP address of 0.0.0.0
775 from SpamAssassin as if it were absent, which allows it to look in
776 in Received headers.
777 Add "rcvd-nxt" option to the dccifd MTA protocol to parse later
778 Received: headers.
779
780 1.3.8
781 Repair greylisting broken in 1.3.7.
782
783 1.3.7
784 Log files now say "Restore #x" instead of "Embargo #x" when a greylist
785 embargo is restored because the message is spam.
786 Don't use -a with `fetch` in updatedcc, fetchblack, and
787 fetch testmsg-whitelist because it does not know when to stop trying
788 to reach a dead FTP server.
789 Add "any" to dccm, dccifd, and dccproc -B DNSBL result address as
790 suggested by Giulio Cervera.
791
792 1.3.6
793 Try to deal with UNIX kernel problems cause bogus failures of mmap().
794 Fix bug related to --disable-dccifd reported by Krzysztof Snopek.
795 Stop relying on `su - -c` to start daemons as requested by Dean Hollister.
796 Fix server-ID mapping in /var/dcc/flod to use the first relevant mapping
797 as the documentation says instead of the last one.
798 Fix recent bug in cron-dccd that stopped emptying client per-user log
799 directories.
800
801 1.3.5
802 Untangle `dccd -a` as well as local host name and IPv4 vs. IPv6 options
803 in /var/dcc/flod
804 Fix automatic /var/tmp/map file upgrading for Windows.
805 Actually c:\\program files\dcc\map
806 Improve dccd work-around for missing /var/dcc/libexec/cron-dccd cron job
807 on memory-short DCC servers. This still not a substitute for the
808 cron job. *USE THE CRON JOB*.
809 Repair dccifd and dccm midnight log entry bug reported
810 by Christopher Bodenstein.
811 Fix recent bug in cron-dccd that stopped emptying /var/dcc/log.
812
813 1.3.4
814 Fix another dccm, dccifd, and dccproc bug related to bogus long
815 URLs from a core dump on Spike Ilacqua's system.
816 Fix installroot homedir/Makefile as suggested by Pavel Urban and Paul Ganci.
817 Add `cdcc "src x.y.z.w" to help DCC clients navigate firewalls.
818 This change requires a change in the format of the /var/dcc/map file.
819 However, the DCC clients should all automatically and invisibly
820 upgrade old files.
821 Fix `dccd -a` bug reported by John Levine.`
822
823 1.3.3
824 Work around bogus use of "::" in line 184 of /usr/share/mk/bsd.lib.mk"
825 in ancient FreeBSD as reported by Lento Yip.
826
827 1.3.2
828 Improve logging of failures by external filters.
829 Fix new use of pstat_getstatic() on HP-UX to obtain physical memory size.
830
831 1.3.1
832 Allow dccproc, dccm, and dccifd to use an external filter. See the
833 ./configure --with-xfltr=FILE --with-xfltr-cflags=opt and
834 --with-xfltr-ldflags=opt, the discussion of -X in the man pages,
835 and the toy filter in thrlib/xfltr_sample.c.
836 See also /var/dcc/dcc_conf-new
837 Automatically decrease the number of DNS blacklist helper processes for
838 dccm and dccifd when fewer are needed.
839 Use pstat_getstatic() on HP-UX to determine the size of physical memory.
840 Dccifd refuses to run on HP-UX 11.00 to keep SpamAssassin from stalling
841 while dccifd cannot hear.
842
843 1.3.0
844 New license.
845 cron-dccd tells dbclean -6 if needed.
846 Treat EHOSTUNREACH or "No route to host" like ECONNREFUSED in DCC
847 clients and do not complain about every instance.
848 Deal better with DCC servers with floppy multi-homing such as behind
849 some NAT boxes.
850 Deal more gracefully with Linux systems without IPv6 support but
851 with `cdcc "IPv6 on"`.
852 Fix crash in dccm, dccifd, and dccproc while computing FUZ2 checksum on
853 URLs with very long host names in HTML mail messages.
854 Fix dccifd missing SMTP reply code in dccifd rejections in proxy mode.
855 `dccifd -ddd` logs SMTP transactions in proxy mode.
856 Dccifd man page has example -o configuration for use as a Postfix
857 before-queue filter.
858 Restart dccm and dccifd after core dumps.
859
860 1.2.74
861 Make clients prefer real IPv6 address to embedded or mapped IPv4
862 addresses.
863
864 1.2.73
865 Fix crash in dccsight as suggested by Vincent Schonau.
866 Fix handling of log files for senders without reverse DNS in
867 cgi-bin/common as suggested by Vincent Schonau.
868 Add IPv4 and IPv6 o-opts to /var/dcc/flod lines to deal with the change
869 in the default from "YES" to "NO" in the FreeBSD ipv6_ipv4mapping
870
871 1.2.72
872 Do not make DNS blacklist checks if the MTA already knows the message
873 is or is not spam.
874 Add -lresolv to $LIBS for Mac OS X Darwin as suggested by Joel Brogniart.
875 Change DNS blacklist checking to check MX servers as well.
876 Add -B settings to control which DNS blacklists are used for the envelope
877 or body, and whether MX servers should be checked.
878 SIGUSR1 causes dccm and dccifd to send their statistics to the system log.
879 Use getaddrinfo() and getnameinfo() when getipnodebyname() and
880 getipnodebyaddr() are not available. This might make IPv6 work
881 on Linux systems.
882 Note that to make dccd listen to IPv6, -6 must be added to DCCD_ARGS
883 and GREY_DCCD_ARGS in /var/dcc/dcc_conf. This requirement has long
884 been present to defend against systems that only pretend to
885 understand IPv6. Perhaps it is time to remove it.
886 Add `dccifd -o` to use a subset of ESMTP so that dccifd can be used
887 as a "before-queue" filter or SMTP proxy by Postifx.
888 Probably fix a rare dccm and dccifd crash.
889
890 1.2.71
891 Fix stray greylist queries reported by Vincent Schonau.
892 Fix conflict between checking DCC and greylist servers on Linux
893 reported by Vincent Schonau.
894
895 1.2.70
896 Turn on IP TOS bits for DCC server-to-server flooding.
897 Add -B to dccproc, dccm, and dccifd to consult DNS blacklists.
898 This feature and greylisting are valuable supplements
899 to DCC target counting. However, greylisting is generally
900 significantly better where greylisting can be used. Most
901 dccproc and many dccifd installations cannot use greylisting.
902
903 1.2.69
904 Add `misc/hackmc -r` like -R but to reject instead of discard bad
905 relay attempts.
906 Fix bogus X-DCC header added after a fatal problem with the DCC server
907 as suggested by Harald Daeubler.
908 Release a single tarball equivalent to the old dcc-dccd-*.tar.Z that
909 contained the DCC server and all clients.
910
911 1.2.68
912 Fix counting of blacklisted DCC clients by dccd.
913
914 1.2.67
915 Remove bonehead optimization in dccd of /var/dcc/blacklist in 1.2.66.
916 Deal with stdargs in gcc 3.4 on AMD 64-bit systems that do not allow
917 a va_list arg to be passed to two different subfunctions, but
918 without breaking things on the many systems that lack va_copy().
919
920 1.2.66
921 Overhaul dccd rate-limiting. Instead of imposing a penalty time
922 on overactive clients, simply rate-limit them.
923 Reduce limit on dccd error messages about clients from 2/second to
924 0.1/second.
925
926 1.2.65
927 Fix accounting of NOPs from blacklisted clients.
928 Fix race that caused "??" server-IDs in X-DCC headers.
929 Do not count requests from blacklisted clients against the rate limits
930 as suggested by Sven Willenberger.
931
932 1.2.64
933 Correct ">XXXX clients" from `cdcc stats`
934 Removed redundant declarations of mapfile_nm and rl_anon as
935 suggested by Andreas Jochens.
936
937 1.2.63
938 Possibly fix dccm crash reported by Ludger Bolmerg.
939
940 1.2.62
941 Fix bug in `dccd -a10.2.3.4` diagnosed by John Levine.
942
943 1.2.61
944 Fix file descriptor leak in getifaddrs() replacement.
945
946 1.2.60
947 Fix bug reported by John Levine on systems such as BSD/OS 4.3
948 without getifaddrs() introduced in 1.2.59 with tracking changes
949 in network interfaces.
950
951 1.2.59
952 Fix broken `dccd -G0` reported and diagnosed by Chris Mikkelson.
953 Track changes in network interfaces on most modern flavors of UNIX
954 as suggested by James Carlson.
955 Fix two MIME decoding bugs as suggested by George Schlossnagle.
956 Treat '>' as a blank instead of punctuation for FUZ2 checksums.
957 Don't re-use va_list in stdargs functions to work around a characteristic
958 of gcc for AMD 64 bit systems. gcc 64-bit stdargs
959 reportedly passes va_list by reference instead of by value.
960 Fix date labels in graphs generated by dcc-stats-graph as suggested by
961 Kevin Gagel.
962
963 1.2.58
964 Work around new bug in FreeBSD 4.10 mechanism to disconnect UDP
965 sockets reported by Daniel V Klein. The symptom of the bug is
966 that DCC servers appear down to clients running on FreeBSD 4.10
967
968 1.2.57
969 Invoke WSACleanup() after using WSAStartup() on Windows systems
970 as suggested by Carl Stehle.
971
972 1.2.56
973 Fix /var/dcc/ids delay= extension.
974
975 1.2.55
976 Add `./configure --with-max-db-mem=X` to limit the size of the
977 database window.
978 Extend /var/dcc/ids format to allow authenticated clients to be delayed
979 as `dccd -U` delays anonymous clients.
980 Add `./configure --with-kludge=FILE`.
981
982 1.2.54
983 Fix problem with flooding among greylist servers using `dccd -Gweak-IP`
984 reported by Valentin Chopov.
985
986 1.2.53
987 Restore `dccsight -G grey-cksum` because the proof-of-concept CGI
988 scripts use it.
989 On OS X, use owner and group of daemon:daemon for programs and use
990 dccmaninstall in `make install` as suggested by Jason Schwarz.
991
992 1.2.52
993 Fix problem in start-dccm and start-dccifd with Solaris /bin/sh
994 reported by Gary Mills
995 Work around bug in OpenBSD HTONL() and NTOHL() reported by Jeff Drinkert.
996 Change wlist to rebuild the .dccw hash table unless given -Q.
997
998 1.2.51
999 Fix cause of "packet length 44 too small" complaints by DCC servers.
1000 With an empty mail body and no useful headers, DCC clients were
1001 sending empty requests to DCC servers.
1002 Add `cdcc "debug TTL=x"` to help find firewalls that filter DCC requests.
1003 Use shared libmilter.so in dccm as suggested by James Carlson.
1004 Fix Body checksum when MIME boundary crosses buffer boundary from
1005 Richard Lyons.
1006 Stop crash in dccm reported by Krzysztof Snopek.
1007 Deprecate misc/dccdnsbl.m4 and change misc/hackmc to work with
1008 FEATURE(dnsbl) and FEATURE(endnsbl) in modern sendmail.
1009 Make it compile on Mac OS X and DragonFly FreeBSD.
1010 Reduce the size of greylisting databases.
1011 Separate DCC query mode for dccm and dccifd from greylist query mode.
1012 Add `dccd -G weak-IP` to whitelist not only a {sender,target,IP address}
1013 after passing the greylist embargo, but anything from the IP address.
1014 Use this facility with caution; it might be a bad idea.
1015
1016 The last change requires that all greylist clients and servers
1017 be upgraded simultaneously.
1018
1019 1.2.50
1020 Fix `dccifd lhost,lport,rhost/bits` on systems that have IPv6.
1021 Change homedir/make-dcc_conf to track changes in
1022 `./configure --with-rundir=x --libexecdir=y`
1023 as suggested by Josef T. Burger. This change will not be effective
1024 until upgrading from 1.2.50 to later versions.
1025 Deal with tiny FD_SETSIZE reported by Christian Becker.
1026 Fix dccifd, dccm, and dccproc core-dump caused by missing whiteclnt file
1027 reported by Henrik Edlund.
1028
1029 1.2.49
1030 Fix infinite loop in computing DCC clients computing checksums of
1031 large, deeply nested MIME messages reported by Clive Cleland.
1032
1033 1.2.48
1034 Add "option dcc-off" and "option dcc-on" to per-user whitelist files
1035 as suggested by Spike Ilacqua.
1036 Make /var/dcc/libexec/fetch-testmsg-whitelist deal with cron processes
1037 that set $PATH without /usr/local/bin
1038
1039 1.2.46
1040 Fix infinite packet flood from DCC clients including dccproc observed
1041 by Benji Spencer, Clive Cleland, and Andrew Kent. I introduced
1042 this serious bug with the WIN32 changes in 1.2.33.
1043 Fix "option greylist-off" bug introduced in 1.2.39 and reported by
1044 Spike Ilacqua.
1045 Defend dccd against too many clients.
1046
1047 1.2.45
1048 Fix dccd database "window" size computation bug that chose 3 GBytes
1049 on systems with less than 512 MByte.
1050 Fix `cdcc "stats all"` to use the right host name from Leandro Santi.
1051 Increase `dccd -R` default rate limits for all anonymous clients
1052 and for individual authenticated clients..
1053 updatedcc understands -V x.y.z unless no old version x.y.z is available.
1054
1055 1.2.44
1056 Fix bug in dbclean -e and -E default reductions that made them 50% less
1057 instead of more conservative compared to 1.2.39.
1058 Speed up dbclean on systems with mmap(MAP_ANON).
1059 Clean some uninitialize variable complaints from purify reported by
1060 Praveen Nimmagadda.
1061 Minor adjustments to deal with Solaris's VM system.
1062
1063 1.2.43
1064 Fix typo in -e and -E default reductions.
1065
1066 1.2.42
1067 More adjustments to deal with Solaris's VM system.
1068 Use all except 384 MByte of physical memory on systems with more than
1069 768 MByte. On systems with 768 MByte or less, use half.
1070 Tweak WIN32 makefiles.
1071
1072 1.2.41
1073 Restore TZ in update/misc after setting it to GMT to keep the
1074 Solaris FTP from going crazy.
1075
1076 1.2.40
1077 Include win32.makin2 that was missing from 1.2.39.
1078 Do not respond to clients when the database is broken to ensure that
1079 they switch to another server.
1080 Add missing "option greylist-on" support to cgi-bin/edit-whiteclnt
1081 Remove DCC_PROTO_HOMEDIR support for building RPM or other packages
1082 and add `./configure --installroot=DIR`
1083 Adjust threshold for `dbclean -F` to keep Solaris systems from spending
1084 hours in dbclean.
1085 Add `dbclean -f` to turn off default `dbclean -F` on Solaris for
1086 installations where the file system has been tuned for the
1087 large, randomly accessed file that is a DCC database.
1088
1089 1.2.39
1090 Suppress syslog messages from cdcc noted by Krzysztof Snopek.
1091 Suppress complaints about madvise(MADV_WILLNEED).
1092 Tweak WIN32 porting aids.
1093
1094 1.2.38
1095 Turn off the use of madvise(MADV_WILLNEED) on systems such as BSD/OS
1096 that claim to have it but don't.
1097 -Gweak did not in 1.2.37 work as reported by Valentin Chopov.
1098
1099 1.2.37
1100 Tweak WIN32 #ifdefs.
1101 Change -G for dccm and dccifd to require -Gon. Add kludges in
1102 start-dccm and start-dccifd to convert the old -G to -Gon.
1103 Add "-G noIP" and '-G IPmask/xx' to ignore all or part of the SMTP
1104 client IP address in the greylist triple.
1105 `dblist -G` no longer works. Use `dbclist -Gon`
1106 Fix bug where dbclean increased the number of reasons to stop flooding
1107 by 1 and then decreased it by 2 reported by Bernard Gardner.
1108 Use madvise(WILLNEED) for database buffers on systems with plenty
1109 of RAM as suggested by Robert Milkowski.
1110 Adjust scripts including /var/dcc/libexec/start-dccd to deal with
1111 POSIX compliance of `expr` in FreeBSD 5.1.
1112 Change FUZ2 checksum to know about Polish.
1113
1114 1.2.36
1115 Fix updatedcc for systems that have only make in $PATH but where
1116 it is really gmake.
1117
1118 1.2.35
1119 Turn off the use of poll() instead of select() on Linux systems.
1120
1121 1.2.34
1122 Fix bugs in the ./configure mechanisms to use poll() instead of
1123 select() on FreeBSD reported by Valentin Chopov.
1124
1125 1.2.33
1126 Adjust default dbclean expirations based on available RAM and
1127 the size of the database.
1128 Make dcclib, cdcc, and dccproc build for WIN32 with Borland C++ 5.02
1129 or FreeCommandLineTools.exe. The former can use the dcc.ide file
1130 and the latter can use win32.mak.
1131 Fix use of SO_LINGER on Solaris.
1132 More changes to ease compiling cdcc for WIN32.
1133 Possibly fix dccd amnesia about flooding peers.
1134 Use poll() instead of select() on FreeBSD.
1135 Fix updatedcc to use gmake if ./configure insisted.
1136 Entirely remove "--prefix" from ./configure to stop people from
1137 mistakenly assuming that ./configure is what the Free Software
1138 Foundation dictates it should be.
1139 Change /var/dcc/libexec/start-dccd to stop dbclean when dccd starts
1140 and so prevent a deadlock between dbclean and dccd.
1141 Fix problem with updatedcc on systems with only gmake reported by
1142 James Carlson.
1143 Fix problem with large greylist whitelist files reported by John Levine.
1144 Reduce number of write() system calls per operation in dccifd.
1145
1146 1.2.32
1147 Fix corruption of `dccm -U` directory introduced in 1.2.31 and
1148 reported by Spike Ilacqua.
1149
1150 1.2.31
1151 Make all dccd databases "big." If you have not previously used
1152 `./configure --enable-big-db` then when version 1.2.31 of
1153 dccd is started, it will run dbclean to rebuild the database.
1154 This will make the hash table about 9% bigger and so 9% slower.
1155 Make the "ms" units optional for RTT adjustments in `cdcc add` or
1156 `cdcc load` as suggested by Hernan A. Perez Masci.
1157 Add ${dcc_userdir} sendmail.cf macro as suggested by Valentin Chopov.
1158 This lets you use the full power of sendmail.cf rewrite rules
1159 to control per-user whitelist and log directories. See the
1160 dccm man page.
1161 Make `dbclean -F` the default on Solaris systems with plenty of RAM
1162 and automatically turn it off when there is not enough RAM to hold
1163 the entire database.
1164
1165 1.2.30
1166 Let `dccd -C` take arguments for dbclean, so that the following line
1167 in dcc_conf works:
1168 DCCD_ARGS="'-C$DCC_LIBEXEC/dbclean -F'"
1169 Make pthread_detach() failures in dccifd non-fatal.
1170 Add mechanism to cgi-bin/list-msg to whitelist-for-greylisting
1171 (sender,IP-address,recipient) checksums. This mechanism
1172 requires that the 1.2.30 versions of dccd and dccsight be
1173 installed.
1174 Change dccifd to record the message headers in the log file even when
1175 the MTA fails to provide the message body.
1176
1177 1.2.29
1178 FUZ2 checksums character entity references in URLs in HTML.
1179 Insert checksums of greylist triples of whitelisted messages
1180 into the greylist database.
1181 If greylisting is turned on, then include greylist checksums in dccm and
1182 dccifd log files even for whitelisted and blacklist messages.
1183 Dccm and dccifd log some messages that are whitelisted for greylisting
1184 or otherwise not currently embargoed but were in the past.
1185 Change whiteclnt "log all-grey" and "log no-grey" options to
1186 "option greylist-log-off" and "option greylist-log-on".
1187 (Of course the old strings continue to work.)
1188 Add whiteclnt option "option greylist-off" and "option greylist-on"
1189 to control greylisting for greylistig for an individual user.
1190 Note mail in SMTP transactions that involve other users for which
1191 greylisting has not been turned off can still temporarily rejected.
1192 Add "option log-all" log everything for an individual user.
1193 The proof-of-concept CGI scripts handle the new whiteclnt options.
1194 Fix false "many" from dccproc when switching DCC servers reported by
1195 Rutger ter Borg.
1196 Remove 1.2.28 change in the dccd "xx MByte window" message that
1197 displayed the minimum of the physical file size and the mmap() window
1198 size. The message now contains the mmap() window size..
1199 Fix `dccd -FG,` core dump reported by Aleksander Dzierzanowski.
1200 Make "skip asking" in `cdcc info` output a comment as suggested by
1201 Gunther Heintzen.
1202 Speed up flooding among greylist servers.
1203
1204 1.2.28
1205 Reduce the number of msync() system calls, significantly speeding up
1206 dbclean and dccd on FreeBSD.
1207 Fix "window" size computation for dccd and dbclean on systems with
1208 more than 4 GByte of RAM.
1209 Adjust flooding threshold for greylist dccd.
1210 Changed the dccifd man page to say that dccifd looks at the first
1211 Received: header for the sender's IP address if was not provided
1212 by the dccifd client.
1213 Remove the recommendation for whitelisting the Habeas Mark from the
1214 sample dcc_conf file.
1215 Detect bogus -G args reported by Aleksander Dzierzanowski.
1216
1217 1.2.27
1218 Use fsync() and msync() on /var/dcc/flod.map in dccd to try to
1219 get Linux to send the file to the disk.
1220 Use setsockopt(SO_LINGER) to speed shutdown on FreeBSD.
1221
1222 1.2.26
1223 Fix `dccd -F`. Adding -F to DBCLEAN_ARGS in /var/dcc/dcc_conf on
1224 Solaris systems with enough RAM to hold most of the database
1225 can make dbclean twice as fast and reduces its effects on other
1226 processes. Addcing -F to DCCD_ARGS might have similar effects.
1227 The use of MAP_NOSYNC on systems that support it including FreeBSD
1228 reduces the effects of dccd on other processes.
1229
1230 1.2.25
1231 Fiddle with /var/dcc/libexec/dcc-stats-graph.
1232 Add `dccd -F` like `dbclean -F`
1233
1234 1.2.24
1235 Generate /var/dcc/dcc_conf-new whether it is needed or not.
1236 Add `dbclean -F` to work around Solaris performance bugs with large
1237 files and mmap().
1238 Add `dccd -Gweak` to not require a retransmission of the same message
1239 to end a greylist embargo.
1240 Add option "no-reject" to the dccifd-MTA protocol to be similar to
1241 `dccm -aIGNORE` for greylisting while ignoring DCC results.
1242
1243 1.2.22
1244 Fix stray hostnames reported in dccifd log file headers observed by
1245 Chris Mikkelson.
1246 Fix empty dccm syslog complaints seen on Solaris.
1247 Fix core-dump with bogus hostname in whiteclnt file observed by
1248 Joe Ilacqua.
1249 Updatedcc starts to shut down dccd early to avoid problems restarting
1250 it on slow systems at the end.
1251
1252 1.2.21
1253 Fix dbclean every 20 seconds possibly observed by Kelsey Cummings.
1254 Stop frequent running of dbclean from dccd to clean up greylisting records.
1255
1256 1.2.20
1257 Fix cdcc core dump with non-existent /var/dcc/map files.
1258 Change updatedcc to not use "set -e" because some versions of
1259 bash have tantrums if you unset a variable that is not set.
1260
1261 1.2.19
1262 Fix "too many CIDR blocks" problem reported by John Doherty.
1263
1264 1.2.18
1265 Fix infinite loop in dccm reported by Gary Mills. This error might
1266 also have caused dccm to crash. It should affect dccd as well
1267 as the DCC client programs. I introduced it in version 1.2.15.
1268
1269 1.2.17
1270 Fix IP whitelist entries in DCC server databases broken in 1.2.15 and
1271 1.2.16.
1272
1273 1.2.16
1274 Fix bug in libexec/updatedcc with blanks in CFLAGS reported by
1275 Aaron Paetznick. This only fix uses of updatedcc after
1276 1.2.16 has been installed.
1277
1278 1.2.15
1279 Ensure the mtime of /var/dcc/whiteclnt.dccw files changes to stop
1280 endless reparsing on some Linux systems.
1281 Resolve inconsistency in dccproc whitelist vs. -t many noted by
1282 Dawn Endico by making whitelisting always produce an exit code of 0.
1283 Put absolute path on cdcc in misc/stats-get as pointed out by
1284 Kevin Gagel.
1285 Make dccm and dccifd log file size configurable as suggested by
1286 Furlan Campos.
1287 Fix bug reported by Jim Carroll that kept mail from being rejected
1288 when first sent to a spam.
1289 Allow large CIDR blocks to be white- or blacklisted in whiteclnt files.
1290 Fix dccifd -p bug reported by Christopher Bodenstein.
1291 Fix "continue not asking greylist" log message that should be
1292 "continue not asking DCC" reported by Jorg Bielak.
1293 Fix ./configure script in dccproc tarball that was creating a bogus
1294 RUNDIR value for dccifd.
1295 Add `./configure --with-max-log-size=KB` as requested by Furlan Campos.
1296 The proof of concept CGI scripts now
1297 deal with per-user logs for user that receive enough spam that their
1298 log directories have 20,000 entries.
1299 support the per-user greylist log options for whiteclnt files
1300 described in the dcc man page near the description of "include"
1301 support locking of per-user whiteclnt files with a line of
1302 "#webuser locked"
1303 Fix output file data corruption bug reported by Chris Mikkelson.
1304 Change default dccm greylist SMTP status code as suggested by Gary Mills.
1305
1306 1.2.14
1307 Adjust homedir/make-dcc_conf for Solaris as suggested by Gary Mills.
1308
1309 1.2.13
1310 Tweak libexec/updatedcc for Solaris.
1311
1312 1.2.12
1313 Report checksums in greylist embargoed mail to a DCC server while
1314 waiting for the embargo to expire.
1315 Recognize more than 1 GByte of RAM on Solaris systems.
1316 Fix bug in stats-get not counting queries pointed out by Yury Razbegin.
1317 Change the default greylist -G "white" value from 30 to 63 days.
1318 dccm and dccifd now include the greylist triple checksum in per-user
1319 log files.
1320 Fix bugs in dccifd C interface routine pointed out by Stephen Misel.
1321 Fix dccd whitelist bug observed by Gary Mills.
1322 Fix bug in 1.2.8 through 1.2.11 that stops flooding of brand new
1323 reports of bulk mail that is not spam.
1324 Automatically generate /var/dcc/dcc_conf-new from existing dcc_conf
1325 to aid installation of greylisting.
1326
1327 1.2.11
1328 Resume looking for native sendmail milter libraries on more than
1329 FreeBSD.
1330
1331 1.2.10
1332 Fix some compiler warnings on Solaris.
1333 Fix "only 256 open files allowed" message from dccid on Solaris
1334 reported by Turgut Kalfaoglu.
1335 Use poll() instead of select() in dccifd if possible.
1336 Fix error in libexec/start-dccd reported by Valentin Chopov.
1337 Look for native sendmail milter and install man pages on
1338 recent versions of NetBSD as suggested by Josef T. Burger.
1339
1340 1.2.9
1341 Turn off database hash debugging accidentally turned on in 1.2.8.
1342
1343 1.2.8
1344 Fix serious bug in resolving DCC server host names by dccm and dccifd.
1345 Add "temporary" to default greylist rejection messages.
1346 Fix greylisting of null messages.
1347 Add misc/fetch-testmsg-whitelist
1348 Improve compression/suppression of flooded checksums to reduce the
1349 database size and bandwidth requirements 10-50% for DCC servers that
1350 see fewer than 20K DCC ops/day. Tests have produced conflicting
1351 results. The full effects are not seen unless flooding peers
1352 install this version.
1353
1354 1.2.7
1355 Fix greylist flooding problem reported by Valentin Chopov.
1356 Add whitelists to greylist servers as requested by Bobby Rose.
1357 Change `dccm -r` to also set the greylist rejection message and to
1358 optionally interpolate the queue-ID and SMTP client IP address
1359 as requested by Gary Mills.
1360 Fix 1.2.x bug that treated all flooded checksums to a new database
1361 as stale until a local checksum has been added and dbclean run.
1362
1363 1.2.6
1364 Complete the fix for "badly signed NOP response" in the DCC server.
1365 To be effective, the public DCC servers will need to use
1366 version 1.2.6.
1367
1368 1.2.5
1369 Fix "badly signed NOP response" bug diagnosed by Philipp Buehler and
1370 Thorsten Janssen.
1371 Turn off connect() on DCC client UDP sockets for Linux 5.2.
1372 Use sysconf() on Solaris and Linux and sysctl() on BSD systems to
1373 estimate the size of physical memory. This may reduce the need
1374 for `./configure --with-db-memory=X`
1375 Add `./configure --with-DCC-MD5` to use the MD5 code in the DCC source
1376 instead of any local library.
1377 Fix dblcean "repairing" the database because "was [it] not closed cleanly."
1378
1379 1.2.4
1380 Fix core dump in creating X-DCC header as suggested by James Carlson.
1381 Fix dccif.c for `./configure --disable-IPv6` and stats-get for
1382 deleting /dev/null when interrupted as suggested by Yury Razbegin.
1383
1384 1.2.3
1385 Fix leak in greylist server.
1386 Improve some obscure error messages from dccd.
1387 Address IPv6 problem on RedHat 5.2 reported by Darren Nickerson.
1388 Check /proc/meminfo on Linux for hints on real memory size to
1389 work around the Linux mmap() bugs and resulting dccd performance
1390 problems as suggested by Dave Lugo.
1391
1392 1.2.2
1393 Avoid `chown` in start-dccm and start-dccd.
1394 Fix stop-dccd as noted by Michael Ghens.
1395 Add greylist installation instructions to INSTALL.html and INSTALL.txt.
1396
1397 1.2.1
1398 Fix typo in default map.txt noted by Michael Ghens.
1399 Fix undetected hash table size overflow noted by Leandro Santi.
1400 Fix "BRAND" error in start-dccd.
1401 Fix inflation of target counts on greylisted messages.
1402 Dccd is off in the default dcc_conf.
1403 Reduce default greylist embargo to 4.5 minutes.
1404
1405 1.2.0
1406 Many changes to support a form of Greylisting.
1407 See http://projects.puremagic.com/greylisting/
1408 and the dccd and dccm man pages. Greylisting is probably not
1409 ready for prime time in 1.2.0.
1410 Change flod.map file format to allow `cdcc "flood stats 123"` to say
1411 "not connected since" as suggested by by James Carlson.
1412 Fix bogus "overwriting existing entry" error message noted by
1413 Dallas Engelken.
1414 As suggested by Leandro Santi, prevent false alarms about bogus packets
1415 received by DCC clients.
1416 Improve 24-hour averaging of client operations by dccd.
1417 Fixes to dccd/rl.c from Leandro Santi.
1418
1419 1.1.45
1420 Fix error in sample homedir/map.txt file.
1421 Fix problem in starting flooding.
1422 Fix error in misc/dcc-stats-init.
1423
1424 1.1.44
1425 Fix core dump observed by Stephen Misel.
1426 Suppress error message from rcDCC and start-dccm when dccm is not
1427 installed as noted by Kevin Gagel.
1428
1429 1.1.43
1430 Fix core dump reported by James Carlson.
1431
1432 1.1.42
1433 Fix dbclean progress reporting bug noted by Vladimir Samoilov.
1434 Improve misc/na-spam to catch another kind of quote leader.
1435 Drop anonymous requests that would be delayed by more than the maximum
1436 possible RTT.
1437 Add application layer keepalives to flooding.
1438
1439 1.1.41
1440 Sort IP addresses in `cdcc rtt`.
1441 Improve response of the client code to broken servers.
1442
1443 1.1.40
1444 Adjust client failure "fail_more()" backoff mechanism.
1445 Add commas to misc/dcc.m4 as suggesed by Spike Ilacqua.
1446
1447 1.1.39
1448 Fix missing changes to dcc.m4.
1449
1450 1.1.38
1451 Fix `make install` file ownership as noted by Gary Mills.
1452
1453 1.1.37
1454 Deal with certain obfuscating URLs. This change includes some
1455 URLs in Fuz2 checksums and removes parts of some URLs from Fuz1
1456 checksums. This should reduce much of the need for the dubious
1457 many hex FUZ2: 00000000 00000000 00000000 00000000
1458 whiteclnt entry.
1459 Decode RFC 822 and MIME entity headers to control quoted-printable
1460 and base64 decoding instead of the previous adaptive algorithm.
1461 This also involves decoding nested MIME multipart messages.
1462 A side effect of this is to change the checksums computed for
1463 some mail.
1464 Use poll() on Solaris to avoid failures from select() on large FDs.
1465 Smuggle the Mail_From value to dccm with a ${dcc_mail_host} macro
1466 so the mail_host checksum is valid despite sendmail smart relays.
1467 This requires rebuilding sendmail.cf with the new dcc.m4.
1468 Move part of the server-failing timer into /var/dcc/map so that
1469 dccproc processes can share it.
1470 Fix dccifd bug in handling detecting the end of headers reported
1471 by Tim Clymo.
1472 Fix `dccd -u` which was almost entirely broken. Extend `dccd -u`
1473 to inflate the delay for busy anonymous clients.
1474 Make server selection more stable despite network problems.
1475 Fix some cases of false alarms of database corruption by dbclean.
1476 This fix is important where dbclean complains about `repairing` the
1477 database.
1478 Clear dccd queue delay when the server is idle. This should help
1479 dccd on BSD/OS after dbclean runs.
1480 Avoid `chown` and `chgrp` with `configure --disable-sys-inst`.
1481 Add `dccproc -x exitcode` as suggested by Paul Wright.
1482 `cdcc clients` displays counts of NOPs to catch misconfigured firewalls
1483 at clients.
1484
1485 1.1.36
1486 Add optional DCCM_ENABLE and DCCD_ENABLE to /var/dcc/dcc_conf
1487 Look for libmilter.a where it is in some versions of Linux.
1488 Add "eval" to start-dccd, start-dccm, and start-dccifd when
1489 not using a separate UID to allow quoted blanks in
1490 `dccm -r "rejection messages"`.
1491
1492 1.1.35
1493 Deal with name space pollution in Solaris as suggested by Isaac Saldana.
1494
1495 1.1.34
1496 Fix libexec/dcc-stats-collect and libexec/stats-get as noted
1497 by Valentin Chopov.
1498 Adjust FUZ2 length thresholds to catch more HTML obfuscated spam.
1499 Reduce some stalling of dccd on BSD/OS when dbclean starts.
1500 Resolve conflict between start-dccifd and dccifd by making the default
1501 location for the dccifd PID file the same as for the dccm file
1502 Fix dccifd to remove stray X-DCC headers.
1503 Fix start-dccifd to pay attention to DCCIFD_ARGS in dcc-conf.
1504
1505 1.1.33
1506 Fix rare core-dump in dccd that more frequently corrupts the database.
1507 Do not loop forever as the result of some database corruption.
1508 Turn off by default dccd blacklist event tracing.
1509 Increase the limit on the size of white-listed CIDR blocks from /24 to
1510 /20 or 1024 IP addresses. Every IP address whether specified
1511 separately or with a CIDR block requires a separate entry in a
1512 client DCC whitelist hash table. The hash table is limited to
1513 about 80K entries.
1514 Add '-T' to misc/hackmc to trust or white-list mail authenticated
1515 by SMTP AUTH or START TLS.
1516 Server blacklisting suppresses "bad client or server-ID" error messages.
1517 add /var/dcc/libexec/stats-get produce server statistics as noted by
1518 Daniel Klein.
1519
1520 1.1.32
1521 Do not count MIME content-type image bytes when deciding whether
1522 to generate FUZ2 checksums.
1523 Unlink dccm and dccifd PID files before trying to (re)create them.
1524 Dccm watches milter "contexts" more closely for corruption.
1525 Add an optional count to `cdcc clients`.
1526 Dbclean tries harder to restore dccd flooding.
1527 Initialize wtgts in dccproc as noted by Leandro Santi.
1528
1529 1.1.31
1530 Fix core dump in ckfuz1.c noted by Gary Mills.
1531
1532 1.1.30
1533 Allow blanks in MIME boundaries.
1534 Possibly fix compiler "initialization type mismatch" warnings noted by
1535 Gary Mills.
1536
1537 1.1.29
1538 Fix dccm core dump in ckfuz1.c noted by Sven Willenberger.
1539
1540 1.1.28
1541 Fix dccm core dump in dcc_ck_body0() noted by Valentin Chopov.
1542
1543 1.1.27
1544 Add to HTML character references known by the Fuz2 checksums.
1545
1546 1.1.25
1547 Notice "Content-Type: text/html" headers to pay attention to HTML
1548 even in mail without <html> tags.
1549 Tweak the Fuz2 checksum to ignore some Microsoft delivery notifications.
1550 Adjust Fuz1 checksum to be more consistent on URLs.
1551 Fix date bug reported by Krzysztof Snopek in `cdcc clients`.
1552 Include an indication that the client was blacklisted in `cdcc clients`.
1553 Change MIME decoding somewhat as suggested by Leandro Santi.
1554 Fix bug in dccd client blacklist.
1555 Add `dccm -g not-all`.
1556
1557 1.1.24
1558 Add `cdcc "clients -s"` to sort by the number of requests.
1559 Add /var/dcc/blacklist of blocks of IP addresses refused by dccd.
1560 Remove -lpthread from $(DPADD) in dccm and dccifd Makefiles for Solaris
1561 with gmake to try to deal with problem observed by Krzysztof Snopek.
1562
1563 1.1.23
1564 Fix handling of &amp; in the middle of words in HTML.
1565 Change dccifd to respond with DCCIF_RESULT_REJECT or 'R' when
1566 queried about spam.
1567 Fix typo in detection of non-compiler on SunOS.
1568 Add `./configure --disable-dccifd` as suggested by Krzysztof Snopek.
1569
1570 1.1.22
1571 Fix inconsistencies in fuzzy checksums computed by dccm and dccproc.
1572 More ./configure script changes to try to deal with problems on
1573 a Solaris system with GCC and some undetermined oddities.
1574
1575 1.1.21
1576 Suppress repeated messages about unauthorized server IDs of peers.
1577 Install cdcc, dccproc, and so forth in $HOME/bin by default
1578 if /usr/local/bin is not writable and $HOME/bin exists.
1579 Fix infinite loop in decoding invalid HTML character references.
1580
1581 1.1.20
1582 Fuzzy checksums ignore all text before initial MIME boundary and
1583 after terminal MIME boundary.
1584 Add support for Spanish thanks to Leandro Santi.
1585 Shuffle hostname resolving code to try to fix what may be a race
1586 in the Linux pthread_create() as discovered by Karl Grindley.
1587 Reduce default value of `dbclean -e` from 7 to 2 days. Mail that does
1588 not reach the local bulk threshold within 2 days is probably not
1589 spam and if it is, it will almost certainly reach a bulk threshold
1590 at some other server in the network.
1591
1592 1.1.19
1593 fix missing env_From handling in dccifd/dccif.pl observed
1594 by Nathan Neulinger
1595 set mode of dccifd socket to 0666 as suggested by Nathan Neulinger
1596
1597 1.1.18
1598 fix `dccproc -c` logging bug noted by Brad Volz.
1599 fix ./configure to pick UID and GUID out of `id` with --disable-sys-inst
1600 multiply the `dccd -u` delay by 4 when flooding is off or broken to
1601 steer clients away from DCC servers without working links.
1602 radically reduce the number of wsync() calls to speed systems with
1603 lame mmap() support including BSD/OS 4.2.
1604 fix setting of file descriptor limit in dccm and dccifd as noted
1605 by Gary Mills
1606 change configure script to deal with change in gmake version string
1607 discovered by Aaron Paetznick
1608
1609 1.1.17
1610 add DCC interface daemon, dccifd, similar to dccm for SpamAssassin and
1611 Perl filters and MTAs other than sendmail. This is only an initial
1612 release soliciting comments about its interface. Its interface
1613 may change in 1.1.18. The new lines of homdir/dcc_conf must be
1614 added to /var/dcc/dcc_conf to turn it on.
1615 `dccm -a IGNORE` says "would have rejected" in the log messages
1616 for Sven Willenberger
1617 generate sample client-ID password for localhost server in /var/dcc/ids
1618 and /var/dcc/map
1619 dccd only complains about unknown server-IDs when "IDS" tracing is
1620 turned on.
1621 DCC clients check for new server DNS records every other hour
1622 instead of every hour
1623 compute the same Base64 result for 32-character lines with or without '\r'
1624 close unlikely, theoretical per-user log file FD leak in dccm.
1625 dccproc passes header lines (including continuations) longer than
1626 20 KBytes
1627 fix bugs in misc/newwebuser as noted by Furlan Campos.
1628 dccm deletes all X-DCC headers of the right brand name to foil
1629 tricky spammers.
1630 dccproc defaults the -T tmpdir to the -l logdir
1631
1632 1.1.16
1633 fix long HELO values in dccm from Leandro Santi.
1634 fix /var/dcc ownership installation bugs noted by John Reames.
1635 let count of clients seen within 24 hours be more than 1000.
1636 change misc/na-spam, the news.admin.net-abuse.sightings gateway script
1637 to use dccproc log files instead of generating its own.
1638 don't allow ':' in DCC server "brandnames".
1639 recover misplaced change to misc/dcc.m4 to fix need to use
1640 FEATURE(`delay_checks')
1641 fix apparently harmless quoting error in dcc.m4
1642 fix `cdcc "flood stats all"` when the server's peers are not ordered
1643 by their IDs.
1644 decode Base64 with invalidly long lines.
1645
1646 1.1.15
1647 change graph generating shell scripts, including making the
1648 database size RRA use "MIN" instead of "MAX". A shell script
1649 that can convert existing RRDs is available.
1650 make `misc/hackmc -O` apply to all uses of the sendmail access DB
1651 instead of only the envelope Mail_From value.
1652
1653 1.1.14
1654 tweak graph generating shell scripts.
1655 add `cdcc "flood stats all"` and `cdcc "flood stats clear all"`
1656
1657 1.1.13
1658 tweak graph generating shell scripts including fixes from Jack Bates.
1659 adjust autoconf mechanism to try to deal with systems with inet_ntop()
1660 but without IPv6.
1661
1662 1.1.12
1663 move dccd statistics to the flod.map so they're preserved despite
1664 restarting dccd.
1665 add shell scripts to generate RRD graphs.
1666 make rate-limits run-time parameters for `dccd -R`.
1667
1668 1.1.11
1669 fix dccm bugs with handling a non-responsive server.
1670 change misc/hackmc to modify sendmail.cf to reject unauthorized relay
1671 attempts with a temporary failure when they are supposed to be sent
1672 to the DCC but dccm is not running. This prevents leaking relay
1673 relay spam. You must use the new hackmc script to install this
1674 change in sendmail.cf.
1675 remove "# whitelisted" from `cdcc stats` output to give more room
1676 for totals.
1677 prevent empty dccproc log files as noted by Krzysztof Snopek.
1678 even fatal errors should cause dccproc to exit with 0 to avoid
1679 rejecting mail, as noted by Krzysztof Snopek.
1680 When server hostnames have common IP addresses, prefer the server
1681 with the non-anonymous client-ID, noted by Krzysztof Snopek.
1682
1683 1.1.10
1684 try to deal with truncated per-user dccm logs on Solaris.
1685 reduce threshold at which Fuz2 checksums are computed to capture
1686 more spam.
1687 force the use of gcc on Solaris.
1688 try not to wait for the syslog console messages to resolve a dccm
1689 crash on Solaris.
1690
1691 1.1.9
1692 make `cdcc "flood list"` unpriviledged, but disclose only server-IDs
1693 to strangers.
1694
1695 1.1.8
1696 fix "invalid database address" problems on SPARC systems with
1697 ./configure ----enable-big-db
1698 %-encode quotes in URLs generated by the CGI scripts.
1699 fix `cdcc "id=X"` for X>65535.
1700 increase path length limit to 24.
1701 add `dblist -I server-ID`.
1702
1703 1.1.7
1704 fix man page installation on AIX.
1705 work around connect() bugs on AIX41 and OpenUNIX.
1706
1707 1.1.6
1708 fix encoding of quote characters in the CGI scripts
1709 look for sendmail 8.12.1 libsm.a that is required by that version of
1710 the Milter code.
1711 make the configure script again find the FreeBSD MD5 library.
1712
1713 1.1.5
1714 fix bugs in white-list links in the CGI scripts.
1715 increase 8-hop flooding path limit to 16.
1716 changes from Mark Moraes to compile dccproc under Cygwin on Windows 2000
1717 the DCC source compiles on OpenUNIX 8.0.1 thanks to Larry Rosenman.
1718 reduce the chances of duplicate or missing entries in the list
1719 from `cdcc clients` as suggested by Dave Lugo.
1720 add `dblist -C` to limit the listing to reports with specified checksums
1721 as suggested by Sam Leffler.
1722 `dccm -r "4xx ..." now produces a proper SMTP "temporary failure".
1723 deal with /usr/include/md5.h that seems to be RedHat 7.3 but that does
1724 not compile by itself.
1725
1726 1.1.4
1727 fix dccproc and dccm tarballs broken in 1.1.3.
1728
1729 1.1.3
1730 add a "VERSION:" string to the start of dccm and dccproc log files.
1731 fix memory leak in dccm observed by Gary Mills.
1732 fix core-dump in dccd with unreadable /var/dcc/flod noted by Sam Leffler.
1733 add prototype CGI scripts for per-user white lists.
1734 rate limit and improve log messages about read-only whiteclnt files.
1735 allow null passwords for server-IDs in /var/dcc/ids that are used only
1736 as markers so that no DCC server is accidentally started with the
1737 password "unknown"
1738 install initial /var/dcc/map file using dcc.dcc-servers.net
1739 install empty server database as suggested by Andrew Macpherson.
1740 create /var/dcc/log during installation.
1741 adjust the `dccd -u` default to minimize rejecting DCC queries from
1742 nearby anonymous clients.
1743 convert upper to lower case in dccm per-user white list directories as
1744 suggested by Andrew Macpherson.
1745 allow null passwords as place-keepers in /var/dcc/ids.
1746 rebuild gmake .d depend files when include/dcc_config.h changes so
1747 that bad things don't happen when a header file disappears and
1748 the configuration changes to match.
1749 fix "log-del" option in /var/dcc/flod to log checksum delete requests.
1750 add "del" and "no-log-del" options to /var/dcc/flod lines.
1751 change the defaults for flooding delete requests to log them ("log-del"),
1752 not send them ("no-del" among o-opts) and
1753 reject them ("no-del" among i-opts).
1754 change misc/hackmc to be usable in typical Makefiles that generate
1755 .mc files. It now feeds a single set of .mc files to m4
1756 to produce a single .cf file on stdout instead of a set of .mc files.
1757 It also no longer includes ../m4/cf.m4
1758 use native sendmail milter libraries on FreeBSD 4.6
1759 IDs in /var/dcc/ids can be placeholders without passwords
1760
1761 1.1.2
1762 fix `dccm -W`.
1763 the recipient mailbox resolved by sendmail can be used as an white list
1764 value by dccm. This simplifies white-listing when the system
1765 has more than one name.
1766
1767 1.1.1.
1768 add -follow to cron-dccd in case user log directories are beyond
1769 symbolic links.
1770 fix "resource temporarily unavailable" message from dccproc
1771 reported by Henrik Lewander.
1772 fix `dccm -W` problem in 1.1.0 reported by Mark Motley.
1773
1774 1.1.0
1775 "substitute" whitelist header entries must start with the name of
1776 the header. This is incompatible with previous versions.
1777 remove `dccm -a REJECT_ONLY`
1778 add per-user whitelists and logs to dccm. See `dccm -U`. Use the
1779 DCCM_USERDIRS variable in the new homedir/dcc_conf file to turn on.
1780 To generate per-user log files without leaking informatio about
1781 Bcc addresses, the format of all log files has changed slightly.
1782 Look for "bulk" in the X-DCC line instead of the final "targets" line.
1783 add `dccproc -E` to add dccm log file style envelope lines to log files.
1784 fix cleaning of hourly DCC log files as suggested by Gary Mills.
1785 X-DCC header lines contain the string "bulk" when the message is bulky.
1786 add the "mail_host" as a possible "subsitute header" for dccm.
1787 several of the mailing lists in the sample white list now require that
1788 dccproc or dccm use `-S sender` or dccm use `-S mail_host`.
1789 This removes hostnames from the sample whitelist, because they
1790 can take a long time to resolve or fail to resolve.
1791 change env_To: lines in dccm log files to include the sendmail "mailer"
1792 and address. Also add the resolved "mail_addr" and "mail_host"
1793 to dccm log files.
1794 allow common dccproc white list files owned by the DCC user to be in
1795 subdirectories of the DCC home directory instead of only the
1796 DCC home directory.
1797 use Rgethostbyname() in clients only when `cdcc SOCKS on` is sent
1798 and in the server only for flooding peers that are flagged with
1799 "SOCKS" in /var/dcc/flod.
1800 use gethostid() and hash the local host name instead of gethostbyname()
1801 to generate the DCC client host ID
1802 consider an entire report of checksums obsolete if the fuzziest checksum
1803 is obsolete for dbclean or flooding. This reduces the database
1804 size and flooding bandwidth by another factor of 2.
1805 fix `./configure --mandir=/tmp/foo` to put the man pages into
1806 /tmp/foo/man8/dccm.8 and similar places on other systems instead
1807 of /tmp/foo8/dccm.8 as suggested by Michael Grant.
1808 add `configure --disable-sys-install` to simplify and make a non-system
1809 installation (e.g. by a user with a shell account) safer (no suid).
1810 stop frequent complaints about bad flooding passwords in most cases.
1811
1812 1.0.53
1813 fix bug in fuzzy checksums that was not handling long Base64 lines.
1814 increase the thresholds for computing the Body and Fuz2 checksums
1815 and decrease the threshold for the Fuz1 checksum.
1816 limit work-around for broken Linux threads that need signals delivered
1817 to the process group to Linux systems to avoid breaking dccm
1818 on Solaris 2.6 systems.
1819 add `cdccc "flood stats ID". Part of this involves a change
1820 to format of the flod.map file. It will be automatically rebuilt.
1821 fix `cdcc clients` and `cdcc stats` operations to do better with more
1822 than 64 active clients.
1823 fix core-dump in dccd found by James Carlson.
1824 use Rgethostbyname() when SOCKS is configured.
1825 fix private (not owned by the dcc user) whitelist files for dccproc.
1826 notice and report missing incoming flood connections.
1827 detect and complain about duplicate definitions in /var/dcc/ids
1828
1829 1.0.52
1830 fix bug in dbclean that was inflating instead of compressing some
1831 reports.
1832 fix spurious emergency execution of dbclean by dccd.
1833 deal with missing h_nerr and h_errlist[] in Solaris 2.6 as
1834 suggested by Gary Mills.
1835 fix use of old $DCCM_RUNDIR in rcDCC as suggested by Gary Mills.
1836 fix extra blank in dcc.m4 as suggested by Gary Mills.
1837 generate dcc.m4 with the local choice for /var/dcc/run with configure.
1838 use dcc_inet_ntop() on systems that do not understand IPv6 to fix
1839 a problem on Solaris 2.6 discovered by Gary Mills.
1840
1841 1.0.51
1842 fix man pages on FreeBSD.
1843 fix file descriptor leak in dccd when using SOCKS.
1844 `cdcc "flood check"` forces dccd to re-resolve hostnames for flooding
1845 peers that are failing.
1846
1847 1.0.50
1848 Improve automatic dbclean-ing by dccd.
1849
1850 1.0.49
1851 Check the log directory for dccproc and dccm after changing to the
1852 home directory.
1853
1854 1.0.48
1855 Split old records in the database so they compress better.
1856 Reduce bandwidth required for flooding by summarizing checksum counts.
1857 Fix configure in the partial packages, dcc-dccm-*.tar.Z and
1858 dcc-dccproc-*.tar.Z
1859 Fix `dccd -K no-IP`.
1860 Fix error messages for `dccproc -c type,thold` and add "never" as in
1861 `dccproc -c all,never`
1862 Fix yet another bug in dcc_mkstemp().
1863 Add "NEVER" to -c for dccproc and -t for dccm.
1864 Enhance `dccm -l logdir` and `dccproc -l logdir` to scatter log files
1865 among directories for systems dealing with more than 500,000
1866 mail messages per day.
1867 Dccm log files are now named "tmp.XXXXXX" until it is known that they
1868 are needed and they are renamed to msg.XXXXXX or they are deleted.
1869
1870 1.0.47
1871 Make "-n brand" optional for dccd.
1872 decode Base64 before computing checksums.
1873 remove `cdcc pck` and `cdcc delck body` operations.
1874 add configure parameter --with-bad-locks to deal with Solaris mmap()
1875 vs. fcntl() locking problems.
1876 Dccm and dccproc shold keep only the last of several locally specified
1877 header checksums.
1878 Because people have been confused by env_To checksums being ignored
1879 in server whitelists, they are now reported as errors.
1880
1881 1.0.46
1882 Fix garbage in dccm log file names.
1883 When run as root, dbclean avoids changing the owner of the database files.
1884 Add logging to dccproc in the style of dccm.
1885 Accept hex checksums to allow whitelisting message bodies, and especially
1886 "empty" bodies contianing more than 1 KBytes generated by
1887 Outlook Express.
1888 Improve compression of old entries in the database.
1889 Add checking of "substitute" headers. See -S in the dccm and dccproc
1890 man pages.
1891
1892 1.0.45
1893 Repair incoming flood duplicate detection broken in 1.0.44.
1894
1895 1.0.44
1896 Dccd now tries to fix the database when it starts
1897 dccd also marks the database potentially inconsistent while it
1898 is running and until it stops cleanly. Graceless shutdowns
1899 are now detected and the database is automatically checked with
1900 `dbclean -R` before dccd resumes operation.
1901 Add Fuz2 checksums to the default lists along with Fuz1 and Body
1902 By default, dccd does not keep non-body checksums in the database.
1903 The previous behavior can be restored with -Kall.
1904 Double the maximum size of the database's hash table
1905 Teach dccd to run dbclean to expire checksums so things work even
1906 if the cron job doesn't
1907 Misc/hackmc -D adds a local rule to reject mail from SMPT clients
1908 without reverse DNS to the DCC
1909 Suppress messages from dccd for EINVAL the second connect().
1910 This is lame, but both FreeBSD and Linux answer the second connect()
1911 on a non-blocking socket after an ICMP Unreachable or timeout
1912 with EINVAL.
1913 Speed up dbclean for large databases
1914 It is only about 2.5 times faster on linux 2.2.14-5.0
1915 Large systems handling more than 200,000 messages/day should
1916 use --with-db-memory=500000000 or whatever is the appropriate number.
1917 This change combined with the -K changes mentioned above produce
1918 an overall speed-up of about 10 times for busy, not large systems.
1919 Add configure parameter --enable-big-db to support server databases
1920 with up to 2 billion instead of 16 million entries in the hash table
1921 Fix problem with env_To white-listing reported by Mark Motley
1922 Add -H to dccproc to emit only the header
1923 Fix dccd to pass -L parameters to dbclean so that log messages from
1924 automatic invocations of dbclean are not lost
1925
1926
1927 1.0.43
1928 add prototype Fuz2 fuzzy body checksum and remove the subject checksum
1929 See INSTALL.{html,txt} about DCC_RPT_SUBJECT if you want to
1930 restore Subject checksums in in you DCC clients.
1931 fix SOCKS connection and re-connection of flood stream.
1932 add -c thresholds to dccproc and make its exit code indicate whether
1933 they are exceeded. This should eliminate common needs to parse
1934 the output of dccproc.
1935 fix dccd iflod_send_pos() core-dump seen during very high network losses
1936 to flooding peer.
1937 deal with Linux bug in not allowing connect() after a previous
1938 connect() to 127.1.
1939 fix dccm core-dump on some platforms when whitelist hostnames fail to
1940 resolve.
1941 deal with Linux `bash` vs. `su`
1942 handle duplicate local interfaces on Linux
1943 make `cdcd "flood rewind"` require a remote server-ID
1944
1945 1.0.42
1946 fix dccm crash while dealing with white list.
1947
1948 1.0.41
1949 fix bug introduced in 1.0.37 that broke `cdcc add`
1950 include truncated getifaddrs() for systems that do not have it to improve
1951 the default behavior of dccd with multihoming.
1952 fixes for syntax errors in misc/{rcDCC,stop-dccd} from Michael Ghens
1953 make `dccm -W` less confusing.
1954 change hackmc to report mail with bogus DNS senders to the DCC
1955
1956 1.0.40
1957 fix for syntax error in /var/dcc/libexec/cron-dccd from Dave Lugo
1958 deal with slow dccd response to dbclean
1959
1960 1.0.39
1961 keep dccd from going crazy with a crazy value for -q
1962
1963 1.0.38
1964 fix dccd core dump with Dave Lugo's help.
1965 improve dccd host name resolving helper process.
1966 improve misc/na-spam.
1967 `cdcc 'stats clear'` now also clears the list of clients seen by dccd.
1968 add a path of server-IDs to flooded checksum reports.
1969 increase the number of checksums recognized by the server.
1970 fix pthread error on SunOS and possibly AIX.
1971 use absolute path for `cdcc` in /var/dcc/libexec/stop-dccd as suggested
1972 by Sam Leffler.
1973 improve fuzzy ignoring of MIME multipart boundaries.
1974
1975
1976 1.0.37
1977 deal with lack of -s in SunOS `logger`.
1978 dccd now has a helper process to wait for slow DNS servers to resolve
1979 the names of flooding peers.
1980 Deleting and restarting the DCC server's database now causes dccd to
1981 ask peers to re-flood their checksums. This new feature required
1982 changing the flooding protocol. DCC servers using the new protocol
1983 talk to servers using the old protocol after the old servers start
1984 their streams or with an explicit tag in the /var/dcc/flod file.
1985 `sendmail -bs` is used by some mail user agents such as pine. In such
1986 cases the sendmail milter interface gives filters such as dccm a null
1987 pointer to what should be an IP address and a pointer to the
1988 string "localhost". Dccm now acts as if such mail arrived from
1989 IP address 127.1. This makes the common white list entry
1990 "ok IP localhost" effective for such mail. Note that dccm deletes
1991 X-DCC header lines with its own brand from white listed messages,
1992 because they would otherwise be wrong and a potential vulnerability
1993 to bad guys.
1994 Fix `dccproc -o ofile` to include the X-DCC header in ofile. If this fix
1995 is a problem, see `dccproc -C`
1996 add /var/dcc/libexec/na-spam and ng-spam to gather spam from
1997 news.admin.net-abuse.sightings
1998 fix start-dccd, start-dccm, and cron-dccd to support multiple dccd
1999 daemons in separate home directories.
2000
2001 1.0.36
2002 support for OSF1.
2003 handle msync() with only two parameters in old BSD/OS.
2004 try to fix rare core-dump in dccm whitelist parsing.
2005 fix error in misc/dccdnsbl.m4 noted by Michael Ghens.
2006 fix autoconf errors for SunOS noted by Sam Leffler
2007 add "log-del" option to /var/dcc/flod file
2008 fix recent damage to DCC{D,M}_ARGS in start_dcc{d,m}
2009
2010 1.0.35
2011 add DCC_LOG_FACILITY to dcc_conf as suggested by Sam Leffler.
2012 You must install the new homedir/dcc_conf with your parameters
2013 to use it.
2014 fix recently introduced bug that kept dccd from automatically
2015 running dbclean to expand the database.
2016 document the output of the dblist program in its man page.
2017 `configure --with-rundir` can be used to override the use of /var/run/dcc
2018 for the PIDs of DCC daemons, sockets, and so forth.
2019 `configure --with-uid=dcc` creates Makefiles and scripts to install
2020 and start DCC programs as the user "dcc"
2021
2022
2023 1.0.34
2024 support for IRIX
2025 fix bug in setting libexecdir for configure
2026 change `cdcc stats` to show cumulative report counts
2027 increase maximum number of flooding peers from 16 to 32
2028 and make it a compile-time parameter
2029 change $UID in misc/start-dcc{d,m} to the avoid reserved variable in
2030 RedHat 6.2 as suggested by Michael Ghens
2031 fix bug in cron-dccd found by Michael Ghens and Dave Lugo
2032 remove mechanism for configuring the DCC home directory by setting
2033 an environment variable before invoking `make`
2034 change the default value of the -u anon-delay parameter for dccd to 0.
2035 add "flood list" operation to `cdcc`
2036 look for sendmail for dccm in a FreeBSD "ports" package
2037
2038 1.0.33
2039 support for HPUX thanks to Richard Rauenzahn.
2040 check against "$USER" instead of "root" in start-dccm and start-dccd
2041 as suggested by Luke Crawford.
2042 make the server rate limits configurable at compile-time.
2043
2044 1.0.32
2045 fix bug in local white lists that ignored changes in the count field
2046 by default, start-dccm no longer tells dccm to reject based on
2047 message-ID checksums
2048 fix recently introduced bug that kept flooding off after the
2049 hash table needs to be expanded.
2050
2051 1.0.31
2052 add SOCKS support.
2053 dccproc only logs errors unless given -d. This should fix problems
2054 in some mail systems using dccproc caused by network problems.
2055 fix permissions bugs related to using private map files
2056 the dcc_notspam sendmail macro used by dccm with -o must be non-empty
2057 to be considered "set".
2058
2059 1.0.30
2060 fix man page installation on OpenBSD.
2061 fix bug in starting incoming floods on systems with IPv6 interfaces
2062 but without what DCC recognizes as IPv6 support such as OpenBSD.
2063 deal with systems such as OpenBSD with lame mmap() support.
2064 speed up recognition of changes in the /var/dcc/flod file.
2065 use DCCM_REJECT_AT in /var/dcc/dcc_conf to also set the default
2066 flooding threshold used by dccd when it is started by
2067 /var/dcc/libexec/start-dccd
2068 add configure switches to not build dccm and the server
2069 `dccd -u` turns off `cdcc stats` from anonymous systems to avoid telling
2070 strangers how many mail messages a small DCC server has seen.
2071
2072 1.0.29
2073 fix start-dccd to deal better with non-standard DCC home directories.
2074 dccproc is now like dccm and treats a missing Message-ID header.
2075 as if it were present and with a null value.
2076 do the right thing for DCC servers running on platforms where
2077 gethostname() fails completely on a short buffer instead of
2078 giving a prefix of the hostname.
2079 detect and quit on null hostname from gethostname().
2080
2081 1.0.28
2082 improve the handling of an already running daemon in by misc/start-dccd
2083 support mapping of ranges of server IDs when flooding reports
2084 yet more changes to deal with quoted-printable. These changes
2085 generally cause the fuz1 checksum to differ.
2086 remove need for FEATURE(delay_checks) when reporting sendmail access_db
2087 hits to DCC server
2088 change body checksum to ignore '>' in "\n>From" because the '>' is
2089 often added for old UNIX MUAs.
2090 improve response of dccproc to 20KByte or larger To: headers.
2091 make `cdcc "file map2; load map2.txt"` act the same as
2092 `printf "file map2\nload map2.txt" | cdcc`
2093 dccm now treats a missing Message-ID header as if it existed but with
2094 a null value.
2095
2096 1.0.27
2097 change example scripts to deal with `expr` exiting with 1 and stopping
2098 them on Solaris
2099 fix client IDs larger than 65535
2100 detect and complain server IDs offered to `cdcc` as client IDs
2101
2102 1.0.26
2103 if dccm is already installed, try to build it even if the sendmail
2104 milter library is not available to prevent silent failures to
2105 install new versions of dccm.
2106
2107 1.0.25
2108 fix confusion if a quoted-printable sequence overlaps a buffer boundary.
2109 do not give up on remote servers if a local server responds with
2110 an ICMP unreachable error.
2111
2112 1.0.24
2113 minimize interpreting '=' in a URL as quoted-printable to make dccproc
2114 and dccm compute the same fuzzy checksums more often.
2115
2116 1.0.23
2117 fix confusion in dccproc about whether an initial line of a message
2118 that starts with blanks is a continuation of the last header line
2119
2120 1.0.22
2121 fix infinite loop and packet spew from dccproc when the clock jumps
2122 backward or jumps forward more than 1000 seconds.
2123 fix syslog process name on Solaris and AIX
2124 `dccproc -R` picks IP address out of standard Received: lines
2125 fix bugs in decoding quoted printable with broken soft ends of lines
2126
2127 1.0.21
2128 repair DCC server whitelist broken in 1.0.20
2129
2130 1.0.20
2131 support for Solaris
2132 describe ways to connect spam traps to the DCC in INSTALL.html
2133 move parameters from start-dccd, start-dccm, and cron-dccd to a common file
2134 add misc/rcDCC start-up script for Solaris and Linux
2135 fix byte-order bug in flood header server ID which requires changing
2136 the flood protocol. To flood to version 1.0.19 or older versions
2137 of dccd, specifiy version 4 in the flod file line.
2138 removed locking file /var/dcc/map.lock
2139 change handling of spam sent simultaneously to white-listed and unlisted
2140 targets. See the discussion of the new "REJECT_ONLY" action in the
2141 dccm man page.
2142
2143 1.0.19
2144 improve `cdcc stats` flood formatting
2145 fix `cdcc "host domain.com; stats all"`
2146 change dccproc to use the value of the Return-Path: header for the
2147 envelope-From checksum if the header is present and -f is not used.
2148 fix `dbclean -S -N` when the whitelist is empty
2149 add rough support for NetBSD.
2150 mention dccd in the INSTALL file.
2151 fix for parsing "-L error,LOCAL1.ERR" from Vincent Schonau
2152
2153 1.0.18
2154 add "clients -n" to cdcc
2155 add -C to dccproc
2156
2157 1.0.17
2158 add dccsight
2159
2160 1.0.16
2161 try again to deal with getifaddrs() without freeifaddrs().
2162 fix bug introduced in 1.0.15 that causes dccproc to require
2163 a white-list
2164 fix corruption of /var/dcc/map when dccproc is run with stderr not
2165 open and when the DCC server first fails to answer.
2166
2167 1.0.15
2168 make the sendmail {dcc_isspam} and {dcc_notspam} macros consistently
2169 override what dccm and the DCC server determine
2170
2171 1.0.14
2172 deal with systems that have getifaddrs() but not freeifaddrs().
2173 fix bogus response from server when a duplicate request from an
2174 anonymous client arrives before the original request has been
2175 scheduled to be answered.
2176 fix obscure double-trip bug in threaded client library.
2177 accept "rpt-ok" as well as "rpt_ok" in the ids file.
2178 fix /var/dcc/flod option scanning bug by dccd.
2179 'dccd -u 999999' turns off access by anonymous or unauthenticated clients.
2180 add -W to dccm to cause only explicitly listed targets to be protected
2181 by the DCC
2182 add a "reject" server-ID translation target in the flods file to
2183 not send or receive the reports of some servers.
2184
2185 1.0.13
2186 add RTT adjustment to cdcc load and add operations to allow a client
2187 to prefer servers despite worse RTT's
2188
2189 1.0.12
2190 in dccm count two intead of one open file for each active job against
2191 the system imposed limit on open files for automatically setting
2192 the value of -j for dccm and for automatically changing the soft
2193 resource limit.
2194 use the GNU autoconfig install script instead of `install -d` to create
2195 $(HOMEDIR)/libexec because GNU autoconfig does not detect install
2196 programs that do not understand -d
2197 rate limit complaints by dccd about unrecognized server IDs
2198
2199 1.0.11
2200 dccm tolerates null sender IP addres and hostname from `sendmail -bs`
2201 from sendmail 8.11.3 but perhaps not from 8.12.
2202 change -p for dccd and dbclean to -a to allow specification of entire
2203 server addresses.
2204 by default, dccd listens on separate UDP sockets so that clients receive
2205 responses from the same IP address to which they send requests.
2206
2207 1.0.10
2208 fix "bogus oflod complaint length 0" nonsense from server
2209 `cdcc stats` counts the clients seen in the last 24 hours, but
2210 `cdcc clients` displays all that fit in the cdcc buffer even if
2211 older than 24 hours
2212 the `configure` script looks at `make -v` to guess whether to generate
2213 gmake or make makefiles
2214 include list of common "dictionary attack" user names among the sample
2215 homedir files
2216
2217 1.0.9
2218 body checksums ignore effects of quoted-printable encoding
2219 deal with versions of gmake that do not understand ?=
2220 improve "clients" request of cdcc
2221
2222 1.0.8
2223 fix rate limiting bugs in the server
2224 fix local env-To whitelist
2225
2226 1.0.7
2227 fix locking bug when client whitelist file cannot be opened
2228 use `install -c` to not delete misc scripts
2229 fix server flood stalls when there are many stale or whitelisted
2230 reports
2231
2232 1.0.6
2233 fix bug in alternate dccm argv[0] in start-dccm
2234 fix bug in noticing changes to included white lists
2235
2236 1.0.5
2237 install cron-dccd, start-dccd, and start-dccm in $(HOMEDIR)/libexec
2238
2239 1.0.4
2240 fix server core-dump for repeated invalid admin. opcodes while
2241 tracing is enabled.
2242 add "clients" request to `cdcc`
2243 add "stats all" request to `cdc
2244 add homedir/start-dccm.sh
2245 /var/run/dccm.pid and /var/run/dccm depend on argv[0]
2246 white-lists can use "include pathname"
2247 dccm -o overrides -s
2248 dccm -o and -s have default values
2249 move /var/run/dccm and /var/run/dccm.pid to the directory /var/run/dcc
2250 and change the sendmail "feature" file misc/dcc.m4 to match
2251
2252 1.0.3
2253 improve flood ID mapping
2254 remove need to explicitly build before `make install`