enable more plugins for testing purposes
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.
Merge branch 'spf'
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 attempted 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 similar auth plugins

Qpsmtpd::Auth also caches the CRAM-MD5 ticket. It could also cache
user/pass info if this was desirable.
Merge branch 'auth'
dspam bug fix for messages over max size

needs to return DECLINED instead of undef.
enable more plugins for testing purposes
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.
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 attempted 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 similar auth plugins

Qpsmtpd::Auth also caches the CRAM-MD5 ticket. It could also cache
user/pass info if this was desirable.
hosts_allow: added logging, POD, deploy notes

added LOGINFO logging for denials, and LOGDEBUG for other results
added SEE ALSO pod
improved readability
rcpt_ok: refactored and added tests
run: added forkserver section, instructions

added additional instructions
added forkserver startup
segregated local variables
reduced duplicated code
dspam: added check for autolearn

don't try to use autolearn if it's not set
added tests that exercise and exorcise the bug
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.
spamassassin: added spam status to log messages

added additional values to tests, to suppress test warnings
permit tests for async and ident plugins to work
Merge branch 'master' of github.com:msimerson/qpsmtpd into p0f
enable more plugins for testing purposes
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.
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 attempted 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 similar auth plugins

Qpsmtpd::Auth also caches the CRAM-MD5 ticket. It could also cache
user/pass info if this was desirable.