SpamAssassin Changelog

What's new in SpamAssassin 3.3.2

Mar 6, 2012
  • A minor release, primarily to support perl-5.12 and later.
  • Additionally several other minor bugs are fixed.
  • Bug #6353: Fix FH_FROMEML_NOTLD, add MISSING_FROM
  • Bug #6427: Spamc windows header library missing two defines.
  • Bug #6476: patch to fix missing sa-awl man page bug
  • Bug #6470: Small change in windows to exit stating that the exit status is unknown. Thanks to Daniel Lemke for many of these small win32 patches.
  • Bug #6314: Complete removal of spamassassin.spec
  • Bug #6589: Errors in man pages
  • Bug #6588: Small bug in the regexp caught by Jose Borges Ferreira in
  • Bug #6515: spamd timeout_child option overrides time_limit configuration option with nastier behaviour
  • Bug #6490: Mail::SpamAssassin::Plugin::SPF - Two enhancement issues
  • Bug #6562: NULL reference bug in libspamc. Quick workaround to avoid a crash.
  • Bug #6454: wrong status test on $sth->rows in BayesStore::PgSQL
  • Bug #6418: Cannot Log to stderr without timestamps
  • Bug #6403: GMail should use ESMTPSA to indicate that it is in fact authenticated, but doesn't
  • Bug #6229: TextCat is too case sensitive
  • Bug #6241: mkrules does not understand newer options and "else"
  • Bug #6382: add missing unwhitelist_from_dkim, remove facebook and linkedin from dkim whitelisting
  • Bug #5744: some documentation fixes
  • Bug #6447: new feature to bayes autolearning: learn-on-error
  • Bug #6566: X-Ham-Report default wording ("has identified this incoming email as possible spam") is confusing and inaccurate
  • Bug #6468: splice() offset past end of array in HTML.pm
  • Bug #6377: win32: spamd signal handling
  • Bug #6376: win32: consider negative pids under windows in spamds waitpid
  • Bug #6375: win32: posix macro not implemented - spamd
  • Bug #6336: "Illegal octal digit 9" received during rules compile
  • Bug #6526: Disable rfc-ignorant.org
  • Bug #6531: clear_uridnsbl_skip_domain feature to allow admin override of default configuration
  • Bug #5491: MIME_QP_LONG_LINE triggering on valid email
  • Bug #6558: body rules having "tflags multiple" may cause infinite loop when compiled - a workaround
  • Bug #6557: Use same age limits in ruleqa as in sa-updates
  • Bug #6548: spamd protocol examples are wrong
  • Bug #6500: clear_originating_ip_headers seems to be broken
  • Bug #6565: check_rbl_sub rules - all dots need to be escaped - commit felicity/70_dnswl.cf and felicity/70_iadb.cf too
  • Bug #6565: check_rbl_sub rules - all dots need to be escaped
  • Bug #6578: Move TLD regexp to RegistrarBoundaries and make FreeMail use it
  • Bug #6392: fix one more case of a 'goto into a construct' this one occured with sa-compile
  • Bug #6443: Metadata Headers are Case-Sensitive
  • Bug #5690: tune BAD_ENC_HEADER score down
  • Bug #6022, tune TVD_RCVD_IP score down
  • Bug #6394: too high score for FREEMAIL_ENVFROM_END_DIGIT
  • Bug #6499: and mailing list: wrapped scores for rules DKIMDOMAIN_IN_DWL*, ACCESSDB and SHORTCIRCUIT into a suitable ifplugin/endif to avoid lint warnings; removed score for nonexistent rule SUBJ_RE_NUM.
  • Bug #6242: merge the boundary fix in r931527 to the 3.3 branch
  • Bug #6460: RCVD_ILLEGAL_IP false positives
  • Bug #6506: Modifying a list while traversing it with a foreach
  • Bug #6488: Lint errors with Perl 5.12.1 in AntiVirus.pm
  • Bug #6467: Remove assigned 223/8 from RCVD_ILLEGAL_IP
  • Bug #6419: Resolve rounding issue irregularity with spamd/spamc
  • Bug #5894: spamd doesn't use vpopmail virtual users' dirs - removed one extra space
  • Bug #6416: avoid undef warnings in AutoWhitelist.pm as a result of incorrect Received header field or its incorrect parsing
  • Bug #6415: Open of auto-whitelist file failed: Insecure dependency in eval
  • Bug #6299: update, enhance, and expand RCVD_ILLEGAL_IP from
  • Bug #6392: Test suite fails with perl 5.12.0
  • Bug #6412: remove .yu TLD and add .me SLDs
  • Bug #6395: backport - improved URI parsing
  • Bug #6393: make File::Copy module load conditional on 'sa-learn --upgrade' with DBM files, not very commonly used
  • Bug #6396: Use of uninitialized value in lc at lib/Mail/SpamAssassin/Plugin/MIMEEval.pm

