I'm interested in the PHP extensions you have for the current versions of vpopmail.
Since I got more than one response, I'll answer on the list...
I have changed vpopmail_auth_user (which calls vauth_user) so it returns false if the username/password/domain is invalid, or for a good login an array containing the password file information for the current user. The existing function only returns true/false.
I am adding support for the following vpopmail functions:
vset_limits, vdel_limits, (vget_limits is already there) vset_lastauth, vget_lastauth, vget_lastauthip, vget_ip_map, vadd_ip_map, vdel_ip_map, vshow_ip_map, vauth_getpw, vauth_getall, valias_remove valias_select_names
I am adding the following functions to vpopmail (If Tom allows them...) and adding support for them in the extension:
valias_select_names, valias_select_names_next, valias_select_names_end
These functions retrieve just the sorted names of aliases for a domain.
I just got it to compile with no errors for the first time. There are probably a couple of days of testing before I publish the code. I think there is a conflict in the version checking code in config.m4 and the latest version of vpopmail. I just added some #define's and #undefs in the code to bypass it. I believe something better must be done before it is submitted to PECL, but that is not very high on my prioroty list.
I am testing the extension running PHP as an Apache module, with Apache running as vpopmail:vchkpw. I think it should also run from CGI as long as it is run as the vpopmail user. I don't see any way to get around running as the mail system user, and considering how easy it is to setup a separate instance of Apache I don't see any reason to worry about anything else. If you don't agree, now is the time to show me a better way.
Have you also done any work on extensions for ezmlm-idx?
No, and I don't think there is anything that deserves to be in an extension. The vpopmail extension is an adapter to the libvpopmail library. Ezmlm is a program, all you do is select the parameters and exec() the program. That is easier to do in PHP, I can't see any advantage to doing it in a c extension.