Commit Graph

2057 Commits

Author SHA1 Message Date
Matt Simerson
a1dc532dec updated MANIFEST
adding t/config/users.cdb (goes with closed PR #102)
2014-09-16 21:52:21 -07:00
Jared Johnson
d029c89113 Merge pull request #108 from msimerson/hooks
Q::hooks(), accept a hook name argument
2014-09-16 23:38:21 -05:00
Matt Simerson
d5481df3dd Q::hooks(), accept a hook name argument
and return a useful result
2014-09-16 21:22:36 -07:00
Jared Johnson
e50fee88c0 Merge pull request #106 from msimerson/disconnect
SMTP: don't create new Transaction at disconnect
2014-09-16 20:17:13 -05:00
Matt Simerson
7230de2ddc SMTP: don't create new Transaction at disconnect
the current result of passing a DENY* response is a new transaction. That seems wrong.
2014-09-16 17:56:58 -07:00
Matt Simerson
4f3ff19d1a Merge pull request #105 from jaredj/demote-warning
Demote warning to LOGDEBUG
2014-09-16 13:14:09 -07:00
Jared Johnson
58dc68b190 Demote warning to LOGDEBUG
it's not really very interesting when a map file doesn't exist for an optional config parameter
2014-09-16 15:12:42 -05:00
Matt Simerson
13f445596a Merge pull request #104 from flimzy/clam-opts
Fix clamdscan configuration handling
2014-09-16 12:10:18 -07:00
Jonathan Hall
f2bcd3736a New tests to cover new handling of register-time configuration. 2014-09-16 14:04:37 -05:00
Jonathan Hall
3d97773827 Reverse sense of is_not_multipart to is_multipart. 2014-09-16 13:57:15 -05:00
Jonathan Hall
ba3122bd82 Style cleanup
* no more 'return ()'
 * Explicit 'return 0'
2014-09-16 13:51:19 -05:00
Jonathan Hall
44cafde7d4 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)
2014-09-16 13:48:19 -05:00
Jonathan Hall
8344bf8439 Working toward functional virus/clamdscan tests. 2014-09-16 12:56:32 -05:00
flimzy
d36b9240f9 Merge pull request #102 from msimerson/Base.pm
Base.pm
2014-09-16 12:07:55 -05:00
Jonathan Hall
9faa1e1903 Fix clamdscan configuration handling
- Honor configured 'false' values
 - Treat 'scan_all' consistently with other options--permitting 0, 1, 'yes', or 'no' as values
