diff -r 30113bfbe723 -r b3afb9f1e801 TODO --- a/TODO Sun Jan 20 00:12:17 2008 +0100 +++ b/TODO Sun Jan 20 00:22:09 2008 +0100 @@ -1,80 +1,86 @@ Here are the things that I have left to complete (roughly in order of -personal preference). The lines marked "RELEASE TARGET" are the point -of development that I hope to reach before I make another release. Some -of the other items after the last "RELEASE TARGET" may make it into a -release if I feel like it. I want short and easy to define goals so I -can keep the development periods shorter. +personal preference). I have seperated it into a series of release +targets in order to have short quantitative goals for making new +releases. +------------------------------------------------------------------------------- +FOR VERSION 0.97: + +- Revert vdomain::lookup back to the single-argument case, and yank the + dead code. + +- Add tests for: + - proper handling of creating paths with a trailing '/' + - authvmailmgr + - execution of presetuid and postsetuid hooks in authvmailmgr + - daemon "stat" command + - daemon adduser3 command + - vupgrade command + - exit 99 from vdeliver-predeliver causes delivery to be skipped + +- Add note to FAQ or HOWTO regarding the two web interfaces + +- Add more complete tests to verify correct operation of "vaddusers" + command. +------------------------------------------------------------------------------- +FOR VERSION 0.97.1: + +- Add a "vrenuser" tool. + +- Make vcheckquota and daemon stat handle folders. + +- Always "touch" $VUSER/cur on successful authentication, to provide for + a "last login time". + +- Expand the record format to include a "last modified" field, and to + change the flag values from binary 0/1 to ASCII. - Add note to FAQ regarding PHP error code 255 meaning the daemon is not running properly (once it's been confirmed). -- Add tests for: - - authvmailmgr - - execution of presetuid and postsetuid hooks in authvmailmgr +- Fix checkvpw to set MAILDIR before executing postsetuid somehow -- Add note to FAQ or HOWTO regarding the two interfaces +- Make quota check program check all directories. -- Fix checkvpw to set MAILDIR before executing postsetuid somehow +- Add Courier IMAP support to the bulletin facility - Convert existing TeXinfo documentation to SGML -- Add a mailbox size daemon command - -- Expand the record format to include a "last modified" field, and to - change the flag values from binary 0/1 to ASCII. - -- Add the necessary code for NDBM, MySQL, and PostgreSQL password tables. - -- Add more complete tests to verify correct operation of "vaddusers" - command. - -- Add Courier IMAP support to the bulletin facility +- Make vrehash take the bits and slices values as command-line + parameters. +------------------------------------------------------------------------------- +FOR VERSION 0.98: -- Add support to the vpwtable template that allows writing a batch of - users in a more efficient manner - - start writing (locks the table for other writes, enter nosync mode) - - append record (check for prior existance of record, add it) - - stop writing (sync data and unlock the table) - -- Use the above to support a more efficient version of: - - vpasswd2db - - vrehash - -- Figure out how to make vdeliver write to both the output file and the - queue simultaneously, to avoid needing to do rewinds. - -RELEASE TARGET 0.97 +- Make the TCP daemon the default usage, and drop the unixserver + requirement. - Make the daemon commands stand-alone modules, using the revised daemon communication protocol. The daemon then just forks, reads in the command name, validates it, and hands off to an authentication module. - The authentication module checks for a custom authentication type - based on the command name, does authentication, does setuid,chdir, + based on the command name, does authentication, does setuid, chdir, and executes the actual command. - -RELEASE TARGET 1.00 +------------------------------------------------------------------------------- +FOR VERSION 1.00: -- Set up the necessary structures to completely seperate the virtual - domain information and the real user information, such that each user - can have a list of virtual domains assigned to it. This structure - will specify: - - a domain prefix - - a directory - In this way, the virtualdomains will contain: - domain.org:username-prefix - And the domain listing with list - prefix:subdirectory - Each domain will have a completely independant user directory and - password table. - -RELEASE TARGET 1.XX +- Make vdeliver write to both the output file and the queue + simultaneously, to avoid needing to do rewinds: + - make pipe + - open tmp maildir file + - fork (child exec's qmail-queue) + - read data from stdin + - write data to file and pipe + - if write to pipe fails, delete maildir tmp file and fail + - if write to file fails, close pipe and fail + - write envelope to qmail-queue + - catch exit from qmail-queue + - close & sync maildir tmp file +------------------------------------------------------------------------------- +AFTER VERSION 1.00: - Bug fixes and clean-ups, and documentation improvements -RELEASE TARGET 2.00 - -- Investigate making all virtual users have a directory +- Add the necessary code for *DBM, MySQL, and PostgreSQL password tables. - add a "vadddomain" command that: - adds a new user to /etc/passwd @@ -122,8 +128,8 @@ ? add support for PAM for non-virtual users (this may be difficult, requiring a change in the authentication model) -- documentation - - write a "getting started" guide +- Develop support for HMAC passcodes, in order to support CRAM-MD5 + authentication, as per RFCs 2195 and 2104. - miscelaneous - code clean-ups, including internal documentation