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
3bf1a7f48c
Better handling of testing temp files
...
Rather than creating and ignoring a bunch of random files, create files in
t/tmp, ignored in .gitignore and cleaned up with 'make clean'
2015-01-27 14:41:15 -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
Jared Johnson
e3187ace0d
Add tests for Qpsmtpd::DB::File::DBM
2015-01-21 16:32:11 -06:00