Berkeley DB
===========

This database implementation relies on the "Berkeley Database" library and
should work with version 4.0.x of the libary. See http://www.sleepycat.com
for more information about the "Berkeley DB".

If the header files for Berkeley DB 4.0 are not in the standard include
directory on your system, set the CFLAGS variable when running make:

make CFLAGS=-I/usr/include/db40 DB_IMPL=bdb

Similarly set LDFLAGS if your libdb (version 4.0.x) is not available in the
standard location, or if additional libraries must be linked.

make CFLAGS=-I/usr/include/db40 DB_IMPL=bdb LDFLAGS="-lpthread -ldb-4.0"

(The plugin can be compiled with version 4.1.x of "Berkeley DB", but it doesn't
 seem to work. I haven't found the problem yet.)

The GL_DATABASE environment variable must be set to the full path of a 
directory to which qmail-smtpd has read and write access.

The database contents can be viewed e. g. with the following perl command:

perl -e 'use DB_File; my %test; tie %test, "DB_File", "<PATH>/greylisting.bdb", 0, 0, $DB_HASH; foreach my $key (keys %test) { my $val = $test{$key}; my $tm = $val; my $res = ""; if ($val =~ /^([-+])(.*)/) { $tm = $2; $res = ($1 eq "+" ? "Accepted" : "Rejected")." at "; } print "$key: $res".localtime(hex $tm)."\n"; } untie %test; '


Status
------

This is mostly a proof-of-concept implementation. To my knowledge, it has
never been used in a production environment. USE AT YOUR OWN RISK!

