* 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
This adds a hook_user_config for plugins designed to return per-user
configuration directives. Qpsmtpd::Address::config() triggers a
hook_user_config plugin.
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
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.
so log entries look like this:
86553 (connect) ident::geoip: US, United States
86553 (connect) ident::p0f: Windows 7 or 8
86553 (connect) check_earlytalker: remote host said nothing spontaneous, proceeding
instead of this:
86553 ident::geoip: (connect): US, United States
86553 ident::p0f: (connect) Windows 7 or 8
86553 check_earlytalker: (connect): remote host said nothing spontaneous, proceeding
Conflicts:
plugins/logging/warn
Qpsmtpd::config now checks cache, hooks, qmail_config, default in this
order and returns the first match. In any case the returned value is
stored in the cache, so subsequent calls to Qpsmtpd::config return the
same value (unless the cache is cleared).
I've got many non-standard plugins and for a given
fatal error it is non-trivial to determine which of
them was to blame.
Perhaps this patch would be useful? (Against SVN,
not git, but I think that shouldn't matter too much..)
Steve
--
Stop blog&forum spam
http://blogspam.net/
(always worked on the second call due to the cache, but would return undef on the first call)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@955 958fd67b-6ff1-0310-b445-bb7760255be9
Support case where no connect hook is defined (thus continue_read() never gets called)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@882 958fd67b-6ff1-0310-b445-bb7760255be9