2014-09-16 12:03:49 -05:00
Matt Simerson
a473c2732d updated Config::defaults() to behave as before
and added additional tests for it
2014-09-16 09:52:05 -07:00
Matt Simerson
b0c3d715cc moved config() from Qpsmtpd -> Q::Config.pm 2014-09-16 09:26:55 -07:00
Matt Simerson
d83268e448 Merge pull request #3 from flimzy/Base.pm
Kill some tab characters; PBP-suggested formatting for :? operator
2014-09-16 07:56:43 -07:00
Jonathan Hall
48bd0f3e0c Kill some tab characters; and adopt PBP-suggested formatting for :? operator. 2014-09-16 07:11:54 -05:00
Matt Simerson
b153c0ab99 more tests for Qpsmtpd::Config
* fix for cache clearing that didn't work
* imported a sample .cdb file for testing
2014-09-16 00:54:47 -07:00
Matt Simerson
75cb416b62 added diagnostics for failed spool_dir test
likely due to config caching
2014-09-16 00:03:28 -07:00
Matt Simerson
ebdb25a4bd 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
2014-09-15 23:41:31 -07:00
Matt Simerson
79d2b99211 Qpsmtpd: remove PLUGIN_DIR label, replace implicit
if statements with chained 'and' with if block (2x)
2014-09-15 19:00:07 -07:00
Matt Simerson
f8e2fdb966 more tests for Qpsmtpd.pm 2014-09-15 18:54:10 -07:00
Matt Simerson
b60c14a7c1 t/q-base, s/utils/base/ 2014-09-15 18:53:30 -07:00
Matt Simerson
860d5a6f90 updated MANIFEST 2014-09-15 18:53:30 -07:00
Matt Simerson
710894cd49 moved Qpsmtpd::Utils -> Base.pm 2014-09-15 18:53:30 -07:00
Jared Johnson
2a303538e5 Merge pull request #101 from msimerson/tidy
META updates, tidy, PBP tweaks
2014-09-15 20:48:05 -05:00
Matt Simerson
7ca511d8a3 move extra $rc test into block
where it could have been set
2014-09-15 16:01:57 -07:00
Matt Simerson
851e1b54ee META updates, tidy, PBP tweaks
* update manifest
* perltidy
* replace postfix if/unless with brackets
* reduce useless indention by exiting sooner
2014-09-15 15:57:12 -07:00
Matt Simerson
41a7b24275 Merge pull request #84 from jaredj/per-recip-config
Add hook_user_config
2014-09-15 15:14:04 -07:00
Jared Johnson
c6da8610dc Fix crasher
Add missing 'use' and use get/set method for cleaner storage of QP object
2014-09-15 17:06:48 -05:00
Jared Johnson
e9c56dc268 Avoid passing Qpsmtpd object refs around
Use an instantiator in Qpsmtpd.pm for creating Qpsmtpd::Address objects instead
2014-09-15 17:06:48 -05:00
Jonathan Hall
1253e73a4d Another minor POD update. 2014-09-15 17:06:48 -05:00
Jonathan Hall
6ed109914c POD updates, corrections, and clarifications. 2014-09-15 17:06:48 -05:00
Jared Johnson
2caa191334 Avoid warnings on undef hook_config returns values 2014-09-15 17:06:48 -05:00
Jared Johnson
f052543154 Correct number of user_config tests 2014-09-15 17:06:47 -05:00
Jared Johnson
4b7af20f49 Fix pattern substitution in user_config plugin 2014-09-15 17:06:47 -05:00
Jared Johnson
de742dc95e Add tests for user_config plugin 2014-09-15 17:06:47 -05:00
Jared Johnson
23ce6002cf Qpsmtpd::config() tests 2014-09-15 17:06:47 -05:00
Jared Johnson
cda40f970b Remove an unintentionally commited subroutine 2014-09-15 17:03:52 -05:00
Jared Johnson
fb8f582055 Use a loop to make test data clearer 2014-09-15 17:03:52 -05:00
Jared Johnson
41a71f5d79 Move test sub definition to the bottom 2014-09-15 17:03:52 -05:00
Jared Johnson
18bfc45d0b Fall back correctly between config methods
hook_user_config no falls back to global hook_config followed by
file-based config followed by %defaults
2014-09-15 17:01:39 -05:00
Jared Johnson
5b8138971a Don't use config cache for hook_config plugins
Conflig plugins can do their own caching:  there's no telling what might change
their return values over the life of the config cache.
2014-09-15 17:01:39 -05:00
Jared Johnson
50cc469881 Add docs and flexible path to user_config plugin
I needed to make the path modifyable for testing anyway, might as well make it
actually usable.  Not yet tested.
2014-09-15 17:01:39 -05:00
Jared Johnson
eb482aad0a Tests for Qpsmtpd::Address::config()
Tests for the new Qpsmtpd::Address::config() which should call hook_user_config plugins
2014-09-15 17:01:39 -05:00
Jared Johnson
8d032d8b50 Follow upstream convention in shebang
Our fork uses '#!/perl (Editor hint)' but upstream normally uses '#!perl'.  Conforming to upstream.

FWIW, the Kate editor recognizes the former as perl for the purpose of syntax highlighting but does not recognize the latter. But the one guy I know who uses Kate didn't take the opportunity to object :)
2014-09-15 16:53:09 -05:00
Jared Johnson
3379248c45 Add user_config example plugin
Add a plugin to read qpsmptd-style configuration files from users' home
directories.  Little to no testing yet.
2014-09-15 16:53:09 -05:00
Jared Johnson
b22d037c39 Add hook_user_config
This adds a hook_user_config for plugins designed to return per-user
configuration directives.  Qpsmtpd::Address::config() triggers a
hook_user_config plugin.
2014-09-15 16:53:09 -05:00