New in SpamAssassin 3.3.1 (Mar 24, 2010)

  • bug 6335: add Spamhaus DBL as URIBL_DBL_SPAM rule
  • Bug 6370: update ImageInfo plugin to latest release
  • bug 6215, bug 6294: RCVD_IN_CSS rule was broken. the check_rbl_sub() syntax was incorrect, resulting in missing hits
  • bug 6361: list 2tld and 3tld sub-domain hosters for URIBL/SURBL/DBL queries; NOTE for SARE users: This file replaces the SARE file http://www.rulesemporium.com/rules/90_2tld.cf, which will be deprecated as from 2010-05-01.
  • Bug 6369, 6356, 6373: WIN32 support for spamd improved
  • Bug 6267: Solaris 10 requires --syslog-socket=native
  • bug 6304 spamd is spawning and killing processes too often - Added spamd adjustments to info level and more information for administrators + small fix to Makefile.PL
  • Bug 6310: sa-learn --import gives Insecure dependency in open
  • Bug 6313: -Q or -q AND -x should not result in creation of a ~/.spamassassin dir; plus: taint issues fixed
  • Bug 6342: make test failure on if_can under perl 5.6
  • Bug 6340: Impossible to find user home directory of VPOPMAIL alias
  • Bug 6072, 6343: POD warnings, documentation fixes
  • Bug 6304 (trivial), reduce sysadmin's stress level by lowercasing the 'INTERRUPTED' in a logged message: spamd: handled cleanup of child pid [...] due to SIGCHLD: INTERRUPTED
  • Bug 6329: POSIX::strftime in call under Win32 ActivePerl causes Perl to hang up; formatting option %e is not in a POSIX standard, use %d instead and edit
  • Bug 6322: In DKIM ADSP eval test check_dkim_adsp() the '*' is handled incorrectly
  • Bug 6327: Fix calling argument in utility used to determine DCC's homedir
  • Bug 6316: DCC.pm, wrong options for dcc_proc, (plus: avoid a warning on undef in logger when dccifd socket is not provided)
  • Bug 6287: improved DKIM plugin debugging
  • Bug 6321 - _TOKENSUMMARY_ not working in 3.3.0 (Plugin/Bayes.pm looks-up a tag from wrong location)
  • Bug 6312 - uninitialized value $start_time in spamd
  • bug 5761: trivial doc fix: document SPAMD_LOCALHOST test-control env variable

