Too many changes to note, but this works with PostgreSQL-9.1.5 without
spitting out any warnings which is my reason for updating it.
A few of prior pkgsrc patches have been merged upstream now.
1) Fix a bug when using SMTP/LMTP which can cause the mbox to be written
with trailing ^M's which causes the www interface to stop working.
2) Add a custom configuration option in dspam.conf of "StripRcptDomain" which,
if selected, strips the RCPT TO domain from email processed through DSPAM.
This is off by default.
PKGREVISION++
pkglintification
Remove bdb option (this has been removed from src)
Rename some options as they are (currently) DSPAM specific
Change MASTER_SITES
Fix permissions on installed files
Thanks to xtraeme@ for reviewing the changes
* jonz: removed depricated oracle driver
* jonz: fix for dynamic storage drivers api
* jonz: added connect check for pgsql
* jonz: fix for segfault on undefined DeliveryHost or ClientHost
* jonz: fix for segfault in vsyslog()
* jonz: fix for segfault in dlopen() failure
* jonz: added OSB tokenizer
* jonz: fix for segfault on log write err
* jonz: segfault fix for UIDInSignature
See the CHANGELOG for all the details:
http://dspam.nuclearelephant.com/text/CHANGELOG-3.8.0.txt
3.6.7 is a maintenance release
BUGFIX: Using UIDInSignature, wrong UID is written to message when using groups
BUGFIX: PostgreSQL driver does not reconnect on failure in daemon mode
BUGFIX: X-DSPAM-Probability sometimes misreported when multiple algorithms used
BUGFIX: Agent segfaults when DeliveryHost or ClientHost not specified, --client
BUGFIX: Agent segfaults on some systems when syslog is used
BUGFIX: Agent segfaults when dlopen() to storage library fails
BUGFIX: Infinite loop created when deleting preference, not using extensions
BUGFIX: ATX (agent context) does not hold enough bits for 'flags' variable
3.6.6 is a maintenance release
MAINT: Phased out deprecated Berkeley DB drivers
MAINT: Phased out legacy tools (dspam_corpus, dspam_genaliases)
BUGFIX: When using logfile, write errors result in segfault
BUGFIX: Compiler warnings with sqlite_drv and sqlite3_drv
BUGFIX: MySQLUIDInSignature causes segfault on retrain
BUGFIX: trainPristine preference "off" does not override default
RELEASE 3.6.5-STABLE
MAINT: PgSQL SQL tuning
MAINT: WebUI aesthetic and functional fixes
MAINT: Added --disable-syslog and --with-logfile= configuration flags
MAINT: Added -t flag for dspam_stats to total stats
MAINT: Markov result used as X-DSPAM-Confidence when Markov used
MAINT: Support for separate read/write servers to be used with mysql_drv
BUGFIX: Spam are quarantined when --deliver=summary
BUGFIX: Admin graphs malformatted when subject contains newline character
BUGFIX: WebUI does not use MAX_COL_LEN
BUGFIX: Output for dspam_admin aggr pref incorrect
BUGFIX: Flat-file preference writes fail on some systems
BUGFIX: Failure to connect to ClamAV causes segmentation fault
BUGFIX: NULL username in system causes segmentation fault
BUGFIX: ClamAV processing and cleanup issues
BUGFIX: Fragment files overwritten on retrain
BUGFIX: Miscellaneous invalid read / segmentation fault bugs
BUGFIX: If TrainingMode not specified in dspam.conf or passed in, segmentation fault
BUGFIX: No output returned when using --deliver=summary with dspamc
RELEASE 3.6.4-STABLE
DOC: Documented user preferences in README
MAINT: Added dspam_train tool, replacing most functions of dspam_corpus
MAINT: Code cleanup and performance improvements
MAINT: Significant improvements in accuracy, specifically reduced false pos.
MAINT: Removed experimental neural collaboration functions
MAINT: Added ClassAlias configuration directive to dspam.conf
MAINT: Added undo option for retraining via WebUI
MAINT: Added storeFragments support to WebUI
MAINT: Added mass-retraining support to WebUI
BUGFIX: DSPAM segfaults when invalid UID specified using UIDInSignature
BUGFIX: No output when using --classify with --client
BUGFIX: dspam_corpus overrides default dspam.conf settings
BUGFIX: Multi-driver builds fail when preferences-extension is not supported
MAINT: Modest performance improvements
MAINT: Significant improvements in accuracy (from scratch-testing anyway)
BUGFIX: "No TrustedDeliveryAgent" error occurs erroneously in some cases
BUGFIX: ChangeUserOnParse can format incorrectly
BUGFIX: The dspam_logrotate tool does not support multiple mailboxes
BUGFIX: Memory leak in Bayesian Noise Reduction
BUGFIX: LDAP calls fail to close connection to server
BUGFIX: Bayesian database is created even on LDAP user verification failure
BUGFIX: Token values incorrectly calculated, cause false positives
BUGFIX: Daemon mode + hash_drv results in crashes without HashConcurrentUser
BUGFIX: Invalid call to calloc() in hash_drv can lead to crashes
Package changes:
- Add DSPAM_WWWUSER and DSPAM_WWWGROUP as BUILD_DEFS
(not everyone uses apache)
- Change group ownership on dspam.conf to ${DSPAM_WWWGROUP}
Pointed out in tech-pkg@ by matt (at) bodgit-n-scarper.com
- Remove patch-ac as that's been applied upstream
- PLIST fixes for css* tools installed with hash driver
From DSPAM RELEASE_NOTES:
BUGFIX: ParseToHeaders can segfault on malformatted To header
BUGFIX: TrackSources does not correctly parse messages when used with QMail
BUGFIX: Missing check for existing strcasestr
BUGFIX: X-DSPAM-Reclassified heading appears blank
BUGFIX: Plused-Detail support does not work with domains
BUGFIX: Hash databases are not 8-byte aligned (do not work with 64-bit systems)
BUGFIX: Certain daemon-mode operations append a trailing period
BUGFIX: DataSource 'document' option causes improper processing
BUGFIX: Segfaults occur on malformed Content-Type header
BUGFIX: History appears blank in dspam.cgi
ok'ed xtraeme@
From the RELEASE file:
Automatic Whitelisting Improvements
Dynamically Loadable Storage Driver Support
PostgreSQL Performance Enhancements
LDAP Verification
Unified Spam Alias / UID in Signature Support
Domain Based Delivery Hosts
Integrated Clam A/V Support
Markovian Discrimination
Self-Contained Hash Driver
Fallback Domain-Based User Support
Improved, Unified Logging
Activity logging has also been improved
Plused Detail Support
Message Fragments Support
Domain Blocklisting Support
User preferences made case-insensitive
LMTP error codes now include messages from relay host
RBLInoculate option allows RBL'd emails to be quarantined or learned as spam
MySQL and PgSQL object creation scripts updated to improve performance
Added 'date' to quarantine display and sorted most recent at top
Significant code cleanup and audit
Domain-based groups changed from @domain.tld to *@domain.tld
X-DSPAM-Result expanded to support Virus, Blacklisted, and Blocklisted results
DSPAM WebUI now supports history paging
Rewritten documentation for ease of installation
properly dissociate ourselves from the controlling terminal (and more).
This is still not enough to make daemon mode stable for me on 3.0_BETA, but
it's certainly a step in the right direction.
Changes:
BUGFIX: File descriptor leaks when connection to delivery host fails
BUGFIX: Decoding NUL characters causes message truncation
BUGFIX: Many files not written to group directory when using managed groups
BUGFIX: Some LDAs/MTAs truncate message when single dots not properly quoted
BUGFIX: 7BIT encoding contains 8BIT characters
BUGFIX: Messages to multiple local recipients may fail to decode completely
Changes:
BUGFIX: File descriptor leaks when connection to delivery host fails
BUGFIX: Decoding NUL characters causes message truncation
BUGFIX: Many files not written to group directory when using managed groups
BUGFIX: Some LDAs/MTAs truncate message when single dots not properly quoted
BUGFIX: 7BIT encoding contains 8BIT characters
BUGFIX: Messages to multiple local recipients may fail to decode completely
Changes:
BUGFIX: Delivery of false positives fails in managed groups
BUGFIX: LMTP/SMTP delivery fails on non-250 2xx response code
BUGFIX: Messages missing a terminating boundary fail to receive a signature
Version 3.4.5-STABLE
This version is a maintenance release and contains bug fixes only
BUGFIX: First run / first spam notifications don't send for users in groups
BUGFIX: Permissions on dspam.sock are wrong mode
BUGFIX: Bogus signature retrieval errors in logs
BUGFIX: LMTP error codes reporting permanent errors for temporary failures
BUGFIX: ParseToHeaders' notspam- alias fails to change user correctly
Version 3.4.4-STABLE
This version if a maintenance release and contains bug fixes only
BUGFIX: Message-based signatures do not appear in quoted-printable/base64 parts
RELEASE 3.4.3-STABLE
This version is a maintenance release and contains bug fixes only
BUGFIX: When using LMTP/SMTP delivery, QuarantineAgent is ignored
BUGFIX: Domain-scale uses wrong data path in admin script
BUGFIX: DSPAM fails to build on Cygwin
BUGFIX: optIn does not work when using preferences extensions
BUGFIX: showFactors does not set/unset properly in user preferences
BUGFIX: Supplying an empty spamSubject raises errors in user preferences
BUGFIX: Signature-related errors are not reported (except to debug)
BUGFIX: Formatting bug in system.log
Changes:
BUGFIX: Minior memory leaks in multi-word tokenizer
BUGFIX: When using --classify, the system/user log is appended to
BUGFIX: Using signatureLocation=headers should prefer signature in headers
BUGFIX: History-based training only works for admins
BUGFIX: Long usernames malformatted in dspam_stats
BUGFIX: Daemon connection deadlocks when NULL characters are sent
BUGFIX: Other minor memory leaks
BUGFIX: PostgreSQL connections stay open in daemon mode
Changes:
o Accuracy Enhancements
o Bayesian Noise Reduction v2.0
o TUM-Mode Enhancements
o Library Performance Enhancements
o PostgreSQL Storage Driver Enhancements
o SQLite3 Storage Driver Support
o Daemonized LMTP Server
o LMTP Delivery
And more... more info in the RELEASE.NOTES file.
pkgsrc changes:
o Add a dspam rc.d script to start the daemon.
o The cgi configuration files were modified to support
CONF_FILES and PKG_SYSCONFDIR.
When using a NetBSD system, mount_umap(8) will be useful to mount
the cgi directory with www permissions, and you won't need to modify
any file in there! yay.
RELEASE 3.2.6-STABLE
BUGFIX: Sedation level instantiates when not specified
(should default to off)
RELEASE 3.2.5-STABLE
BUGFIX: statisticalSedation preference is ignored
Changes:
BUGFIX: MIME boundaries using broken RFC are misread
BUGFIX: Tools will not build when CFLAGS is provided
BUGFIX: DSPAM misreads lines after -- as headers and fails to decode them
BUGFIX: DSPAM misreads lines after -- and adds colons to them
Enhancements:
PostgreSQL Storage Driver
Some minor fixes have been made to the PostgreSQL storage driver which may
affect performance.
Version 3.2.3 is a maintenance release and contains corrections to
v3.2 only.
BUGFIX: DSPAM misreads boundary delimiter in signed Apple Mail messages
BUGFIX: Signature is not written to multipart blocks with no content type
BUGFIX: dspam_dump for a particular token fails with MySQL 4.1
BUGFIX: Bayesian Noise Reduction is never instantiated
Version 3.2.2 is a maintenance release and contains corrections
to v3.2 only.
BUGFIX: optOut preference no longer works
BUGFIX: Source address tracking doesn't work when using TOE
BUGFIX: LocalMX tag doesn't work in dspam.conf
BUGFIX: dspam.conf default permissions 0750
BUGFIX: Using SignatureLocation=headers no longer works with
fwd attachments
BUGFIX: Source address tracking is disabled by legacy #ifdef's
BUGFIX: Chi-Square cutoff is identical to default token value
BUGFIX: Tokens from lines 2+ of multi-line headers are not processed
BUGFIX: Signature scan segfaults when scanning some emails
BUGFIX: Signature encoding can cause segfault in sqlite_drv
Other Notable Changes:
CHANGE: TrackSources 'ham' token changed to 'nonspam'
CHANGE: Agent loose signature match changed from DSPAM: to
X-DSPAM-Signature:
Version 3.2.1 is a maintenance release and contains bugfixes to v3.2.0 only.
BUGFIX: PGP Messages cause pop3filter to hang
BUGFIX: Invalid read of free()'d memory caused by parsing multi-line headers
BUGFIX: SQLite driver fails to call PRAMA specified in dspam.conf
BUGFIX: MySQL generates DUPLICATE KEY errors on simultaneous inserts
BUGFIX: Memory leaks in dspam_clean
BUGFIX: dspam_clean crashes with SQLite driver
BUGFIX: Signatures include leading whitespace when in loose match
BUGFIX: Some versions of PostgreSQL don't support PQfreemem()
BUGFIX: Memory mishandling in PostgreSQL driver
BUGFIX: Message delimiters mangled when processing a PGP signed message
BUGFIX: --with-delivery-agent configure option no longer present
BUGFIX: Default log directory /var/log not writable by some installs
BUGFIX: Man page installation doesn't prefix with $(DESTDIR)
BUGFIX: Emails ending with http:// cause invalid memory read
Version 3.2 adds many significant enhancements, these include the
introduction of a dspam.conf master configuration, an aesthetically
redesigned web interface, support for SQLite, support for Windows, and
and many other enhancements.
More information:
http://www.nuclearelephant.com/projects/dspam/text/RELEASE-3.2.0.txt
pkgsrc changes:
* Default storage driver has been changed to SQLite, to sync with dspam's
defaults.
* Deprecated options has been removed totally, now you'll have to specify
them via PKG_OPTIONS.dspam=foo bar baz.
DSPAM (as in De-Spam) is an extremely scalable, open-source statistical hybrid
anti-spam filter. While most commercial solutions only provide a mere 95%
accuracy (1 error in 20), a majority of DSPAM users frequently see between
99.95% (1 error in 2000) all the way up to 99.991% (2 errors in 22,786).
DSPAM is currently effective as both a server-side agent for UNIX email servers
and a developer's library for mail clients, other anti-spam tools, and similar
projects requiring drop-in spam filtering. DSPAM has been implemented on many
large and small scale systems with the largest systems being reported at about
125,000 mailboxes.