--- In milter-greylist@yahoogroups.com, manu@n... wrote:
> eugene_kurmanin <ubr@o...> wrote:
>
> > > I spent a lot of time trying to move milter-greylist database to
> > > Berkeley DB, but I finnally gave up. The only goal of the database
> > dump
> > > is to recover after a crash, and I could not get any garantee of
> > having
> > > the database not corrupted after a crash.
> >
> > May be need to use database with transactions? It's help sometimes :)
>
> Another goal is to preserve the lightweight approach.
>
> In order to scale for much bigger setups, I thought about having
> different buckets in the database and dump them to disk in a round robin
> fashion.
I have one idea also to implement, related to berkeley.
A whitelist database, the milter will only read the database like
sendmail does on access db, get the IP (x1.x2.x3.x4) try to lookup
x1.x2.x3.x4, x1.x2.x3, x1.x2, x1 and when found an OK. Accept the
connection as whitelisted. This make possible to add big databases to
be used with the milter without consuming a lot of memory, and does
not have the read/write problem as they are the administrator
whitelist (I have a friend provider wich has an 100000 IPs whitelist,
which he made using another milter solution using mysql, and I want
to use his list in my implementation, but the current form with text
file loading in memory isn't a good solution to be used with soo large
lists)
This database can be used also for the config per user/per domain as
specified in site TODO, with keys like :
greylist:domain -> domain greylist override the greylist.conf
greylist:user@domain -> user greylist, override domain and greylist.conf
The same can be done for autowhite and timeout. I'm not an expert in
berkely, but I have used it sometimes, and its very easy to implement
to read only data with fast results, and low memory usage.