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
Matt Simerson
d80b117bff
replace all instances of split '' with split //
...
newer versions of perl don't accept split '' syntax any longer
2013-08-05 15:05:10 -07:00
Matt Simerson
24ad1184ca
SMTP.pm: fixed invalid operator
...
which produced this warning:
Useless use of string eq in void context at lib/Qpsmtpd/SMTP.pm line 639.
2013-08-05 15:05:09 -07:00
Matt Simerson
9a8bc0286c
added missing semicolon
2013-08-05 15:04:51 -07:00
Matt Simerson
01d7c7e228
karma: added adjust_karma method
...
makes it easier to set karma in plugins
2013-08-05 15:04:12 -07:00
Matt Simerson
1bfebd0bfd
TcpServer, improve IPv6 support, by Michael Holzt
2013-08-05 15:02:17 -07:00
Matt Simerson
ce18cf78ae
allow messages with no body: Robin's patch
...
This is Robin's patch from here: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/mail-mta/qpsmtpd/files/qpsmtpd-0.83-accept-empty-email.patch?view=markup
2013-08-05 15:01:53 -07:00
Matt Simerson
9e665ba2b7
added missing semicolon
2013-08-05 15:01:53 -07:00
Matt Simerson
2fc909b809
karma: added adjust_karma method
...
makes it easier to set karma in plugins
2013-08-05 15:01:52 -07:00
Matt Simerson
7a045474f9
Qpsmtpd.pm: bump version
2013-08-05 15:01:51 -07:00
Matt Simerson
96dd90f808
TcpServer: assign default value during declaration
2013-08-05 15:01:50 -07:00
Matt Simerson
6a7598e3bf
SMTP.pm: test if unrec cmd is set (suppress warning)
...
and decrease log message priority in rcpt_response
2013-08-05 15:01:49 -07:00
Matt Simerson
3b9479a497
Transaction.pm: added debugging messages for DESTROY
2013-08-05 15:01:47 -07:00
Matt Simerson
d5ccedd37e
Plugin.pm: more descriptive variable names
...
append optional log_mess to log entry (more description)
subsequent attempts to set naughty don't overwrite the first
set the naughty rejection type to be the reject type of the plugin that marked the connection naughty
get_reject_type can be passed an explicit default
2013-08-05 15:01:47 -07:00