moved Qpsmtpd::Utils -> Base.pm
updated MANIFEST
t/q-base, s/utils/base/
more tests for Qpsmtpd.pm
Qpsmtpd: remove PLUGIN_DIR label, replace implicit

if statements with chained 'and' with if block (2x)
extracted config*() from Qpsmtpd.pm -> Config.pm

* includes full test converage for Qpsmtpd::Config
    * folded t/config.t into t/qpsmtpd-config.t
* includes additional tests for Qpsmtpd
    * folded t/tempstuff into t/qpsmtpd.t
* PBP adjustments here and there
* other tweaks to handle test warnings
added diagnostics for failed spool_dir test

likely due to config caching
more tests for Qpsmtpd::Config

* fix for cache clearing that didn't work
* imported a sample .cdb file for testing
Kill some tab characters; and adopt PBP-suggested formatting for :? operator.
Merge pull request #3 from flimzy/Base.pm

Kill some tab characters; PBP-suggested formatting for :? operator
moved config() from Qpsmtpd -> Q::Config.pm
updated Config::defaults() to behave as before

and added additional tests for it
Fix clamdscan configuration handling

 - Honor configured 'false' values
 - Treat 'scan_all' consistently with other options--permitting 0, 1, 'yes', or 'no' as values
Merge pull request #102 from msimerson/Base.pm

Base.pm
Working toward functional virus/clamdscan tests.
More complete clamdcscan tests
 * construct our own Qpsmtpd::Transaction object for testing, so we're sure
   to have a pristine state
 * Move some logic into a should_scan() sub, to help separate scan_all from
   is_not_multipart (since the multipart state of a message has nothing to
   do with any configuration parameters)
Style cleanup

 * no more 'return ()'
 * Explicit 'return 0'
Reverse sense of is_not_multipart to is_multipart.
New tests to cover new handling of register-time configuration.
Merge pull request #104 from flimzy/clam-opts

Fix clamdscan configuration handling