Alright, right now is as good a time as any. I'm pretty confident
that the current repository is much much better than any release made
in the past, so I tagged v0.80.
http://smtpd.develooper.com/get.html
The very abbreviated changelog since v0.40 is below.
I'm thinking we should try just releasing a new version every 3
months. If enough changes accumulate before that I'll make a new tag;
but no less than every 3 months.
I cherry-picked a few changes from Hanno's and Jared's repositories
into master after making this tag, so we're well on our way to 0.81
already! :-)
- ask
0.80 - February 27, 2009
moved development to git repository!
reorganized plugin author documentation
added End of headers hook: data_headers_end
added "random error plugin"
improve logging of plugins generating fatal errors (Steve Kemp)
async: added $connection->local_ip, $connection->local_port
async: Fix bug where the body_file/body_filename wouldn't have
headers
lower log level of rcpt/from addresses
prefork: improve shutdown of parent (and children) on very busy
systems (Diego d'Ambra)
prefork: exit codes cleanup (based on patch by Diego d'Ambra)
prefork: detect and reset locked shared memory (based on patch by
Diego d'Ambra)
prefork: untaint the value of the --interface option (reported by
Diego d'Ambra)
prefork: the children pool size was sometimes not adjusted
immediately
after the exit of children (reported by Diego d'Ambra)
async, prefork: detach and daemonize only after reading the
configuration
and loading the plugins, to give the init scripts a chance to detect
failed startups due to broken configuration or plugins (Diego
d'Ambra)
plugins/tls: close the file descriptor for the SSL socket
plugins/queue/maildir: multi user / multi domain support added
set the Return-Path header when queuing into maildir mailboxes
plugins/require_resolvable_fromhost: check all MX hosts, not just
the first
remove outdated virus/check_for_hi_virus plugin
prefork, forkserver: restart on SIGHUP (reload all modules, with
register()
or init() phase).
prefork: add --detach option to daemonize like forkserver
use user/group switching from forkserver to support secondary groups
(needed with plugins/queue/postfix-queue)
--pid-file now works
apache: add post-connection hook, connection->reset
Create async version of dns_whitelist_soft, rhsbl and uribl plugins.
async: added pre- and post-connection hooks
improve handling of inetd/xinetd connections (Hanno Hecker)
Qpsmtpd::Connection->notes are now reset on end of connection
(currently
not in Apache). The workaround plugins/tls for -prefork is no longer
needed now.
keep the square brackets around the IP as "remote_host" if the
reverse lookup failed (Hanno Hecker)
async: Dereference the DATA deny message before sending it to the
client
Change async/require_resolvable_fromhost to match the logic of
the non-async version and other MTAs
async: Handle End-of-data marker split across packets
Allow plugins to use the post-fork hook
Add qpsmtpd-prefork to the install targets (Robin Bowes)
Address definitions are now package vars and can be overriden for
sites that wish to change the definition of an email address.
(Jared Johnson)
http://groups.google.com/group/perl.qpsmtpd/browse_thread/thread/35e3a187d8e75cbe
New config option "spool_perms" to set permissions of spool_dir
(Jared Johnson)
leading/trailing whitespace in config files is ignored (Henry
Baragar)
0.43 - February 5, 2008 - Never offically released; oops.
(This release was mostly done by Matt Sergeant and Hanno Hecker)
Allow qpsmtpd-async to detatch (Chris Lewis).
plugins/tls: work-around for failed connections in -prefork after
STARTTLS connection (Stefan Priebe, Hanno Hecker)
Make the cleanup socket location parameter in the postfix plugin work
(ulr...@topfen.net)
Implement config caching properly (for async).
Hook/plugin caching
Remove the connection / transaction id feature (never released)
Option to clamdscan to scan all messages, even if there are no
attachments
add new clamd_user parameter that sets the user we pass to clamd
async: Support for HUPing the server to clear the cache. Wake-one
child support.
async: Don't listen for readiness in the parent any more - breaks
under high load.
Made user() and host() setters as well as getters in
Qpsmtpd::Address. Suggested by mpel...@gmail.com.
Pluggable "help", based on patch by Jose Luis Martinez.
Updated plugin documentation.
0.42 - October 1, 2007 - Never released
Pluggable hook "noop"
Pluggable hook "help" (based on patch by Jose Luis Martinez)
async: better config caching (of flat files, not results from
hook_config
or .cdb files), send SIGHUP to clear cache
New docs/plugins.pod documentation!
Add X-Spam-Level header in spamassassin plugin (idea from Werner
Fleck)
prefork: support two or more parallel running instances (on different
ports; the first 4 digits of the port number must be different for
each
instance - see IPC::Sharable).
prefork: Fix sporadic bug showing itself after millions of
connections (S. Priebe)
Remove the auth/authnull sample plugin (there are plenty proper
examples now
so we don't have to include this insecure plugin)
POD syntax cleanup (Steve Kemp)
Fix Qpsmtpd::Plugins::isa_plugin() with multiple plugin dirs (Gavin
Carr)
Fix false positives in check_for_hi_virus plugin (Jerry D. Hedden)
Make connection->local_ip available from the Apache transport
(Peter Eisch)
Support checking for early talkers at DATA
Make the documented DENY{,SOFT}_DISCONNECT work in the data-post hook
Allow buffered writes in Postfix plugin (from Joe Schaefer)
Cleanup spamassassin plugin code a little
Fix bug which breaks queue plugins that implement continuations
Fix false positives in check_for_hi_virus plugin (Jerry D. Hedden)
Unrecognized command fix (issue #16)
Updated documentation (Apache 2.2, more)
Add uribl plugin (Devin Carraway)
--
http://develooper.com/ - http://askask.com/