Matt Simerson
b0c3d715cc
moved config() from Qpsmtpd -> Q::Config.pm
2014-09-16 09:26:55 -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
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
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
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
ca96ddf4eb
added Utils->is_valid_ip, IPv6 ready
...
resolves Issue #82
2014-09-11 13:34:32 -07:00
Matt Simerson
fabbdae960
tests for Qpsmtpd/SMTP
...
* order the ‘use’ pragmas
* compact the new() method
* move fault() tests into t/qpsmtpd-smtp.t
2014-09-11 10:46:29 -07:00
Jonathan Hall
8b1ff67604
Update fault()'s output to inidcate the possibly meaninglessness of the reported system error.
2014-09-11 11:58:31 -05: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
e8d5229801
Merge pull request #73 from smtpd/qpsmtpd.t
...
added tests for lib/Qpsmtpd.pm (Issue #67 )
2014-09-10 10:53:54 -07:00
Jonathan Hall
6622c01e8e
Fix pf2qp.pl magic.
2014-09-09 14:38:22 -05:00
Matt Simerson
c9a780576f
added tests for lib/Qpsmtpd.pm (Issue #67 )
2014-09-08 22:58:27 -07:00
Matt Simerson
c02c9c2358
Merge pull request #50 from priyadi/received_line_fix
...
Add our headers (Received & Authentication-Results) earlier, just after DATA
2014-06-03 21:42:48 -07:00
Priyadi Iman Nurcahyo
c4452a5856
Add our headers (Received & Authentication-Results) earlier, just after DATA
2014-06-04 03:59:52 +00:00
Dongsik Park
27a0557982
config parameter passing bug fix.
2014-05-21 10:18:19 +09:00
Matt Simerson
fd4cc6f8ab
Qpsmtpd: version bump to 0.94
2013-12-18 00:11:16 -05:00
Matt Simerson
2416d1e940
Plugin.pm: made is_naughty is now a getter too
2013-12-17 23:43:26 -05:00
Matt Simerson
a26d46ed87
move Auth-Results header to Original-Auth-Results
...
this was in a sub, commented out as a TODO to delete them. Instead of deleting, move the Authentication-Results header on incoming messages to the Original-A-R.
2013-12-17 14:16:34 -08:00
Matt Simerson
b085388cda
TcpServer: optimize DNS lookups for PTR
...
a. don't use search path (/etc/resolv.conf)
b. explicitely specify PTR in query request
2013-12-01 03:45:12 -05:00
Matt Simerson
4a61ef1ad9
define positioning of Authentication-Results header
2013-08-05 15:05:38 -07: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
4ae16219bd
added Authentication-Results header, with provider
...
dkim, dmarc, fcrdns (iprev), spf, and smtp-auth
2013-08-05 15:05:38 -07:00
Matt Simerson
b126c3c7f8
store envelope from and to in connection notes
2013-08-05 15:05:38 -07:00
Matt Simerson
247c5a2bea
is_naughty is a setter now too
2013-08-05 15:05:38 -07:00
Matt Simerson
3a0900f0ae
SMTP.pm: reduce auth details from Received header.
...
based on patch from Devin Carraway
http://www.nntp.perl.org/group/perl.qpsmtpd/2012/08/msg9954.html
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
bbc6e895cc
distinguish rejecting versus tolerated failures
2013-08-05 15:05:36 -07:00
Matt Simerson
dbcc3d40b4
split is_immune into itself + is_naughty
...
is_immune tests designates to plugins they should always skip processing.
That's typical for naughty connections, but this change provides the ability to handly naughty connections differently than (whitelisted/relayclients/known good) senders.
2013-08-05 15:05:36 -07:00
Matt Simerson
c3b8df645c
Plugin: override dns_timeout by passing in a value
2013-08-05 15:05:15 -07:00
Matt Simerson
5b06929e95
find . -name '*.pm' -exec perltidy -b {} \;
2013-08-05 15:05:15 -07:00
Matt Simerson
2f3127359d
moved triplicated init_resolver into Plugin.pm
2013-08-05 15:05:13 -07:00
Matt Simerson
5b74b9c1d3
Q:Plugin.pm: abstracted out store_deferred_reject
2013-08-05 15:05:13 -07:00
Matt Simerson
9ed3843b53
adjust_karma now increments properly
2013-08-05 15:05:11 -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