Jared Johnson
88c55ed9a3
Emit detailed warning on unuseable default db dirs
2015-03-09 17:17:26 -05:00
Jared Johnson
1ae8ed206f
More useful exception on invalid db_dir
2015-03-09 17:17:26 -05:00
Jared Johnson
84aa8e2328
Die when an invalid dir is specified manually
2015-03-09 17:17:26 -05:00
Jared Johnson
6b13e24221
Add perms test to Qpsmtpd::DB::File::DBM::dir()
2015-03-09 17:17:26 -05:00
Jared Johnson
4c9bcc0ee4
Configure but don't connect to DB in init_db()
...
This allows us to start up QP even if e.g. Redis is down
2015-02-23 11:25:18 -06:00
Jared Johnson
113becf8be
Get rid of Qpsmtpd::DB::File
...
DBM is probably the only file format we'll ever support anyhow
2015-01-27 15:55:53 -06:00
Jared Johnson
b6311caae0
Pass multiple keys to del() to speed up prune_db()
2015-01-27 11:50:55 -06:00
Jared Johnson
1320a01f46
Speed up prune_db() with new Qpsmtpd::DB::mget()
...
This reduces round trips to Redis, speeding up DB pruning,
especially over a network
2015-01-27 10:59:47 -06:00
Jared Johnson
e76b6a9048
Fix consistency problems with DBM store
...
Destroy the AnyDBM-tied hash after untying
Google's wisdom seems to indicate that leaving the AnyDBM-tied hash around after
untying it was causing data to not flush to the DBM file... or something. At any
rate the regression test added here confirms inconsistency when using multiple
instances which is fixed by destroying the AnyDBM-tied hash after untying.
2015-01-21 16:43:23 -06:00
Matt Simerson
31fb710792
add group write permissions to default DBs
2015-01-04 12:22:51 -08:00
Jared Johnson
6e3e605c66
Avoid test failure when Redis.pm is unavailable
2014-12-30 15:10:32 -06:00
Jared Johnson
80e4629f9d
Qpsmtpd::DB::Redis simplifications
2014-12-30 14:53:53 -06:00
Jared Johnson
11646b9a27
Add Qpsmtpd::DB testing and more greylist testing
2014-12-30 14:53:53 -06:00
Jared Johnson
fa2ca922c5
Add Qpsmtpd::DB::Redis
2014-12-30 14:53:53 -06:00
Jared Johnson
ecb6d2c1d5
Update Qpsmtpd::DB to work with multiple stores
2014-12-30 14:53:53 -06:00
Jared Johnson
ef26c61b6d
Use Qpsmtpd::DB in karma plugin
...
And clean up a few things in Qpsmtpd::DB
2014-11-26 16:28:52 -06:00
Jared Johnson
72c9c79f31
Move the rest of DBM operations to Qpsmtpd::DB
2014-11-26 16:06:24 -06:00
Jared Johnson
66ba031240
Get rid of experimental 'use lib' thing
2014-11-26 12:03:03 -06:00
Jared Johnson
1d29db66ff
Move some DBM functions to Qpsmptd::DB::File::DBM
...
Not everything is moved and Qpsmtpd::DB* does not yet have test coverage
2014-11-25 17:52:18 -06:00