mail/bogofilter*: fix unaligned access on some databases
This was found with the undefined behavior sanitizer,
and affects the generic code (independent of the concrete database
back-end in use) so we need to bump all PORTREVISIONS.
The bug was that internal code was casting a void * to a uint32_t *
without ensuring alignment of the source value.
Let's use memcpy to a statically-sized array and let the optimizer
handle it for us. Adds files/patch-src_datastore.c.
PR: 297024
MFH: 2026Q3
mail/bogofilter*: Prepare LMDB 1.0 transition
Here's what we do now:
- mail/bogofilter currently depends on lmdb0, a 0.9.X port, so
it continues to work as before
- add a new mail/bogofilter-lmdb1 port that depends on lmdb, the 1.0
version of the LMDB database.
- add the upstream patch for bogofilter 1.3.0.rc1 that I made and
that delphij@ prepared for integration into the ports tree - thanks!
Here's the plan for end of 2026:
- AT THE SAME TIME:
- upgrade mail/bogofilter to depend on LMDB 1.0
- portrm mail/bogofilter-lmdb1
- add a MOVED entry to redirect from bogofilter-lmdb1 to bogofilter.
While here, clean up and rearrange the Makefiles.
PR: 296519
Reviewed by: arrowd
Pull Request: https://github.com/freebsd/freebsd-ports/pull/551
mail/bogofilter-bdb: Remove expired port.
We had to transfer and clean up a few bits from bogofilter-bdb
to bogofilter (the LMDB) based port, and I am also adding an UPDATING
entry.
mail/bogofilter*: update to 1.3.0.rc1
This fixes lots of bugs and improves efficiency.
Some fixes to avoid premature end of output in the bogofilter -p
(passthrough) mode have been made.
RFC-2047 encoded words are no longer decoded recursively.
Changelog: https://gitlab.com/bogofilter/bogofilter/-/blob/bogofilter-1.3.0.rc1/bogofilter/RELEASE.NOTES
Changelog: https://gitlab.com/bogofilter/bogofilter/-/blob/bogofilter-1.3.0.rc1/bogofilter/NEWS#L18
mail/bogofilter*: undeprecate LMDB/KC/SQLITE
The deprecation of bogofilter-bdb wasn't under the MASTERDIR .if checks,
so inadvertently spilled over to the bogofilter (based on LMBD), -kc
(Kyoto Cabinet) and -sqlite (SQLite3) variant of the ports.
These three are supported beyond the expiration date (currently 2025-06-30).
The deprecation only refers to the bogofilter-bdb, i.e. Berkeley DB
based, port and is purely based on Oracle taking away, for instance,
old Berkeley DB 5 patches from the public non-login website,
difficulties with obtaining download URLs, and other historic material.
Reported by: Brad Waite
mail/bogofilter*: change default database
* The default version of mail/bogofilter now uses LMDB instead
of Berkeley DB. It is not compatible and cannot read databases.
* bogofilter was renamed to bogofilter-bdb
* bogofilter-lmdb was renamed to bogofilter
* MOVED/UPDATING entries included.
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
cannot conflict with itself (due to logic in bsd.port.mk that
supresses the pattern match result in that case).
A few ports that set the conflicts variables depending on complex
conditions (e.g. port options), have been left unmodified, despite
probably containing outdated package names.
These changes should only affect the installation of locally built
ports, not the package building with poudriere. They should give an
early indication of the install conflict in cases where currently
the pkg command aborts an installation when it detects that an
existing file would be overwritten,
Approved by: portmgr (implicit)
*/*: Remove redundant '-[0-9]*' from CONFLICTS_INSTALL
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket)
math/gsl: update to 2.6
- math/p5-Math-GSL does not seem to have any upstream activity to make it work with this version -> mark it broken
- this also breaks the two consumers of this port
- biology/gemma: has a conflict with cblas, and is makred broken.
PR: 241363
Exp-run by: antoine
Update bogofilter to 1.2.5.r1, add new database variants.
There are now -kc and -lmdb slave ports that use
KyotoCabinet and LMDB databases.
Since KyotoCabinet is supposed to relieve TokyoCabinet from duty,
sunset the -tc port some 15 months from now.
Clean up CONFLICTS.
Run self-tests in post-build. This reveals Berkeley DB issues
on the various RISC architectures (mips64, aarch64).
Bump PORTREVISION on all ports with USE_SQLITE=yes or USE_SQLITE=3 that have not been bumped yet after the latest libsqlite3.so library version change.
Approved by: portmgr (implicit)
Fix read-from-NULL-pointer crashes when command line option arguments are missing from long options --syslog-tag, --timestamp-date, or --db-cachesize (the short option equivalents were unaffected); or when BOGODIR/BOGOFILTER_HOME/HOME environment variables are all three missing when running bogotune. (This is all under the invoking user's control and not believed to be security relevant.)
Reported by Alexandre Rebert, found within the Mayhem project he is with.
Obtained from: http://svn.code.sf.net/p/bogofilter/code/trunk
Update bogofilter to new upstream release 1.2.3. Security update to fix a heap corruption bug with invalid base64 input, reported and fixed by Julius Plenz, FU Berlin, Germany.
Feature safe: yes
Security: CVE-2012-5468
Security: f524d8e0-3d83-11e2-807a-080027ef73ec
- Fix NOPORTDOCS "make install" and packaging, reported by Stanislaw Halik (bcc'd to protect his mail address). - Clean up CONFLICTS - Run t.lock3 in bogofilter-sqlite again - Bump port revision after pkg-plist change.
PR: ports/87890
Submitted by: maintainer
- Skip the overzealous t.lock3 test that is very delicate WRT timing, I/O and such, and broke on pointyhat and often breaks on user systems, too - Skip t.valgrind, which is pretty environment-dependent
PR: ports/81929
Submitted by: maintainer
- Update to 0.94.13 * iconv/unicode bugfixes * sqlite3 interface much more CPU efficient and faster now * bogofilter -q option to suppress printing of statistics (see share/doc/bogofilter/NEWS for details) - convert WITHOUT_*/pre-everything messaging stuff (GSL, BASH) to OPTIONS - add an OPTIONS switch for ICONV (experimental, default off), suggested by Yar Tikhiy. - revise pkg-install m
Removed files:
- bogofilter-qdbm/files/patch-pathcycle
PR: ports/81642
Submitted by: maintainer