Daniel B
03c9d045f4
Check $addr is defined before using it ( #266 )
...
Prevent the following error if we receive an invalid RCPT TO (eg <"relaytest%nmap.scanme.org">)
Can't call method "qp" on an undefined value at /usr/share/perl5/vendor_perl/Qpsmtpd.pm line 451.
/usr/bin/qpsmtpd-forkserver[17472]: command 'rcpt' failed unexpectedly
2016-05-15 10:19:02 -07:00
Matt Simerson
d3546f9501
update Changes, bump version
2016-02-16 14:50:16 -08:00
Jared Johnson
dcdda3a5e7
Don't interpret invalid return codes as OK
2015-02-03 17:01:52 -06:00
Jared Johnson
b3f8ce6b07
Tests for error logging in run_continuation()
2015-02-03 16:44:06 -06:00
Matt Simerson
4a11e2cb71
Revert "Turn warnings into $qpsmtpd->log() calls"
2015-01-03 21:45:59 -08:00
Jared Johnson
4d59ce8406
Fix unstable use of $1 in Qpsmtpd::warn_level()
2014-12-17 16:11:12 -06:00
Jared Johnson
1d01a85542
Change qw() to qw[] in warn_level()
2014-12-15 20:22:28 -06:00
Jared Johnson
d3ec361ab8
Turn warnings into $qpsmtpd->log() calls
...
This can be convenient, especially when one wants to emit a warning that will
show up when running the test suite but still be properly logged in production
2014-12-15 20:07:45 -06:00
Jonathan Hall
897a1fd8aa
Remove a ton of 'return ()', and a few other minor readability tweaks.
2014-09-17 20:28:51 -05:00
Matt Simerson
ba1a6a1885
remove YIELD cruft introduced by rebase
2014-09-17 13:09:47 -07:00
Matt Simerson
519bb12503
simplify config->from_file by not requiring full
...
file path. Instead, figure it out the same way as the 4 of the 5 caller do (by calling config_dir). Allow the 2nd arg to be the file name.
2014-09-17 13:03:46 -07:00
Matt Simerson
1e5d249224
added tests for run_hooks & run_hooks_no_respond
2014-09-17 13:03:46 -07:00
Matt Simerson
9a38850f13
added test for run_continuation
2014-09-17 13:03:46 -07:00
Matt Simerson
0499317912
Qpsmtpd: style changes in hook_responder
2014-09-17 13:02:44 -07:00
Matt Simerson
9cd8b165a0
qpsmtpd.t: added tests for hook_responder
2014-09-17 13:01:29 -07:00
Matt Simerson
1e82ae1bc7
async removed
...
1. the known users of async don't upgrade
2. async becomes a win when concurrent connections exceed a few hundred simultaneous
3. anyone that needs async should be looking at Haraka instead
4. the perl async dependencies aren't maintained
2014-09-17 11:38:40 -07:00
flimzy
9fdb6b17d6
Merge pull request #107 from msimerson/version
...
add --tags to 'git describe'
2014-09-17 06:36:39 -05:00
flimzy
3ef0188f72
Merge pull request #111 from msimerson/pod
...
POD fixups
2014-09-17 06:28:36 -05:00
Matt Simerson
1ebe5ea6ec
put git version detection code into a sub
2014-09-17 00:08:33 -07:00
Matt Simerson
4a48c4584d
add --tags to 'git describe'
...
'git describe' calculates the version since the last **annotated** diff. Adding --tags shows the most recent tags (v0.94, for example) regardless if they're annotated or not.
2014-09-16 23:58:49 -07:00
Matt Simerson
5155e5c32f
POD fixups
2014-09-16 23:27:19 -07:00
Matt Simerson
d5481df3dd
Q::hooks(), accept a hook name argument
...
and return a useful result
2014-09-16 21:22:36 -07: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
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
710894cd49
moved Qpsmtpd::Utils -> Base.pm
2014-09-15 18:53:30 -07: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
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
Jared Johnson
2caa191334
Avoid warnings on undef hook_config returns values
2014-09-15 17:06:48 -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
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
Matt Simerson
7396dbbf5f
more tests for Qpsmtpd.pm
2014-09-15 11:53:28 -07:00
Matt Simerson
60877da4ed
added Utils::is_localhost and t/qpsmtpd-utils.t
...
resolves Issue #89
2014-09-10 13:52:56 -07:00
Matt Simerson
197be1515c
remove empty DESTROY()
2014-09-10 11:04:34 -07:00
Matt Simerson
625905a193
remove DashProfiler
...
was commented out. In the future, profiler code should be kept in it's own branch, and then merged against smtpd/master when being used.
2014-09-10 11:04:34 -07:00
Matt Simerson
c9a780576f
added tests for lib/Qpsmtpd.pm (Issue #67 )
2014-09-08 22:58:27 -07:00
Matt Simerson
fd4cc6f8ab
Qpsmtpd: version bump to 0.94
2013-12-18 00:11:16 -05:00
Matt Simerson
4d489ea6ef
tested and working Authentication-Results
...
changed the method of saving results. Instead of appending to/from a header, plugins save results to a connection note.
Qpsmtpd::SMTP.pm has a new method that inserts the Authentication-Results header
The smtp-auth information has been removed from the Received header
Authentication-Results providing plugins have been updated to store results in connection note
2013-08-05 15:05:38 -07:00
Matt Simerson
82effb409a
Qpsmtpd: untaint config data passed to plugins
...
if QP passes in tainted data, such as a hostname that subsequently gets used to open a connection using IO::Socket, the plugin die because the information is tainted. Fix it once here, instead of in each plugin.
2013-08-05 15:05:37 -07:00
Matt Simerson
4c6f5aedfd
Qpsmtpd.pm: split config args on /\s+/, was / /
2013-08-05 15:05:37 -07:00
Matt Simerson
5b06929e95
find . -name '*.pm' -exec perltidy -b {} \;
2013-08-05 15:05:15 -07:00
Matt Simerson
266f5d2efc
v0.91 bump for release
2013-08-05 15:05:10 -07:00
Matt Simerson
a5803d10f5
updated more split '' syntax to split //
2013-08-05 15:05:10 -07:00
Matt Simerson
7a045474f9
Qpsmtpd.pm: bump version
2013-08-05 15:01:51 -07:00
Matt Simerson
c1df6c2e1f
Qpsmtpd.pm: less default logging at LOGINFO
2013-08-05 15:01:47 -07:00