IndiMail (http://www.indimail.org) works with a hacked authvchkpw module to authenticate with courier-imap.
courier-imap no longer supports the vchkpw module. After getting tired of frequently hacking the authvchkpw module to work with new versions of courier-imap, I have finally made the module independent of courier-imap. The new module 'authindi' reads data from file descriptor 3 the way courier-imap expects it's authentication modules to read. It then queries IndiMail's authentication database using 'inlookup' query daemon. If the authentication is successful, it writes an entry in the relay table for relay, lastauth table for audit. It then executes imapd or pop3d executable. If the authentication is unsuccessful, it calls other authentication module in the pipeline. inlookup has the same purpose as that of vpopmail's vpopmaild daemon. But it works on a fifo instead of sockets. The authindi module can easily be hacked to make it work with vpopmail. For those who may be interested you can download the patch at http://downloads.sourceforge.net/indimail/indimail-1.1-rc1.patch.gz The patch is meant for indimail, however you may create an empty indimail-1.0 directory and apply the patch. (ignore the error for Makefile.am) I am currently working on a generic PAM module which will allow any IMAP Server's PAM authentication module to authenticate using 1) a command 2) a pipe 3) any MySQL query I am writing in a way that it will work for both IndiMail and vpopmail and make it possible for any IMAP server to authenticate against vpopmail or IndiMail. I have the partly completed source code for anyone who could volunteer to give some help. !DSPAM:48b141c832316338118711!