[Mimedefang] greylisting DB_File locking

-ray ray at ops.selu.edu
Tue Apr 27 14:21:15 EDT 2004


All,

I turned on greylisting last night, based on the code posted by Steve
Rocha (which was based on Jonas's code i think).  Things were fine until
the db reached about 3300 records.  Then it would not accept any new keys,
the inserts just silently fail.  I turned off greylisting and verified 
this... it appears the db is corrupt.

Could this be caused by a locking issue?  Right now the lock_db function
is just using flock before tie'ing the hash:

       lock_db();
        if (tie(%GDB,'DB_File', $DBFilename)) {


Is this safe?  It is a moderately busy mail server, around 150k messages
a day.  Is this too much for a dbm file?  I'd imagine i'd have 10's of
thousands of triplets in the db.  Should i look at implementing it in
mysql or postgres?

And just for my curiousity, is there a way to repair a corrupt dbm file?

ray



More information about the MIMEDefang mailing list