Andrew Richards
• The Free Stuff!


On this page: • Introduction   • Status/Warranty   • Download   • Installation   • To do   • Troubleshooting   • Archives


This is a replacement for checkpassword that authenticates via Courier - an IMAP implementation (also MTA) sometimes bolted onto qmail. Courier offers a number of authentication methods including LDAP and MySQL, so this version of checkpassword is effectively a kludge to give you a way of authenticating via these methods (Courier is huge, so this definately is a kludge if you choose to install Courier just for authentication...). Courier must be installed for this program to work.

This program is based on the checkpassword system devised by Dan Bernstein, commonly used in qmail installations - see http://cr.yp.to/checkpwd.html for further details. It is written in C.

For multi-domain installations, you may like to know that this implementation is able to handle the "@" symbol in a username (for the scenario where you wish to have unique users fred@domain1 and fred@domain2).

Note that since writing this program, I've found another program by Andrew St. Jean that can provide similar functionality: It's called courierpasswd; I haven't tried this and can't vouch for it in any way, but you may like to compare both programs - I'd appreciate if if you let me know how you get on.

Status / Warranty

No warranty, express or implied is given - USE THIS SOFTWARE ENTIRELY AT YOUR OWN RISK. You will need to satisfy yourself as to the suitability of this software before deploying it in a production environment.


The current release is version 0.10 - download it here as a gzipped tar archive (I'll put up other formats on request).


Installation details for the program are included in the distribution - see the README file. If you're wondering what platforms this program is known to work on, here's the list (if you get this program working on other systems, please let me know - reach me at courcpw-compat@acrconsulting.co.uk so that I can update this page - also let me know if any modifications were necessary).

To do

Matt Dainty picked up a bug in version 0.10: The program blanks out the password after authentication (really a feature for security rather than a bug), which means that if you use multiple authentication methods, only the first method will be supplied with the username/password. I'll do a proper fix soon, but in the meantime if you're using multiple authentication methods, contact me and I'll let you know what needs changing (it's easy!). UPDATE: I'm not sure if I've correctly identified the problem, so if you're using multiple authentication methods, you may have a problem. Please still contact me though and I'll let you know what's to be changed.


If you have problems with this software, you may like to go through the following checklist,


Currently there are no earlier versions of this program.

This page last updated: AR, 6th February 2008.

This gratuitous space at the end ensures that the short-cuts to each section work properly