summaryrefslogtreecommitdiff
path: root/mail/bogofilter
AgeCommit message (Collapse)AuthorFilesLines
2005-11-22Add an sqlite option. From Geert Hendrickx via tech-pkg.wiz2-3/+21
2005-11-21Update to 0.96.6, provided by Geert Hendrickx in private mail:wiz5-34/+22
0.96.6 2005-11-11 * Fix parsing error after binary attachment. 2005-11-10 * Correct charset_default value in bogofilter.cf.example 0.96.5 2005-11-07 2005-11-04 * Fix parsing of config file string options. * Fix handling of unknown charset name. 0.96.4 2005-10-31 2005-10-29 * Removed the BUGS section from the bogofilter man page as it's now obsolete. 2005-10-26 * The bash-dependent contrib/* scripts were changed so they may now work on regular POSIX compliant sh (NOTE: Solaris has a POSIX sh in /usr/xpg4/bin/sh, Solaris's /bin/sh is unsuitable for bogofilter!) * The contrib/ directory is now managed by the top-level Makefile.am, which removes one "make" recursion. This implies that "bogogrep" is now built on the top level rather than in contrib/. * Renamed all contrib/ scripts to that their suffix gives a hint what kind of script it is (.pl, .sh). * Recognize all image/ types as opaque data that we do not parse, rather than just image/bmp. 0.96.3 2005-10-25 (a.k.a. 1.0.0-rc3) * Don't decode mime-audio and mime-video attachments. * Remove unused CP866 code. 2005-10-23 * Fix possible SIGSEGV with long html comments. 2005-10-22 * Don't decode mime-image and mime-application attachments. 2005-10-21 * Avoid pointer use after freeing its memory. * Avoid buffer overflow during conversion to unicode. 2005-10-15 * Fix program abort when bad options are used. * Remove unused Berkeley DB locking options. 2005-10-12 * Fixed sqlite build option in bogofilter.spec.in (contributed by Tobias Roppelt) 2005-10-07 * Added contrib scripts bfproxy, spamitarium, and stripsearch (contributed by Tom Anderson) 0.96.2 2005-10-06 - Promoted to Stable Release 2005-09-25 (a.k.a. 1.0.0-rc2) 2005-09-25 * SQLite3 - no longer using EXCLUSIVE in BEGIN TRANSACTION as it seems unnecessary and it causes trouble on MAC OSX 2005-09-19 * Require sqlite 3.2.6 and print warning if older version installed, to avoid people running into critical bugs in older sqlite3 versions. The test can be defeated by setting the environment variable BF_USE_OLD_SQLITE to any value. Also warn on 32-bit machines. 2005-09-16 * Fix bogus t.maint failures on some systems that don't use bash for /bin/sh (for instance, FreeBSD). 2005-09-11 * Resurrected atexit() code to ensure databases have been closed (needed for rare cases on RISC OS). 2005-09-07 * Perform unicode conversion after base64 and quoted-printable decoding. (Thanks to Mikhael Zabaluev for the patch) 2005-09-06 * (sqlite3 based builds only) Print reminder to register tokens before scoring if preparing the SELECT statement fails. * Avoid "obsolete option -I- used, please use -iquote instead" nagging from GCC version 4. (Heck, autoconf has even reached include lines that worked for ages.) 2005-09-05 * Replace mime stack by linked list (to correct gentoo bug #69893). * Fix configure's --with-included-gsl option. (Thanks to Torsten Veller for the patch) 0.96.1 2005-09-05 (a.k.a. 1.0.0-rc1) 2005-08-24 * Fix incompatibility with SunOS make(1S), adding a missing trailing backslash character to src/Makefile.am. 2005-08-17 * Update RISC OS versions of Makefile and config.h 0.96.0 2005-08-15 2005-08-14 * When directory name is argument for bogoutil's dump/load option, use "wordlist.db" to avoid a sigsegv. * Remove support for TDB, the Trivial Database. 2005-08-05 * db_lock.c: rename "cell_t" to "bf_cell_t" to avoid clashing with IRIX's cell_t. Reported by Daichi Kawahata. * configure.ac: MIPS doesn't have extended FP precisiopn. Patch by Daichi Kawahata. 2005-08-03 * bogotune - Restored code for recommending db_cachesize value. 2005-07-10 * Bogofilter now complains if sqlite 3.2.1 or older is used on a machine with a word width greater than 32 bits, but tries to proceed. It may however crash with SIGBUS as sqlite 3.2.1 performs unaligned 64-bit accesses. sqlite 3.2.2 or newer is strongly recommended. 2005-07-04 * Updated history of stable releases (file RELEASES). 2005-07-03 * Switched t.encoding test to use the POSIX utility cksum, rather than OS-specific utilities such as md5sum or md5. 0.95.2 2005-07-08 - Promoted to Stable Release 2005-06-30 2005-06-29 * Fix incorrect directory creation revealed by t.bogodir. * Use unicode & transaction enable/disable flags to limit 'make check' tests being run. 2005-06-28 * Fixed buffer allocation error causing problem processing RFC2047 encoded words. * Fixed wordlist access problems causing bogotune to incorrectly complain of mixed database encodings. 2005-06-21 * Bogofilter programs now use their own locking for transactional databases, to evade the problems with overflowing lock tables, resizing. The database is locked globally, which no longer allows registrations to happen concurrently with read access. The db-lk-max-locks and db-lk-max-objects options and the bf_resize scripts and pages have been removed. 0.95.1 2005-06-26 * Fixed some wordlist open conflicts in bogotune. * Document unicode requirements for 'make check' 2005-06-25 * Added unicode processing of encoded tokens. 2005-06-24 * Use iso-8859-1 for default charset, rather than us-ascii. 0.95.0 2005-06-20 * Fix bf_resize bash-isms (let BLAH...) and use POSIX-sh arithmetic expansion $((...)) instead, to fix bf_resize on FreeBSD. Reported by Andrey Chernov. 2005-06-19 * New unicode capabilities! - default configuration: . bogofilter auto-detects whether database is using unicode (utf-8) or not. . bogofilter uses unicode when creating new databases. . bogoutil preserves unicode/non-unicode stat during dump/load. . bogofilter, bogolexer, and bogoutil have "--unicode=yes/no" options which permit user selectable modes for experimenting, testing, and wordlist conversion. - configure with "--enable-unicode" or "--disable--unicode" builds bogofilter and bogolexer restricted to a single mode. - bogoutil uses "--unicode=yes/no" when creating a new wordlists. - bogoutil uses "--unicode=yes/no" in maintenance mode to convert a wordlist to/from unicode. - bogolexer uses "--unicode=yes/no" to control parsing 2005-06-18 * Added FAQ entry on using bogofilter with qmail. 2005-06-11 * Output --help messages to stdout (rather than stderr) so more can be used for paging. 2005-06-10 * TDB driver now copies TDB returned data in the traversor to align data at proper boundaries, to avoid SIGBUS on some architectures and performance loss on others. 2005-06-09 * Close environment after probing if it has transactions, to conform to Berkeley DB documentation and not leak a file descriptor. 2005-06-07 * Additional unicode support: Added global variable encoding { E_RAW, E_UNICODE } Added --unicode=yes/no options for bogolexer and bogoutil. Added meta-token .ENCODING { 1=raw, 2=unicode } 0.94.14 2005-06-18 - Promoted to Stable Release 2005-06-08 * Fix bug in transactional auto-detection that caused recovery to fail if the environment was in PANIC state. (Reported by Andrey Chernov.) 2005-06-06 * Removed extra SunOS 4.1.x support code. 2005-05-31 * Support systems with GNU iconv or separate libiconv. * Split up acinclude.m4 into separate files under m4/. 2005-05-29 * Refactor charset and unicode functions into charset.[ch], convert_charset.[ch], and conver_unicode.[ch] * Add configure and runtime options to select charset and/or unicode character conversion: ./configure - runtime selection ./configure --enable-unicode - unicode only ./configure --disable-unicode - charset only bogofilter --unicode=yes - use unicode conversion bogofilter --unicode=no - use charset conversion 2005-05-29 * Consistency: Skip test if Berkeley DB supports shared environments when ./configure --disable-transactions is run, as shared environments are only needed for transactions. (Fixes SunOS portability problem reported by Charles Hewson.) 0.94.13 2005-05-28 * Minor cleanups to iconv code. 2005-05-26 * Fixed buffer sizing problem affecting unicode encoding of long lines. * Added '-q' (quiet) option for bogofilter to suppress printing of statistics. * Added return code to lookup function to support error retries. 2005-05-24 * Fixed compilation problems with --enable-iconv and --enable-russian. Thanks to Lev Butyrev and Yar Tikhiy for reporting them. * Modified configure.ac and added t.query.config.in so t.query.con regression test works with --enable-iconv. 2005-05-21 * Efficiency: The SQLite adaptor now creates new databases with an additional index, to reduce CPU time for lookups. You can add the same index to existing databases by typing: sqlite3 ~/.bogofilter/wordlist.db \ 'CREATE INDEX bfidx ON bogofilter(key,value);' 2005-05-19 * Efficiency: The SQLite adaptor now precompiles the common SQL statements with variables, which avoids the need to parse/compile them for every single token we acces, and which avoids the need to hex encode/decode tokens (suggested by D. Richard Hipp, SQLite maintainer). * Efficiency: save one malloc() in db_get_dbvalue(). * Cleanup: The SQLite adaptor now uses a single central busy handler, which simplifies the code. * Bugfix: Fix abort/retry logic with transactional interfaces (Berkeley DB and SQLite) so that retries actually work. 0.94.12 2005-05-15 - Stable Release * RELEASE notes now has a brief summary of the changes since the last stable release (0.92.8) in October 2004. * Man pages added for the utility scripts bf_compact, bf_copy, bf_resize, and bf_tar. * bf_tar now includes the DB_CONFIG file in the output if present. 2005-05-13 * French FAQ updated by Fabrice Prigent. 2005-05-12 * bogofilter-milter.pl update by Jonathan Kamens. Use Spam/Ham rather than Yes/No, fixes to syslog calls, efficiency improvements. 0.94.11 2005-05-10 * Correct variable name in bf_resize. 0.94.10 2005-05-08 * Substitute path to the same awk program that configure found into bf_compact so it works on systems that have only nawk or gawk but not awk. * Substitute path to SUSv2 compliant shell in bf_* script "magic shebang" lines, so they use /usr/xpg4/bin/sh on Solaris 7+ and don't fail any more. * Repaired t.abort and t.probe tests to work with ancient shells. 2005-05-07 * Fixed pathing problem in bogoutil. Default directory should be "." * Revised utility scripts (bf_copy, bf_compact, bf_tar, bf_resize) for consistency and Solaris 9 compatibility. 0.94.9 2005-05-06 * Fixed pathing regression which caused 'bogofilter_dir=dir' option to supercede '-d dir' option. 0.94.8 2005-05-03 * Revised manpage's description of -p (passthrough) option. * When configured with --enable-transactions or --disable-transactions - Fixed compilation problem - Fixed bogofilter -Q reporting - Skip t.probe during "make check" 0.94.7 2005-04-30 * Fix transaction enabling/disabling so that command line options, i.e. --db-transactions=yes/no, are primary and probing is secondary. 0.94.6 2005-04-26 * Fixed bogoutil help and documentation to show that -d, -l, -w, -p, and -H options expect a filename, not a directory. * Refactored bfpath creation to clean up open modes and lessen number of external calls into paths.c * Added db-3.2.9 compatibility macro for db->stat(). * Updated bogominitrain.pl to v1.6 0.94.5 2005-04-23 * Fixed database open bug in bogoutil. 2005-04-20 * bf_compact now removes the $BOGOHOME.old directory before renaming the backup to this name, to avoid nested backup directories. * Let bf_compact maintain current state of transactions vs. non-transactions. (Bug report: Bill McClain) 2005-04-10 * Use bogoutil --db-print-leafpage-count in bf_resize. * Add --db-print-leafpage-count mode to bogoutil. * Use bogofilter -QQ in bf_resize and bf_tar. * Use bogoutil --db-list-logfiles in bf_copy and bf_tar. * Add --db-list-logfiles mode to bogoutil. Can list inactive or all logfiles in relative or absolute paths. * Repair bf_copy script that lost log.* files, possibly corrupting database if they had been transactional. The defect was introduced into bogofilter 0.94.2. 2005-04-09 * Suppress valgrind reports of errors in glibc::strchr. 0.94.4 2005-04-07 * The RELEASE.NOTES file has been reformatted for readability. * When using transactions, the db_log_autoremove option is now enabled by default (to match the documentation). * Option db_log_autoremove has been added to bogofilter.cf.example 2005-04-05 * Fix segfault in VERP processing. 2005-04-04 * The code for handling file and directory names has been rewritten for clarity and maintainability. Some options for bogoutil which used to take a directory argument now take a filename, for example -H, -r, and -R which all operate on a database, not on a database environment. 2005-04-03 * File handling code rewritten to use bfpath structure for holding all info and with a 3 step use of the info. 1 - create bfpaths during command line and config file processing; 2 - validate directories and file names; and 3 - use files for processing. 0.94.3 2005-03-29 2005-03-27 * Added FAQ info on using bogofilter with mutt and sylpheed claws. * Fixed --db-print-pagesize so that the proper directory is used for database environment. 2005-03-25 * Add error checking to bogoutil's ROBX calculation. * Allow --db-verify to work for non-transactional databases. * Repair several minor defects around --db-print-pagesize. Support page size detection with Berkeley DB 3.1 and 3.2 (it was already supported for 3.3 - 4.3). Offer --db-print-pagesize function in bogoutil --help when compiled against SQLite3. * Add more intensive bogoutil inspection to the test suite. * Fix incomplete cleanups that broke several bogoutil functions again, among them --db-recover[-harder], --db-remove-environment, --db-verify and --db-print-pagesize. * Let SQLite3 retry when the database is busy (rather than locked). 0.94.2 2005-03-24 * Fix SQLite3 open problem, trying again when the table it is locked. 2005-03-23 * Fix --enable-iconv breaking with non-ASCII default charset. * bogolexer now understands the --charset-default options. 2005-03-22 * Fix SQLite3 regression in 0.94.0 that broke consistency guarantees and caused a _massive_ slowdown. * Add 'bogoutil --db-print-pagesize', to query the database size, useful to replace running awk on 'db_stat -d database.db' output. 2005-03-20 * Fixed dirname/filename problem in bogotune. 0.94.1 2005-03-16 * Long options cleanup: options that have no meaning for a particular program are now rejected, to meet common expectations. The option parsing code was cleaned up and is easier to maintain now. 2005-03-14 * Add 'bogoutil --db-checkpoint', to replace db_checkpoint -1h. 2005-03-13 * Modified get_token() to use static storage in order to lessen malloc/free overhead. 2005-03-09 * Fix segfault in 'bogoutil --db-verify'. 2005-03-08 * Support for Berkeley DB 3.1 is back. * Terminate 'bogoutil -d' when SIGINT or SIGTERM is received. 2005-03-07 * Fixed query_config ('-Q') option. 0.94.0 2005-03-05 Default mode is transactions disabled for Berkeley DB. 2005-02-26 * Remove bogus signal handler, remove SIGKILL handling; ignore SIGINT, SIGTERM and SIGPIPE. * Fix non-transactional mode for Berkeley DB 4.0 and older. 2005-02-25 * Implement --db-log-autoremove=BOOL option, defaults to on. This option removes outdated log files automatically before closing the environment, to conserve disk space. * Added signal handler to catch SIGINT, SIGKILL, and SIGTERM and exit cleanly. * Support for Berkeley DB 3.1 has been removed as a side effect of automatically detecting transactional mode at run-time, since 3.1 lacks DB_JOINENV. 2005-02-24 * Transactional datastore autoprobing was completed, it assumes transactional mode if log.NNNNNNNNNN files (where N in {0, 1, ... 9}) are found. * Add swapped endian support for SQlite3 database, to support reading big endian (SPARC) generated databases on little endian machines (x86) and vice versa. To enable reading databases on machines with differing endian, dump and re-load the databases on a machine with same endian as the machine that created them. 2005-02-18 * Added code to auto-detect when a transaction environment exists and act accordingly (if none of the enable/disable options are specified in the config file or on the command line). 2005-02-10 * Fixed problem causing SIGSEGV when using options "-p" and "-s" with multiple wordlists. 2005-02-06 * Code to enable/disable Berkeley DB transactions now uses an OO paradigm (implemented via struct of method addresses). * Enabling/disabling transactions is now run-time selectable using "--enable-transactions=yes/no" on the command line and "enable_transactions=yes/no" in the config file. * Use "./configure --enable/disable-transactions" for build time specification. 2005-01-28 * Add option "--db-transaction=yes/no" for run-time enabling/disabling of transactions. 2005-01-25 * Removed unused program bogowordfreq. 2005-01-23 * Included charset_iconv.c in the build. 0.93.5 2005-01-22 2005-01-21 * Revised t.systest to remove vestiges of different scoring algorithms. 2005-01-17 * bogotune's '-M' option for converting a message to msg-count format now requires a filename option. 2005-01-15 * Fixed segfault caused by using non-existant option 'F' * Fixed size/count errors in wordhash code used by bogotune. 2005-01-12 * Fixed an array overrun in bogotune that caused problems when using msg-count files. * Include saving of Unsures in procmail example in man page. * Change Yes/No/Unsure to Spam/Ham/Unsure in FAQ. 2005-01-09 * bf_util scripts now use name 'BOGOHOME' for their directory parameter and check that it really is a directory. 0.93.4 2005-01-09 2005-01-08 * Misc fixing of compiler warning messages. * Minor refactoring of charset code. 2005-01-05 * Fix --enable-transactions logic, was inverted since 2004-12-26 (affected release: 0.93.3.1 only, 0.93.3 was fine). Note that giving neither --enable-transactions nor --disable-transactions would still enable transactions. 2005-01-04 * bogoutil now reads the configuration files to know the user's db_lk_max_* values. Reported by Karl O. Pinc. * Added '--config-file=name' to bogoutil to name a config file and '-C' option to suppress reading a config file. * Berkeley DB Transactional recovery now uses the actual db_lk_max_* values rather than hardcoded 1024. Reported by Karl O. Pinc. 2005-01-03 * Added '--default-charset=name' option to configure script. 2005-01-02 * Initial support for Russian character sets. (Thanks to Evgeny Kotsuba) 2004-12-30 * Bogolexer man page: replaced incorrect references to 'bogofilter' with 'bogolexer'. * Added '-O file' to specify bogolexer output file. 2004-12-28 * Fixed bogoutil --db-remove-environment DIR, which would just abort. * Fixed several memory leaks. * Refactored long option code. All definitions are now in one file (longoptions.c). Programs bogolexer and bogoutil ignore options that don't apply to them, rather than abort. * Long options used in the config file use underscores in their names. Used on the command line, they have hyphens. This fixes a problem where some options had hyphens and some had underscores. 0.93.3.1 2004-12-26 * Fixed errors in bogoutil's usage and help messages. 0.93.3 2004-12-24 * Bogoutil's options for maintaining the database environment are all long options with a "db-" prefix. * Bogoutil's help message and man page include the new long options. 2004-12-21 * Early Christmas Gift: Bogofilter now supports SQLite v3. Requires SQLite v3.0.8. See the RELEASE.NOTES. 2004-12-20 * Internal cleanup: Move transaction handling back into database space, and let the database backend driver map this into the environment if necessary. * Portability fix for BerkeleyDB versions 3.1 and 3.2: log_archive expects a fourth argument. 2004-12-17 * lexer_v3 HTML parser fix for urlencoded characters, by Krzysztof Foltman. Speeds up a particular case of malformatted mail. 2004-12-14 * bogoutil -C file now checks if the database file file is intact. (Only implemented for Berkeley DB stores with and without transactions.) 2004-12-13 * bf_compact now uses db_archive without -d option and loops on the results instead, calling rm in turn for each file. -d is not supported by older Berkeley DB versions such as 4.0. * bogoutil -P directory now checkpoints the database and removes inactive log files. Note you must save the database and remaining log files, in that order, if you want to be able to recover from corrupted files. 2004-12-10 * Limit mime overflow error messages to 1 per email. 2004-12-09 * configure now checks if Berkeley DB supports shared environments and suggests workarounds if it doesn't, to aid Fedora Core users. 2004-12-05 * New directory doc/programmer/OS2 contains configure.os2 script contributed by Yuri Dario 0.93.2 2004-12-03 * New script bf_resize DIR that checks the sizes of all databases in an environment and writes a lock size to DB_CONFIG. 2004-12-02 * Accuracy fix: message counts of ignore lists (that can be present) will be ignored and no longer skew the spamicity. 2004-12-01 * Allow environment to be group writable, reported by Fletcher Mattox. * Accuracy fix: no longer pretend that we had seen an empty message registered when there was no registration. Use ROBX for spamicity. This changes the output format of bogofilter -vvv mode when no spam or no ham messages have been registered previously. 2004-11-29 * Support for Berkeley DB 3.0 was explicitly removed again, so that no stable bogofilter version since 0.17.5 will have had support for this version. This eliminates the need for on-disk database format upgrades and keeps things simple. As the unadvertised breaking of BDB 3.0 didn't raise a single complaint and 3.1 has been around since July 2000, this should be safe. * Support long options in bogoutil. * Add --remove-environment DIR long option to bogoutil, to remove the environment. Only one such option can be used and there is no corresponding short option. * Remove useless numeric Berkeley DB error codes from error messages. 2004-11-26 * bogofilter processes will refuse to open multiple wordlists in different database environments (directories) when the transactional Berkeley DB datastore is compiled (default). The non-transactional (--disable-transactions), QDBM and TDB datastores are unaffected. 2004-11-21 * bogotune now uses getopt() to process the argument list, hence requires a '-n' flag before each non-spam file and a '-s' flag before each spam file. * bogotune now accepts '-x flags' to set debug flags. 2004-11-20 * Make scoring one huge transaction, rather than one individual transaction per token. This fixes consistency and should improve score speed. WARNING: this seems to have broken bogotune, which, BTW, doesn't return errors to the test suite (t.bulkmode, with message-count files), it reports a bogus "PASS" in spite of database PANICs. 2004-11-19 * Restored the old traditional Berkeley DB datastore that cannot be recovered. Its use is discouraged, to use this, type ./configure --disable-transactions * Restored the error message when recovery is attempted on QDBM databases, was lost in the DEPOT (hash) ->VILLA (B+tree) switch. 2004-11-15 * Added utility script bf_tar. 2004-11-14 * Added utility scripts bf_copy and bf_compact. * Added BerkeleyDB warning for binary rpm users. 2004-11-12 * New entries in bogofilter-faq.html on error messages "Lock table is out of available locks" and "Lock table is out of available object entries" * Add %u formatting option to print login or user ID information, SourceForge Feature Request #1056729. 0.93.1 2004-11-11 * The README.db file now has information on the DB_CONFIG file that can be created and used to configure the Berkeley DB module. * Bogofilter's config file now supports setting max lock and object counts for Berkeley DB using options db_lk_max_locks=N db_lk_max_objects=N * Bogofilter and bogoutil now allow these options on the command line, as: --db_lk_max_locks=N --db_lk_max_objects=N * When running database recovery automatically, don't let go of the lockfile, so we can do our actual work subsequently. 2004-11-10 * Support for BerkeleyDB 4.3 was added. We'll avoid DB_NOSYNC on DB->close() when DB_LOG_INMEMORY is configured for now. * Update manual pages/example outputs and filter recipe examples from "X-Bogosity: yes" to "X-Bogosity: Spam". Fixes Debian bug #280557. * Bugfix for BerkeleyDB 4.2 support: check the data base flags, not the environment flags, for DB_TXN_NOT_DURABLE, when determining whether DB_NOSYNC is safe on DB->close(). May fix some kinds of database corruption encountered with DB_TXN_NOT_DURABLE. * Return DB_VERSION_STRING contents in -V (version) output when compiled against Berkeley DB. Minor change to the output format. 2004-11-09 * Unify and clean up the horrible RELEASE.NOTES-*, CHANGES* and NEWS-* mess with lots of duplicated info. There shall only be one RELEASE.NOTES file and one NEWS file. RELEASE.NOTES shall contain important information for updates. NEWS shall contain noteworthy code changes in technical detail. This also removes the confusion that RELEASE.NOTES didn't contain information relevant for 0.93.X. 2004-11-08 * Berkeley DB mode: do not create data base in read mode (properly map open_mode to DB_RDONLY flag, store open_mode). * Berkeley DB mode: exit with error code if lock file cannot be created. Attempt recovery even if creation of lock file succeeded. 2004-11-07 * Fixed negative buffer index in mime.c 0.93.0 2004-11-06 "Broken compatibility" release * Fix bogotune's '-D' option. 2004-11-02 * Use only reentrant functions in the signal handler that runs periodically to check for crashed processes. Reported by Pavel Kankovsky. 2004-11-01 * Add a debugged and enhanced version of Stefan Bellon's QDBM Hash->B+tree converter. * Broke QDBM compatibility with 2004-10-30 change, check unsigned characters to match Berkeley DB behavior of bogoutil -d. 2004-10-31 * Rearranged flag setting for Berkeley DB data store, so as only to set DB_CHKSUM[_SHA1] when creating the data base. Fixes "checksum error: catastrophic recovery required" and consequential "wordlist.db: page 1: reference count overflow" errors Reported by Torsten Veller. * Revised RELEASE.NOTES-0.93 to move QDBM change into "Incompatible Changes" section and to mention BerkeleyDB dump/load for 4.1 and 4.2 to add checksums. * Inserted new section 2.2 into doc/README.db to mention that it is recommended to dump/load the data base when using BerkeleyDB 4.1 and 4.2. 2004-10-30 * Converted QDBM from hash files (DEPOT API) to B+ trees (Villa API) for better speed (Stefan Bellon). 2004-10-29 * Attempting recovery with TDB or QDBM data bases results in an error, so the user does not think it succeeded. * Document that recovery only works for Berkeley DB, but not TDB or QDBM. 2004-10-28 * Merged Transactional branch (for BerkeleyDB) back into the trunk. Further changes below. 2004-10-25 * Added GETTING.STARTED document. * Changed default mode from two-state to three-state - with ham_cutoff=0.45 and spam_cutoff=0.99 The ham_cutoff value is new and spam_cutoff is unchanged. - changed the "Yes/No" tags used in the "X-Bogosity:" line to "Spam/Ham/Unsure" NOTE: the next entries appear to be out of order, the pertinent changes have been developed on a side branch of bogofilter and have been merged for bogofilter 0.93.0. 2004-09-21 * bogofilter can now be used with Berkeley DB 3.0 or 3.1 although this is not recommended. You should prefer 4.2 or 4.1 instead. UPDATE: support for 3.0 was later removed on 2004-11-29 * Documentation on the write cache issue (recoverability of data bases) has been revised. 2004-09-13 * Updates doc/README.db with a section on the log file size and pointers to db_checkpoint and db_archive. 2004-09-03 (txn 2.1) * The on-line crash detector would consider its own process a zombie, so all processes that lasted 30 s or longer would abort themselves after that period. This was particularly prominent with BerkeleyDB 4.1 with x86/gcc-assembly mutexes as this combination appears rather slow when facing lock contention, causing t.lock3 failure. BDB 4.1 compiled to use POSIX mutexes (where working) appears to be a lot faster in this situation. 2004-09-01 (txn 2.0) * Hook up crash detection code. Bogofilter is now able to detect when recovery is necessary and should detect stalled data bases within 30 seconds. NOTE: this means if one process crashes all other processes accessing the same data base will abort with an error code. Stalled data bases happen when one process or the system crashes and doesn't have a chance to clear its locks. This code uses ideas from Matthias Andree and Pavel Kankovsky. 2004-08-23 (txn 1.1) * Add -f and -F options to bogoutil (mnemonic: fix) to run data base recovery. * Reimplement our own locking so that recovery and data base access don't collide and no two processes try running recovery at the same time.
2005-07-18This package needs perl to run, for the bogoupgrade command.seb1-2/+3
Bump PKGREVISION to 3.
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-03-17Add dependency on gsl instead of using the version comingwiz1-2/+3
with the package. From Takahiro Kambe in PR 29354. Bump PKGREVISION.
2005-02-24Add RMD160 digests.agc1-1/+2
2005-01-17Fix patch-ac (db4 patch). From UHO Yaranaika. Closes PR 28949,wiz3-5/+6
confirmed by Hauke Fath. Bump PKGREVISION.
2005-01-15Dear bogofilter,snj1-2/+2
I regret to inform you that I am abandoning you. --Soren
2005-01-14bogofilter seems to require db4, so include db4/buildlink3.mk directlyjlam3-5/+21
instead of indirectly via bdb.buildlink3.mk. Also, fix compilation to account for differences beteween db-4.3.x and db-4.2.x. This should fix PR pkg/28949.
2004-11-15Rework the Berkeley DB detection in buildlink3:jlam1-2/+3
* Add a db1.builtin.mk file that detects whether DB-1.85 functionality exists in the base system, and remove the distinction between "native" and the other Berkeley DB packages -- we now refer to db[1234]. This paves the way for any future databases/db1 package. * USE_DB185 shouldn't need to be set by any packages -- its correct value is now automatically determined by bdb.buildlink3.mk depending on whether we explicitly request db1 or not. By default, if you include bdb.buildlink3.mk, you want DB-1.85 functionality and USE_DB185 defaults to "yes", but if you explicitly remove db1 from the list of acceptable DBs, then USE_DB185 defaults to "no". * Set BDB_LIBS to the library options needed to link against the DB library when bdb.buildlink3.mk is included. * We only add the DB library to the linker command automatically if we want DB-1.85 functionality; otherwise assume that the package configure process can figure out how to probe for the correct headers and libraries. Edit package Makefiles to nuke redundant settings of USE_DB185.
2004-10-26Update to 0.92.8.snj3-15/+14
Changes: * Portability fixes * Documentation fixes * '-M' allows processing 1 msg-count file with multiple messages. Otherwise allow multiple msg-count files with 1 message in each. * Allow only one of '-d' and '-D' options for bogotune. * Remove check for bogohome since it breaks "bogotune -D". * Ignore 'X-Bogosity' lines in mime attachments. * Bogotune now warns when using '-E' to suppress ESF checking and non 1.0 esf values are read from the config file. * Limit bogotune's scanning to rx values between 0.4 and 0.6. * Fix a potential crash on malformatted input (writing a NUL byte to the wrong place) in the RFC-2047 decoder. Reported by Clint Adams. * bogofilter will now properly exit with code 3 when encountering write errors in pass-through mode. It would use the wrong code, 2, since the introduction of the "unsure" exit code. * Properly flush existing data before changing I/O buffer size. Fixes t.bogodir failure seen, for instance, on Solaris, particularly with -D and redirected output.
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv1-1/+2
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-08-29Update to 0.92.6.snj2-5/+5
Changes: * Added "-QQ" option to bogofilter to display extended parameter list. * Documentation fixes * Validate dates used with '-y'. * Diagnose missing wordlist specification.
2004-08-04Update to 0.92.4. Changes:snj2-5/+5
* Remove 'g', 'r', and 'f' from bogofilter's OPTIONS list as there's only one scoring algorithm. * Fixed db_init/db_cleanup problems encountered with multiple wordlists and concurrent data stores. * Bugfix: '%I' is now really the Message-ID, * Feature: '%Q' is now the queue ID * Use an explicit inputs/outputs directory list to avoid shipping test files in those directories. * Miscellaneous cleanups, removed 'degen' code remainders. * Formatting character changes: '%A' is now the message's IP address. '%I' is now the message's ID. * Remove initialize() function in bogoconfig.c and use lexer_init() in lexer.c, which provides same functionality. * Warn on invalid options, rather than exit.
2004-06-29Upgrade to 0.92.0, the latest stable release.snj3-12/+10
Changes include bugfixes, documentation improvements, etc. See the included CHANGES file for the specifics.
2004-05-23Take maintainership. Update to bogofilter-0.17.5.snj2-8/+8
Changes: * Change default parameters to the results of Greg's 300k ham and 300k spam bogotune run: robs robx min_dev spam_co old 0.010000 0.415000 0.100000 0.950000 new 0.017800 0.520000 0.375000 0.990000 * Fix check for PGP signatures. * Ignore data portion of PGP signatures. * Use "mime:" (rather than "head:") to tag mime part headers. * Fix "Can't find '.MSG_COUNT'" problem in bogotune. * Fix defect that continues decoding base64/qp after invalid chars. * Warn if user specified config file doesn't exist. * Fix tagging of IPAddrs in header lines. * Fixed minor bogotune problems related to building wordlists. * Exempt tokens .MSG_COUNT and .ROBX from maintenance operations. * Remove unused 'active' and 'weight' attributes of wordlists. * If message uses CRLF, put CRLF after added header lines. * Removed DEPRECATED CODE. * Correct SIGSEGV causes by missing environment variables. * Miscellaneous Portability fixes * Documentation cleanups.
2004-04-10USE_DB185 requires an argument, YESheas1-2/+2
2004-03-14Fix build problem after db4's buildlink3.mk change. (define USE_DB185taca1-2/+2
instead of set BUILDLINK_TRANSFORM directly)
2004-02-09Update to bogofilter-0.16.4, bl3ify, tidy up DESCR. Okayed by jmmv and wiz.snj5-27/+29
Changes since 0.15.7: * Perl 5.6 fixes in bogoupgrade * Install bogotune and bogotune man page * The -q and -F flags (both unused) were removed * Alpha/SH(3?) portability fixes * Gobs and gobs of bugfixes * The Graham and Robinson algorithms were removed * Support for old style (separate good/bad) wordlists was removed * Support for ignore lists was removed
2004-01-15Wrong revision bump. Thank to Takahiro Kambe for pointing this out.manu1-2/+3
2004-01-14Fix build bug with cc -g, patch submitted by john heasley.manu3-3/+66
2003-12-24See CHANGES-0.15 for the full (232 line) list of changes...jonb2-5/+5
Primarily portability and minor bug fixes, a few new minor features, better HTML parsing, nothing dramatic. Note to self: tell authors about how their config script in 0.15.11 is badly broken WRT needing and figuring out -ldb4 instead of -ldb before the next upgrade of this package is painful. 0.15.7 is the current stable version, so this may not be an issue at all.
2003-09-30Add missing "/" to the URL section to make pkglint happyxtraeme1-2/+2
2003-09-30Updated to 0.14.5.4.xtraeme4-11/+47
While updating, make bogofilter use the bsd.pkg.install.mk framework to install the configuration file into PKG_SYSCONFDIR. Patch provided by Soren Jacobsen in PR pkg/22983. Changes: Changes: 0.14.5.4 * _Really_ fix defective printing in 'bogofilter -Q' output. 0.14.5.3 * Fix parser errors that can cause: 1. Incorrect processing of html comments. 2. "fatal flex scanner internal error--end of buffer missed", which kills bogofilter. * Fix defective printing in 'bogofilter -Q' output. * Compiles with TDB again. 0.14.5.2 * bogominitrain.pl - removed email 'cruft' and revised format of verbose output. 0.14.5.1 * Fixed parameter type error in dbh_print_names() that causes segfault. * Enhanced verbose output of bogominitrain.pl * Documented '-T' option in man page. * Fixed parsing error that treated "^From " in encoded text as a message separator. * Revised format for '-T'. * Fixed defect in bogominitrain.pl's norepetition mode. 0.14.5 * Updated bogominitrain.pl to version 1.3. * Corrected parsing error (in html code) that caused bogofilter to miss message separators. * Added '-T' as terse mode (with fixed formatting). * Revised processing of From and empty lines so that parsing works correctly with both flex-2.5.4 and flex-2.5.31. 0.14.4 * Revised database API so that there are 3 distinct layers (program, datastore, and database) with a clean interface between them. * Correct exitcodes in bogoutil by using EX_ERROR. * Fixed token registration bug in 0.14.x versions. * Fixed seg fault caused by database lock contention. 0.14.3 * Fixed critical locking bug introduced into bogofilter 0.14.0 with the combined-wordlist code: when working with separate wordlists, bogofilter would lock only the first one opened, rather than all. * Documentation updates. * %g formatting is now supported by bogofilter's formatting functions. * Merged trio 1.10 (http://ctrio.sourceforge.net/) to support compilation on ancient systems (Solaris 2.5) that do not have [v]snprintf functions. Trio is Copyright (C) 1998-2000 Bjorn Reese and Daniel Stenberg. * Various documentation updates, including the FAQ. * The test suite was adjusted for older grep variants (Solaris 2.5) that don't cope with long lines. * Print database version in print_version(). * Postfix integration instructions have been upgraded. * Debug output for wordlists and databases was enhanced.
2003-08-05upgrade to 0.14.2. note that upgrade from 0.13 needs invoation of "bogoupgrade"itojun2-5/+5
================= BOGOFILTER NEWS ================= $Id: CHANGES-0.14,v 1.15 2003/08/03 00:47:28 relson Exp $ 0.14.202 2003-08-02 * Replaced use of memcpy() by memmove() in an input routine. The overlapping copy migh cause data corruption on some systems. * Fixed "make check" failures for bogoutil introduced with the "combined wordlist" feature in 0.14.0. There has been a buffer overflow. All users of bogofilter with combined wordlist prior to 0.14.2 are advised to upgrade. * Fixed bogus "t.valgrind" test FAILures. * Fixed uninitialized data in db_get_dbvalue(), for split word lists. * New file, contrib/vm-bogofilter.el, provides an interface between the VM mail reader and bogofilter." * Revised lexer_v3.l for compatibility with flex-2.5.31 * Break up long line in regression test input for Solaris 2.5 compatibility. 0.14.1.1 2003-08-01 * Fixed check for adding spam_subject_tag to Subject: line. * Updated French version of FAQ. 2003-07-31 * Correct problem with t.degen regression test. 0.14.1 2003-07-31 * Updated English version of FAQ. 2003-07-29 * Initial release of token degeneration code. 2003-07-25 * Revised lexer pattern to better recognize encoded tokens. 2003-07-24 * Implemented named exitcodes, with Unsure having its own value (2) and changing the value for error from 2 to 3. 0.14.0.1 2003-07-23 * Fix problem with encoded text. * Fix handling of absolute paths. * Fix defect in base64 decoding that can cause segfaults. * Bogoutil now complains before exiting when it can't open a file. * Updated bogominitrain.pl to work with combined wordlists. 0.14.0 2003-07-22 * Updated contrib/bogominitrain.pl prints more info and can save messages used in training. * Miscellaneous documentation updates. 2003-07-21 * Decode encoded text in header lines. 2003-07-19 * Bogofilter and bogoutil detect whether one or two wordlists are in BOGOFILTER_DIR and use the appropriate wordlist mode (combined or separate). * Bogofilter's -V output now includes algorithm and database info. 2003-07-18 * Default wordlist mode is single, combined wordlist. File wordlist.db contains all spam and ham tokens. 2003-07-17 * Added tdb (trivial database) support. 2003-07-16 * Initial release of code allowing bogofilter to use a single, combined BerkeleyDB database for storing both ham and spam tokens. The file is named wordlist.db.
2003-07-17s/netbsd.org/NetBSD.org/grant1-2/+2
2003-07-13add REPLACE_PERL for bogoupgradeitojun1-1/+3
(bogoupgrade will be used by users of very old bogofilter, so no need to bother to bump PKGREVISION)
2003-07-12reset PKGREVISIONitojun1-2/+1
2003-07-12upgrade to 0.13.7.2.itojun2-5/+5
0.13.7.2 2003-07-02 * Fixed loop in yyinput() caused by unexpected EOF. 0.13.7.1 2003-06-26 * Update bogotune to version 0.3 * Added '-k size' option to bogofilter and bogoutil for setting BerkeleyDB's cache size. 2003-06-25 * For bogotune change processing of '-t' switch from pass 1 to pass 2 so that it supercedes the config file. * Man pages now use '\ ' when a non-breaking space is needed, instead of 0xA0. 2003-06-24 * '-Q' processing no longer requires that spamlist.db be present. 0.13.7 2003-06-20 * Replaced tuning/tuning.sh with tuning/bogotune (and related files). 0.13.6.3 2003-06-18 * Minor code rewrites to speed up processing messages, mboxes, and msg-count files. In particular, tuning/tuning.sh runs are approx 47% faster than before. * Fixed several errors in tuning/tuning.sh and reformatted "Top 10 Results" output. * Minor changes to bogoutil to support bogotune script. * Added newlines to correct usage messages. 0.13.6.2 2003-06-05 * Don't allow square brackets in tokens. Do allow dollar signs in tokens in msg-count files. * Bogolexer now discards first 'From' token to match scoring behavior of bogofilter. 0.13.6.1 2003-06-05 * Updated file tuning/README and script tuning/tuning.sh. 0.13.6 2003-06-04 * Fix check for "^From " lines to work properly during base64 decoding. * End html comment processing when a message header is found. * Improve README for the tuning scripts and simplify them. 0.13.5 2003-06-03 * Allow terminal exclamation points on tokens. * Updated contrib/mime.get.rfc822 2003-06-02 * Fixed bogofilter's non-use of message counts in msg-count files. * Diagnose invalid values of robx. * Modified rstats_print_histogram() so it doesn't print 'nan's. * Modified t.frame to find version of grep on Solaris so t.bulkmode can run successfully. 0.13.4.1 2003-05-31 * Modified t.parsing test so it works with OSX's default file system. 0.13.4 2003-05-30 * Changed default value of ROBS from 0.001 to 0.01 * Fixed options '-M' (mailbox mode) and '-p' (passthrough mode) so they work properly together. * Minor cleanups in bogofilter.cf.example * Added db-3.2 and db-3.1 to list for AC_CHECK_DB in configure.ac 0.13.3 2003-05-28 * Minor code tweaks to quiet gcc-3.3 warnings. 2003-05-26 * Added doc/programmer/README.osx to distribution. * Corrected FAQ's procmail recipe for training with SpamAssassin. 2003-05-24 * Added -V (version) option to bogolexer. * Tweaked long line check used to prevent scanner buffer overflow. 0.13.2.1 2003-05-24 * In bulkmode, output filenames to stdout. * Further fixes for static-build system. 0.13.2 2003-05-24 * Autoconfiguration of BerkeleyDB library has been improved. * Build procedure for statically linked binaries has been improved. * Fixed defect in replace_nonascii_characters that was superseding ignore_case option. * Portability fix for efence usage in t.frame. * Added static-build to solve glibc version problem. 0.13.1 2003-05-23 * Modified "make rpm" to also build statically linked binaries. They're packaged in bogofilter-static-x.y.z-1.i586.rpm * Fixed bogofilter.spec.in to include files CHANGES-0.13 and RELEASE.NOTES-0.13 which had been left out. * tests/t.frame portability fix for non-Linux compatibility. 0.13.0 2003-05-21 * Added file RELEASE.NOTES-0.13. Read it! * Changed parsing defaults to: -PI ignore_case (default is disabled) -Ph header_line_markup (default is enabled) -Pt tokenize_html_tags (default is enabled) * Recognize a line of whitespace as ending the message header. * contrib/randomtrain and contrib/scramble can now process both mbox and maildir formats. * Added perl script contrib/mime.get.rfc822 to extract forwarded messages from with a message. * Added basic support for emacs RMAIL mailboxes. * Removed incomplete RMAIL/Babyl-5 support. * Registration code modified to count unique tokens for each message and display the total of the counts. * Added 'bogo-what?' to FAQ. 0.12.3 2003-05-10 * Modified bulk mode code to allow registering maildirs. * Added options to return tokens from inside HTML tags. Switch '-Ht' and option "tokenize_html_tags" turn it on. * Bogofilter's '-e' switch can now be used without '-p'. * Added doc/integrating-with-postfix. * Added bogofilter-faq-fr.html, a French translation of the FAQ. * Revise description of verbose output in FAQ. * Update man page documentation of bogofilter's switches. * Added basic memory accounting and debug capability. * Fixed memory leak in rstats.c * Fixed defect in handling of folded spam header lines. * Modified parsing so that yyredo() and yy_use_redo_text() are no longer needed. 0.12.2 2003-04-30 * Corrected bulkmode problem processing messages without "^From " lines. * Corrected alignment of wordprop_t which caused bus error on risc. * Added directory to 'Error creating directory' message. 0.12.1 2003-04-25 * Corrected bad BOGOFILTER_DIR value in t.bulkmode * Subdirectories contrib and tuning now install from rpm to /usr/share/bogofilter. 0.12.0 2003-04-24 * Corrected some errors in rpm specfile. 2003-04-23 * Added 'tuning' directory with scripts for tuning bogofilter. (cf. bogofilter-tuning.HOWTO) 2003-04-21 * Added '-M' to allow classification of multiple messages in mbox formatted files. * New option '-Q' (query/display config) replaces '-qv'. * Grouped options into logical groups for help message and man page. Revised option descriptions. 2003-04-19 * Added bogofilter-tuning.HOWTO as replacement for README.Robinson 2003-04-18 * Added classification support for msg-count formatted files. * Add bogolex.sh for creating msg-count formatted email file. 2003-04-17 * Added bulk mode procesing for Maildirs. '-b' reads filenames from stdin. '-B' gets filenames from the command line. 2003-04-16 * Miscellaneous refactoring in main.c 0.11.2 - stable version 2003-04-13 * Added 'terse' option to bogofilter.cf for selecting format of X-Bogosity line. 2003-04-11 * Use frexp() to retain maximum precision of floating point results. 0.11.1.9 2003-04-10 * Reformat histogram output (from "-vv") to fit in 80 columns. * Added sample configuration for maildrop. 2003-04-09 * Added protections against negative token counts to bogoutil.c and database_db.c * Additional portability changes made to the regression tests. * Enhanced '-m' option allows specifying robs value. 0.11.1.8 2003-04-07 * Include 'strict_check' in '-qv' output. * Correct outdated acinclude.m4, as it causes the configure script to be invalid. * Revised UPGRADE document. * Added contrib/bogotrain.sh 0.11.1.7 2003-04-07 * Change bogoutil's '-p' option to require a database. * Fix OS X segfault caused by using DB handle after closing database. 2003-04-05 * Improve bogoutil's reporting of a bad directory or filename. * Simplify configure check for BerkeleyDB. * Extend configure's compiler checks for AIX. 0.11.1.6 2003-04-01 * Changed default value of 'strict_check' to 'no' (disabled). 2003-03-30 * Added config file option 'strict_check' for processing html comments. Enabled means to use "<!--" and "-->" to delimit comments. Disabled uses "<!" and ">". 0.11.1.5 2003-03-28 * Bogofilter now frees _all_ memory that it allocates. * FAQ reorganized and info added on asian spam, the format of verbose output, and using SpamAssassin to train bogofilter. * Fixed processing of '-o' option. 0.11.1.4 2003-03-25 * Cleaned up help messages and added version info. * Expanded bogofilter-faq.html * Fixed precedence for directory specifications. * Fixed processing of folded X-Bogosity line. * Fixed processing of spam_subject_tag.
2003-06-10Bump PKGREVISION because of db4 shlib major bump.wiz1-1/+2
2003-05-06Drop trailing whitespace. Ok'ed by wiz.jmmv1-14/+14
2003-04-03Set USE_BUILDLINK2; remove bogus DEPENDS line; use GNU_CONFIGURE.wiz1-6/+4
2003-04-03Bayesian spam filter written in Cmanu4-0/+54