Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
1.3.159
Stop using /usr/share/mk Makefiles on BSD systems in order to allow
building on FreeBSD 11.
Add ./configure --with-install-cmd=X --enable-pkg-make to facilitate
as FreeBSD port without patches.
Use /proc/uptime to compute boottime on Linux.
Ignore host names defined as 0.0.0.0.
Don't let the Received: header parsing for the sender IP address in
dccifd and dccproc be fooled by HELO values like "[127.0.0.1]"
Change URLs to use https
From Petar Bogdanovic (OWNER).
While the INSTALLATION_DIRS code actually works fine with directories
that contain PREFIX (by removing it first), the documentation says
that values should be PREFIX-relative.
Pointed out by Petar Bogdanovic ($MAINTAINER).
For an unknown reason, the package build succeeds often with EGDIR not
explicitly created. However, sometimes it does not. Because a number
of directories are created by pkgsrc anyway, just add the troublesome
directories to the list. No PKGREVISION, since this does not affect
any build that previously succeeded.
Update prepared in wip by Petar Bogdanovic.
* Remove INSTALL and add fix-map to rc-scripts instead (start_precmd).
* Remove dccm option because it was never properly tested. If someone
wants it back, let OWNER know.
* Remove dcc-spamassassin.pre. DCC.pm will use cdcc in order to obtain
homedir and therefore the location of the dccifd socket.
* Add several minor build/install patches.
* Remove do-install target since the default (DESTDIR-enabled) install
now works well enough.
CHANGES:
1.3.158
Do not flood any reports to peers with "leaf=0"
Fix crash in dccm, dccifd, and dccproc when time jumps backwards by
more than than 1 millisecond.
Adjust Makefiles for recent NetBSD.
1.3.155
Fix `cdcc "help flood"`
Try `cc -E -w` in ./configure to avoid fatal gcc warning about
CPPFLAGS=-D_FORTIFY_SOURCE=2 that currently breaks DCC packaging
on archlinux and will affect other systems.
1.3.154
Fix editline build problem in cdcc reported by Robert Pelletier.
1.3.153
Resolve confusion between dccifd ASCII protocol options "no-grey"
and "grey-off" pointed out by Mark Thomas.
1.3.152
In `cdcc clients` output, suppress individual client addresses covered
by an address block in the server /var/dcc/blacklist file except when
explicitly requested as in `cdcc "clients 10.2.3.0/24"`.
1.3.151
Compress bad client addresses for `cdcc clients`.
1.3.148
Answer clients with bad client-IDs and passwords as if they were
using the anonymous client-ID.
Improve counting by dccd of clients in address blocks.
1.3.147
Fix missing clients in `cdcc clients`.
Fix NetBSD threads problem 1.3.146 reported by Petar Bogdanovic.
1.3.146
Add -I to `cdcc clients`
Reduce dccifd thread stack size to 512 KBytes for busy 32-bit systems
Fix some problems in the Windows version of dccproc.
1.3.145
Suppress some error messages about broken DCC clients from dccd.
Fix default start and stop Linux run levels in rcDCC as suggested by
Herve Eychenne.
Change start-dccifd to use `kill` instead of `/bin/kill` to accommodate
Linux systems where /bin/kill does not understand `/bin/kill -9 -$PID`
as the way to kill a process group.
`cdcc src` now accepts a pair of IPv4,IPv6 addresses.
Requests from anonymous DCC clients to the public DCC servers are grouped
by IPv4 /24 or IPv6 /56 address blocks for inflating the delay.
1.3.144
Fix a rare crash of dccd, the server daemon.
Allow "." in -B for dccifd, dccm, and dccproc as the base domain
name of DNSBL to support detecting and rejecting mail containing
URLs listed in a response policy zone (RPZ).
1.3.143
Fix `dccifd -V` broken in 1.3.142 reported by Chris Burton.
Fix "incompatible whitelist" SMTP bug in dccifd introduced in 1.3.139.
Deal with default -mstructure-size-boundary=8 in FreeBSD on ARM as
suggested by Ronald Klop. However, intermittent failures of
`cdcc "id 1; stats"` on FreeBSD 9.0-STABLE on a system with a
"Feroceon 88FR131 rev 1 (Marvell core)" seem to be caused by broken
consistency between write() and mmap(). That suggests that while
the DCC client software should generally work, the DCC server will
occassionally fail mysteriously.
Fix dccm parsing of Received headers for MX and MXDCC whiteclnt lines
that broke in verseion 1.3.139.
1.3.142
Improve physical page locality of the DCC server's use of the database
hash table and so improve server performance.
The nagios script in var/dcc/libexec/dcc-nagios now compares the clock
on the DCC server with the local clock.
`cdcc -VV` and other commands produce the ./configure parameters used to
build them.
Build cdcc with editline.
Add -P to dccproc, dccifd, dccm, and dccsight.
1.3.141
Fix "MTA-last" in dcc man page as suggested by Bram Grietens.
Fix no_forced-discard typo reported by Bram Grietens.
Fix dccm to honor `hackmc -R` and discard relay attacks.
misc/DCC.pm, which is generated from misc/DCC.pm.in, is now very
similar to what will probably be in SpamAssassin 3.4.
Fix problems finding native milter library for dccm pointed out by
Kevin A. McGrail.
Improve documentation or help output from the nagios plugin,
/var/dcc/libexec/dcc-nagios
Fix bug in misc/DCC.pm in dealing with mail that already has an
X-DCC header found and diagnosed by Herbert J. Skuhra.
1.3.140
tweak some HTML in the whiteclnt proof-of-concept pages
Fix bug in `wlist` display of address blocks reported by Rob McMahon.
Fix missing IP address in log files for mail from (as opposed to
relayed by) MX relays.
1.3.139
Give temporary rejections by dccm and dccifd for conflicting per-user
thresholds a separate message.
Add FreeBSD "faststart" to rcDCC.
1.3.138
Fix bad URL decoding reported by Kostik.
1.3.137
Fix some innocuous compilers warnings on Solaris and Ubuntu.
1.3.136
Fix dccd and cdcc for `cdcc clients` for large operation counts.
Deal with trailing '.' and other punctuation URLs in dccm, dccifd, and
dccproc as pointed out by Kostik. This changes the FUZ1 and FUZ2
checksums in some cases.
Fix a free(0).
1.3.135
/var/dcc/map on 32 and 64 bit versions of a system are now the same.
Dccproc, dccm, and dccifd decode HTML &#xxx character references in URLs.
Dccproc, dccm, and dccifd convert UTF-8 domain names to Punycode
before checking DNS blacklists.
Deal with Linux `logger` bug that does the wrong thing with something like
`logger message with -S dash S` as suggested by Leandro Santi.
1.3.134
Fix compile bug reported by Rob.McMahon involving old compilers
without "inline"
1.3.133
Fix DNSBL bugs in parsing http://example.com?parameter and
http://example.com:80 reported by Kostik
Increase number of distinct kinds of local or "substitute" headers that
can be locally white- or blacklisted to 8
1.3.132
Fix fstatfs() wrapper on Ubuntu and speed up dccd and dbclean when
a memory file system is used with -H.
1.3.131
Fix minor bug in updatedcc and fetch-testmsg-whitelist as suggested by
Taso N. Devetzis.
Find in_port_t in sys/types.h as reported by Josh Allen.
1.3.130
Fix serious bug reported by Bart Dumon in DNS whitelists on systems
without strlcpy().
1.3.129
Adjust dnswl.org in the sample dcc_conf file.
1.3.128
Support DNS whitelists. An example using dnswl.org is in the sample
homedir/dcc_conf file.
Fix dccproc, dccifd, and dccm crash in parsing Received: fields with
IPv6 addresses.
Parse IPv6 address literals lacking the "IPv6:" tag in Received: headers.
1.3.127
Fix problem with `dbclean -H` after a system reboot reported by Gary Mills.
Fix "duplicate symbol" problem on MacOS X or Darwin 10.3.0
reported by Robert Pelletier by removing the use of `ranlib -c`.
I hope this does not break things on older versions of MacOS X
or future DCC releases.
Fix printf compiler warnings on MacOS X.
1.3.126
Fix another problem in flooding server-ID types past server-ID mappings.
1.3.125
Fix stack corruption in version *.3.124.
1.3.124
Fix reporting of rogue server-IDs.
Remove vestiges of obsolete server-ID tracing.
Flood server-ID types past flod file mappings.
- Support DNS whitelists.
- Improve physical page locality of the DCC server's use of the database hash table
and so improve server performance.
- Reduce dccifd thread stack size to 512 KBytes for busy 32-bit systems
- Dccproc, dccm, and dccifd decode HTML &#xxx character references in URLs.
- Dccproc, dccm, and dccifd convert UTF-8 domain names to Punycode
before checking DNS blacklists.
- Fix reporting of rogue server-IDs.
- Fix dccproc, dccifd, and dccm crash in parsing Received: fields with IPv6 addresses.
- Fix DNSBL bugs in parsing http://example.com?parameter and http://example.com:80
- Deal with trailing '.' and other punctuation URLs in dccm, dccifd, and
dccproc. This changes the FUZ1 and FUZ2 checksums in some cases.
- Fix a rare crash of dccd, the server daemon.
The Distributed Checksum Clearinghouses or DCC is an anti-spam content filter
that runs on a variety of operating systems. As of the middle of 2007, it
involves millions of users, more than six hundred thousand client computer
systems, and more than 250 servers collecting and counting checksums related to
more than 300 million mail messages on week days. The counts can be used by
SMTP servers and mail user agents to detect and reject or filter spam or
unsolicited bulk mail. DCC servers exchange or "flood" common checksums. The
checksums include values that are constant across common variations in bulk
messages, including "personalizations".