Matt Simerson
a53c692c7b
earlytalker: check connection note for wait length
...
Issue #58
reputation databases can set $connection->notes(earlytalker_wait)
2014-09-12 13:32:08 -07:00
Matt Simerson
2cc57f6db3
Merge pull request #95 from msimerson/helo
...
helo: make NXDOMAIN time out faster
2014-09-12 01:06:21 -07:00
Jared Johnson
cc25532593
Replace warning with slightly better testing
...
Testing LOGWARN was generating a real warning that polluted test output.
Instead, let's catch the warning and test that it actually happens.
2014-09-12 01:23:09 -05:00
Matt Simerson
ca96ddf4eb
added Utils->is_valid_ip, IPv6 ready
...
resolves Issue #82
2014-09-11 13:34:32 -07:00
Matt Simerson
5960cb4d87
helo: make NXDOMAIN time out faster
2014-09-11 11:37:46 -07:00
Jared Johnson
bf2cfcf4e3
Merge pull request #92 from msimerson/master
...
tests for Qpsmtpd/SMTP
2014-09-11 13:18:03 -05:00
Jared Johnson
f15a38dfe3
Merge pull request #94 from msimerson/rpm-version
...
add test to assure RPM VERSION is up-to-date (#80 )
2014-09-11 13:00:25 -05:00
Matt Simerson
847db53e0d
updated fault test in qpsmtpd-smtp.t
2014-09-11 10:53:09 -07:00
Matt Simerson
e7a4ca2b08
update MANIFEST and suppress helo test error
2014-09-11 10:46:29 -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
Matt Simerson
bcacb2778c
add test to assure RPM VERSION is up-to-date ( #80 )
2014-09-11 10:37:56 -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
8f8463e91e
Merge pull request #87 from flimzy/misc-tests
...
Silence misc.t STDOUT by testing for it.
2014-09-11 09:09:48 -07:00
Matt Simerson
04a984bbab
helo: improved invalid_localhost detection
2014-09-10 15:12:52 -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
39c454c95e
helo: added IPv6 support to invalid_localhost
...
and also suppress a test warning
2014-09-10 13:52:56 -07:00
Jonathan Hall
7b3018c660
Remove reference to 'No such file or directory', as there's no guarantee
...
this is what $! will return when this code is called during testing.
2014-09-10 10:15:43 -05:00
Jonathan Hall
11f47cb2ab
Silence misc.t STDOUT by testing for it.
2014-09-10 08:55:17 -05:00
Matt Simerson
c9a780576f
added tests for lib/Qpsmtpd.pm (Issue #67 )
2014-09-08 22:58:27 -07:00
Priyadi Iman Nurcahyo
bef79d3b7d
Fix test for munge_subject_threshold
2014-05-15 14:45:33 +00:00
Matt Simerson
a19b7de787
updated DMARC plugin tests
...
disabled for now, b/c they tested methods which no longer exist in new plugin
2013-12-18 00:09:10 -05:00
Matt Simerson
c652d4c9e4
dmarc test: comments in the public list was
...
allowing certain org domain searches to fail (plus.google.com, b/c a google.com email address was in the public list). Now I anchor the searches to the start of the line. This test also catches edge cases like co.uk, which isn't listed, but a wildcard *.uk is.
2013-08-05 15:05:37 -07:00
Matt Simerson
9c96ae78e4
find . -name '*.t' -exec perltidy -b {} \;
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
fc3117fe60
fix dmarc plugin tests
2013-08-05 15:05:14 -07:00
Matt Simerson
db8ec50c3a
new plugin: dmarc
2013-08-05 15:05:14 -07:00
Matt Simerson
b64bb2f9e4
a collection of DKIM enhancements
...
* disable Mail::DKIM::TextWrap (causes mangled messages for some clients)
* pod improvements
* don't log the entire DKIM signature when signing
* add dkim_pass_domains connection note with DKIM signer domains that pass
* enable dkim tests
2013-08-05 15:05:14 -07:00
Matt Simerson
8b548e392d
test fixes for badmailfrom,headers plugins
2013-08-05 15:05:13 -07:00
Matt Simerson
50973aebf3
moved author tests from t/ to xt/
2013-08-05 15:05:13 -07:00
Matt Simerson
a2bba68af6
several adjustments for tests
2013-08-05 15:05:10 -07:00
Matt Simerson
85cead39f8
SPF: removed test for removed is_in_relayclients()
2013-08-05 15:05:09 -07:00
Matt Simerson
b70f29c008
fixed test for commit 78cab52582
2013-08-05 15:05:09 -07:00
Matt Simerson
af55a8d6dd
SPF: use $conn->relay_client instead of duplicated
...
is_in_relayclients method. Expects relay plugin to have set relay_client, a reasonable assumption.
2013-08-05 15:05:09 -07:00
Matt Simerson
1a7615ca7e
dnsbl test: don't cry about test failures that
...
depend on working network & DNS.
2013-08-05 15:05:09 -07:00
Matt Simerson
8d52a3f548
dnsbl: fixed plugin test failure
2013-08-05 15:05:09 -07:00
Matt Simerson
21ce00cc90
fix relayclient test after commit b8baa4b91b
...
which added example IPv6 IPs to the config file
2013-08-05 15:05:09 -07:00
Matt Simerson
b1c2fa16b5
drop the check_ prefix from the last 3 plugins
2013-08-05 15:01:52 -07:00
Matt Simerson
47151f165b
resolveable_fromhost: updated tests
2013-08-05 15:01:51 -07:00
Matt Simerson
208dfc3a21
rename require_resolvable_fromhost to resolvable_fromhost
2013-08-05 15:01:51 -07:00
Matt Simerson
e4d50a27d9
dnsbl test: remove hook_disconnect test
2013-08-05 15:01:50 -07:00
Matt Simerson
cf9b10a52f
badmailfromto: fixed tests (rename cleanups)
2013-08-05 15:01:50 -07:00
Matt Simerson
f7c5f49946
rcpt_ok: shorten test messages
2013-08-05 15:01:50 -07:00
Matt Simerson
14767f9b18
updated SPF tests
2013-08-05 15:01:50 -07:00
Matt Simerson
b245d30e9e
dnsbl: process DNS queries immediately
...
rather than deferring until RCPT. This greatly improves efficiency, since most connections will get marked naughty much sooner, having run fewer tests.
2013-08-05 15:01:49 -07:00
Matt Simerson
a259fec536
badrcptto: dropped check_ prefix from name
2013-08-05 15:01:49 -07:00
Matt Simerson
5ea1eb0f4c
badrcptto: log tweaks, better regex detection
2013-08-05 15:01:49 -07:00
Matt Simerson
35b9b32895
relay: logging tweak
2013-08-05 15:01:49 -07:00
Matt Simerson
4a3452f486
p0f: POD & log message updates
2013-08-05 15:01:48 -07:00
Matt Simerson
964eab3b2b
dspam: changed to only train on error
...
per suggestions by the dspam author
2013-08-05 15:01:48 -07:00
Matt Simerson
08256232a8
clamdscan: make sure headers exist before operating on them
2013-08-05 15:01:48 -07:00
Matt Simerson
47488650b3
badmailfrom rename fixups
2013-08-05 15:01:48 -07:00
Matt Simerson
7c798e45e6
badmailfrom rename: update test config/plugins
2013-08-05 15:01:48 -07:00
Matt Simerson
1fff417405
rename check_badmailfrom -> badmailfrom
2013-08-05 15:01:48 -07:00
Matt Simerson
e4133127d5
badmailfrom: remove rcpt hook (uses naughty instead)
2013-08-05 15:01:48 -07:00
Matt Simerson
046bc43e8e
t/config: add missing test config files
2013-08-05 15:01:48 -07:00
Matt Simerson
5a424e8940
t/config/plugins: update test plugin list
2013-08-05 15:01:48 -07:00
Matt Simerson
e2c84987f3
helo: refine plugin tests
2013-08-05 15:01:48 -07:00
Matt Simerson
97fda310ee
headers: plugin tests, deprecate check_basicheaders
2013-08-05 15:01:48 -07:00
Matt Simerson
d460dc86e3
spamassassin: add explicit default reject_type
...
consolidate the two data_post methods into one (more linear, simpler)
more informative log message
add new headers to top of headers (not bottom (consistent MTA behavior))
2013-08-05 15:01:48 -07:00
Matt Simerson
eba0a10132
badmailfrom: removed tests for rcpt_handler
...
and shorten test response messages in badmailfromto
2013-08-05 15:01:48 -07:00
Matt Simerson
7ff2d050f3
initial import - based on my qpsmtpd fork
...
which will merge into the main branch fairly easily
2013-08-05 15:01:47 -07:00
Matt Simerson
7d19bc6d5e
restore validate_password test
...
not sure how/why that got removed, but it wasn't intentional
2013-08-05 12:38:39 -07:00
Matt Simerson
b7cb9eaf3d
auth: adding tests (should have attached with a previous commit)
2013-08-05 12:38:38 -07:00
Matt Simerson
4e2ae484a2
Merge pull request #15 from msimerson/early
...
consolidated chunks of code duplicated 4x into log_and_deny and log_and_...
2013-08-05 12:33:42 -07:00
Matt Simerson
fd646b0d27
Merge pull request #29 from msimerson/helo
...
Helo
2013-08-05 12:30:59 -07:00
Matt Simerson
44db1fecf6
helo: loosen up matching DNS requirements
...
added X-HELO header to message
added timeout option
quieted down debug logging
2012-06-13 17:49:25 -04:00
Matt Simerson
74ae957936
helo: new plugin
...
helo - validate a HELO message delivered from a connecting host.
Includes the following tests:
is_in_badhelo
invalid_localhost
is_plain_ip
is_address_literal [N.N.N.N]
is_forged_literal
is_not_fqdn
no_forward_dns
no_reverse_dns
no_matching_dns
2012-06-11 22:27:01 -04:00
Matt Simerson
9c1e62371b
added new t/config directory, with developer tests
...
run when $ENV{QPSMTPD_DEVELOPER} is set
plugins file is same as in config.sample, but with more stuff enabled
2012-06-04 03:34:48 -04:00
Matt Simerson
85982d00f8
restore validate_password test
...
not sure how/why that got removed, but it wasn't intentional
2012-06-04 03:34:47 -04:00
Matt Simerson
9e70da4951
auth: adding tests (should have attached with a previous commit)
2012-06-04 03:34:47 -04:00
Matt Simerson
55b5f34365
auth_vpopmail_sql test, eval 'use DBI' before testing
2012-06-04 03:34:47 -04:00
Matt Simerson
732202ae37
another test tweak, for switching from 192.168 to 192.0
2012-06-04 03:34:47 -04:00
Matt Simerson
8795d4fd6e
relay: use IETF IP testing addresses
2012-06-04 03:34:47 -04:00
Matt Simerson
974f1a95e8
new relay plugin, with tests!
...
replaces functionality of previous 3 relay plugins
2012-06-04 03:34:47 -04:00
Matt Simerson
57a0e4ba7b
updated plugins to use QP::Plugins::is_immune
2012-06-04 03:26:16 -04:00
Matt Simerson
2a371a2c6e
consolidated chunks of code duplicated 4x into log_and_deny and log_and_pass
...
in apr_*_handler subs, return DECLINED when connection is not available to read (like during tests)
added 23 tests
deprecate action argument
'action log' did nothing, better logging controls available with loglevel
'action deny' -> reject 1
'action denysoft' => reject 1 reject_type temp
POD
use head2 for config options (instead of over, item, back)
added loglevel section
updated for replacement of action with reject options
2012-06-04 03:23:14 -04:00
Ask Bjørn Hansen
0e2384cceb
Make all plugins use $self->connection rather than $self->qp->connection
...
Merge remote-tracking branch 'msimerson/connect'
Conflicts:
plugins/async/require_resolvable_fromhost
plugins/require_resolvable_fromhost
2012-06-03 23:53:43 -07:00
Matt Simerson
0a16621f02
connection consistency
...
- $self->qp->connection->notes
+ $self->connection->notes
and all tests pass.
2012-06-02 00:46:33 -04:00
Matt Simerson
2f49cafcd6
resolvable_fromhost: refactored, added: POD, tests, reject, reject_type
2012-05-23 23:39:43 -04:00
Ask Bjørn Hansen
9e239fd83d
Merge pull request #16 from msimerson/geoip
...
Geoip plugin improvements
2012-05-23 15:39:10 -07:00
Matt Simerson
e07488d4f6
hrmm, why didn't Test::Qpsmtpd::Plugin::log work?
2012-05-22 17:41:40 -04:00
Matt Simerson
2dcd34467e
geoip: eval loading of Geo::IP, tests, enabled in config
...
eval Geo::IP and log an error if missing
added 2 tests
enabled in config/plugins
2012-05-22 17:40:02 -04:00
Matt Simerson
521aa4919f
basicheaders, add reject option, loglevel
...
added reject option
document the existence of the loglevel option
factored date validity tests into their own sub
added tests
improved POD
2012-05-21 21:30:02 -04:00
Matt Simerson
9d0c2f8469
dnsbl, POD tweaks, DENY type tests
...
consolidated POD at top of file
added example options to reject_type POD head
added an example loglevel entry
consolidated DENY[SOFT|DISCONNECT] logic into get_reject_type
added tests for get_reject_type
2012-05-21 17:07:37 -04:00
Matt Simerson
51486d0b04
SPF plugin: refactored, tests, new config option
...
added POD description of spfquery note
changed spf_deny -> reject (and offered 4 more options, see POD for reject)
backwards compatible with old config settings
replicates qmail-smtpd SPF patch behavior
improved logging (again)
uses a stringy eval 'use Mail::SPF' in the register sub. If missing, warn and log the error, and don't register any hooks. This is much nicer error than the current, "*** Remote host closed connection unexpectedly." broken mail server that results from enabling the SPF plugin without Mail::SPF installed.
background: I noticed I was deferring valid emails with the SPF plugin at 'spf_deny 1', and without changing the code, there wasn't a way to change how ~all records were handled. This provides that flexibility.
2012-05-21 04:19:45 -04:00
Matt Simerson
e8919beb0d
increment test counter declaration
2012-05-20 23:40:39 -07:00
Matt Simerson
96144a6a16
improve portability of basicheader plugin tests
...
replaced `date` with POSIX qw(strftime);
2012-05-20 23:40:35 -07:00
Matt Simerson
49dc8bc117
basicheaders: added log messages, tests, named args
...
added log messages at each exit point
added tests
added reject_type option (defer -vs- deny)
added named argument parsing
2012-05-20 23:39:54 -07:00
Matt Simerson
f37fba7c2b
badrcptto: merged plugins, refactored, tests
...
merged badrcptto_pattern into badrcptto
refactored into smaller methods
added unit tests for each method
2012-05-20 23:39:38 -07:00
Matt Simerson
e206763428
test hostname before failing the test.
...
Test machine might have qmail installed with another hostname configured.
2012-05-20 23:39:24 -07:00
Matt Simerson
be28372dca
permit tests for async and ident plugins to work
2012-05-20 23:39:20 -07:00
Matt Simerson
19927a117e
spamassassin: added spam status to log messages
...
added additional values to tests, to suppress test warnings
2012-05-20 23:39:03 -07:00
Matt Simerson
c3d1f6b16e
p0f: tests, tests, tests, backward compat
...
minor changes to facilitate testing
improved error reporting of several failures
added p0f v2 compatibility to p0f v3 results: in addition to all the newer values, also report the old ones too.
2012-05-20 23:38:48 -07:00
Matt Simerson
25a099e20b
dspam: added check for autolearn
...
don't try to use autolearn if it's not set
added tests that exercise and exorcise the bug
2012-05-20 23:38:42 -07:00
Matt Simerson
9b8c5a1be4
rcpt_ok: refactored and added tests
2012-05-20 23:37:37 -07:00
Matt Simerson
ae3fe2e4d5
cleanups for Auth::validate_password commit
...
one for testing to work again
and one to remove MD5 dependency in Plugin.pm
2012-05-20 23:37:16 -07:00
Matt Simerson
35e1ce9883
consolidate auth logic into Qpsmtpd::Auth
...
These 3 auth plugins all have a data store they fetch the reference
password or hash from. They then match the attemped password or hash
against the reference. This consolidates the latter portion (validating
the password/hash) into Auth.pm.
* less duplicated code in the plugins.
* Pass validation consistently handled for these 3 plugins.
* less work to create new auth plugins
Also caches the CRAM-MD5 ticket. It could also cache user/pass info if
this was desirable.
2012-05-20 23:37:06 -07:00
Matt Simerson
915b9830dc
greylisting: reset transaction for immunity tests
2012-05-20 23:35:59 -07:00
Matt Simerson
6b9881c32e
greylisting, refactored and many changes
...
fixed the vestiges of old plugin name 'denysoft_greylisting'
added ability to bypass greylisting based on geoip
deprecated 'mode [denysoft | testonly | off]
off wasn't useful
testonly & denysoft replaced by reject [ 0 | 1 ]
renamed DB from denysoft_greylist to greylist.dbm. Will use existing/legacy DB if present.
added DB pruning feature. Automatically prune the DB when qpsmtpd registers the plugin. Perhaps this should be a config option to enable?
added DB upgrade feature. Convert dotted quad IP addresses in DB to integers. Makes greylisting IPv6 compatible, since DB records are colon delimited.
exempt TLS connections from greylisting. The vast majority (perhaps all) of the SMTP clients that request encryption to my server are legit. We could add a config option for this, but this plugin already has a multitude of config options.
refactored much of the greylisting method into discreet subs
added 30 tests
added additional DEBUG level logging for p0f matches
POD changes:
replaced over, item N, back, with head2 (better formatted output)
better describe the current behavior of the plugin (some past behaviors no longer exist)
added TRIPLET section with example
added loglevel section
2012-05-20 23:35:46 -07:00
Matt Simerson
5e76d66c66
count_unrecognized_commands
...
simplified logic in a couple places
consolidated duplicated message
added 4 tests
2012-05-20 23:34:58 -07:00