[tpop3d-discuss] tpop3d, version 1.5.1

Chris Lightfoot chris at ex-parrot.com
Wed, 20 Aug 2003 11:15:17 +0100

I have now bowed to the inevitable and released version
1.5.1 of tpop3d.



tpop3d now supports the WHOSON protocol (http://whoson.sourceforge.net/) for
POP-before-SMTP relaying, thanks to Arkadiusz Miskiewicz.

Added support for `mass virtual hosting', where the domain name used for a
connection is based upon the name associated with the address to which a client

Improved the clarity of the documentation slightly. tpop3d now obeys
configure's --sysconfdir option.

Improved the performance of the mailspool parser. Also, tpop3d will now remove
a stale lock files for mailspools.

Added an option to lock maildirs when accessing them, and fixed the maildir
code to cope with cases where a message file is moved or deleted during a

Fixed a problem in the command parsing code which could cause problems with
Eudora's command pipelining; thanks to Shin Zukeran for this fix. Also
incorporated a patch from Jonathan Oddy to fix a pipelining problem with bad

Fixed a minor problem in the PAM code, thanks to Christian Nordmann, and also
added facility to use auth-pam for authenticating users who have no UNIX
account, based on his patch. Added a nasty (but optional) hack to auth-pam to
work around memory leaks in buggy PAM implementations.

Added scripts/tpop3dtraffic, which extracts the identity of the heaviest POP3
users from logfiles.

Added a permit-empty-passwords option, default no, largely to protect LDAP
users who left LDAP anonymous authentication switched on....

The I/O layer was rewritten to use non-blocking I/O throughout. Support for TLS
was added. Connections are now frozen briefly after a failed authentication
using code adapted from a contribution by Yann Grossel, who also contributed
support for MySQL server failover for auth-mysql; a consequence of this is that
MySQL usernames and passwords are no longer cleared from memory by tpop3d.
Also fixed a bug which could cause a crash if there were NULL values in a
database being used by auth-mysql.

Various code tidyings-up.

It is now possible to have tpop3d wait until an onlogin handler has run before
opening and locking a user's mailbox. (Previously these events were not
sequenced in this way.) This makes it possible to use the onlogin handler to
implement POP3 server `bulletins' -- that is, messages which are delivered to
any user who logs in to the POP3 server.

Fixed a nasty bug in the mailspool reading code which could occur when a
mailspool was a multiple of PAGESIZE bytes long. Many thanks to Paul Makepeace
for identifying this problem.

A friend will help you move. A real friend will help you move a body.