New in SpamAssassin 3.2.5 (Jun 13, 2008)

  • bug 5775: newer gpg versions require keys to be cross-certified (backsig). Did a cross-verify on our sa-update public key and re-exported. (If you are already seeing "GPG validation failed" errors from sa-update, see http://wiki.apache.org/spamassassin/SaUpdateKeyNotCrossCertified .)
  • bug 5899: add perl version string to the storage area for compiled rulesets, to avoid crashes when perl is upgraded between major versions (e.g perl 5.8.x to 5.10.0) and the ABI breaks
  • bug 5496, bug 5910: clear some FORGED_MUA_OUTLOOK false positives, particularly on the new-format Message-ID generated by the Outlook Express version used in Windows XP service pack 3
  • bug 5730: when using Postgres >= 8.1.0 with Bayes, this error occurs: 'WARNING: nonstandard use of in a string literal at character'. fix
  • bug 5769: fix 'sa-compile: eval failed: Can't find label NO' error, caused in rare circumstances when sa-compile attempted to deal with rules written using 'replace_rules' features
  • bug 5858: fix circular reference memory leak caused by some messages
  • bug 5815: update 2TLD list to include .rs CCTLD
  • bug 4706: remove HG_HORMOME rules due to poor performance
  • bug 5835: typo in POD docs for SPF plugin; thanks to Benny Pedersen for fix
  • bug 5839: a missing or failed eval rule function could mistakenly count as a rule hit, fixed
  • trivial bugfix for the VBounce ruleset: __BOUNCE_FROM_DAEMON incorrectly used instead of *, so some From addresses were not being recognised as bounce senders

New in SpamAssassin 3.2.4 (Jan 12, 2008)

  • bug 5599: allow load distribution of SA nameserver queries across all nameservers listed in resolv.conf, using 'dns_options rotate'. thanks to Pawel Sasin
  • bug 5673: 'ALL' header was including spurious extra spaces between header names and values. fix
  • bug 5594: several major sa-compile fixes. major increase in overall speed; cache results between runs to further increase speed; and fix a danger of massive memory usage
  • bug 5556: fix a variety of sa-compile portability issues, and support for 5.6.x perls
  • bug 5514: make 'score set for a non-existent rule' a debug message, instead of a lint warning, since it's a very frequent FAQ
  • bug 5493: sa-compile fails to correctly deal with escaped backslashes. fix
  • bug 5672: remove DNS_FROM_SECURITYSAGE (DNSBL lookups against securitysage.com) due to unreliability
  • bug 5476: update Bonded Sender (now Sender Score Certified) rules, and add a rule for their strictly-confirmed-opt-in-required zone
  • bug 5538: remove FORGED_MUA_AOL_FROM and FORGED_AOL_TAGS entirely; they're obsolete, given the current capabilities of AOL mail user agents
  • bug 5632: remove all completewhois.com DNSBL lookups, site seems to have disappeared without warning
  • bug 5715: allow for more than one sa-update MIRRORED.BY file host in DNS, for redundancy
  • bug 5662: DKIM changes: recognize author signature and multiple signatures for whitelisting (with Mail::DKIM 0.29); disable useless "check_dkim_signsome"; new eval rules "check_dkim_valid_author_sig" and "check_dkim_valid" (an alias for a "check_dkim_verified" misnomer); new tags _DKIMIDENTITY_ and _DKIMDOMAIN_; updated terminology; verification speedup with Mail::DKIM 0.30 (or its pre-releases)
  • bug 5696: sa-compile: cut regexp base strings at Unicode high codepoints, to avoid corruption of patterns containing UTF-8
  • bug 5637: bayes_file_mode is handled incorrectly when creating bayes.mutex, resulting in incorrect permissions on that file; fix by Mihaly Barasz
  • bug 5612: DB_File version 4.2.x has a bug that loops infinitely if files named '__db.{filename}' are present; work around. thanks to J. Nick Koston for the report and fix
  • bug 5606: too-early init_learner() call causes root's user prefs file to be read when spamd is started; this is inappropriate. fix
  • bug 4179: if allow_user_rules is 1, user rules are not unique to each user; one user's user rules can appear in later scans for other users that are run using the same spamd process. fix
  • bug 5680: ALL_TRUSTED can fire if a trusted MSA or webmail system receives the message from an untrusted X-Originating-IP: header. fix
  • bug 5626: in the 'spamassassin' script, install a signal handler for SIGHUP, SIGINT, SIGTERM and SIGPIPE to ensure that temporary files are removed
  • bug 5557: some temporary files are left not cleaned up on Windows; fix
  • bug 5661: speed up Bayes SQL queries by allowing the use of indexes when expiring
  • bug 5611: support 'spamd --nouser-config -u username', which setuids to 'username' but does not read user_prefs files from anywhere
  • bug 5665: spamd may fail to notice that a child has completed exiting, and keeps in the child list in state 'K', eventually filling up the child list with 'ghost' children. fix
  • bug 5735: spamc should allow retry_sleep 0
  • bug 5728: spamd: require -u with --sql-config or --ldap-config
  • bug 5682: remove FH_HOST_ALMOST_IP, FH_HOST_EQ_D_D_D_D, due to false positives and redundancy with RDNS_DYNAMIC; remove FH_HOST_EQ_D_D_D_DB due to no hits
  • bug 5681: look up IP addresses found in 'X-Yahoo-Post-IP' and 'X-SenderIP' headers, too, thanks to Martin Blapp
  • Bug 5589: Refined async events handling and DNS lookup completions
  • bug 5586: RDNS_NONE has false positives if the MTA doesn't put the hostname in the Received header, like Communigate Pro. add an exception for this
  • bug 5748: fix locale problem with use of external sort in sa-compile