diff -r 000000000000 -r 6f7a81934006 TODO --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TODO Wed Jan 16 22:39:43 2008 +0100 @@ -0,0 +1,130 @@ +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. + +- 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 + +- Add note to FAQ or HOWTO regarding the two interfaces + +- Fix checkvpw to set MAILDIR before executing postsetuid somehow + +- 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 + +- 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 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, + and executes the actual command. + +RELEASE TARGET 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 + +- Bug fixes and clean-ups, and documentation improvements + +RELEASE TARGET 2.00 + +- Investigate making all virtual users have a directory + +- add a "vadddomain" command that: + - adds a new user to /etc/passwd + - creates the new user directory + - su's to that user and runs vsetup + - fixes the user's home directory permissions + - adds entries to control/virtualdomains + - adds entries to control/rcpthosts + +- dynamic information per mailbox: + - total number of emails and bytes received + - number of emails and bytes currently + - time of first and last messages + - last access time via POP3 + - text file named "data" + - one line per datum, using "key=value" format + +- Write library routines, interfaced through vpwentry, that can + get/set the dynamic data. + +- Modifiy the pop bulletin command to take the bulletin directory on the + command line? + +- Continue to seperate the "misc" library directory into modules. + +- Add a daemon command to list all the configuration for a virtual + domain. + +- document vchattr, vchforwards + +- limit the number of accounts created per virtual domain + +- look into interoperating with sqwebmail http://www.inter7.com/sqwebmail/ + +- look into interoperating with qmailadmin http://www.inter7.com/qmailadmin/ + +- add support for a streaming protocol, such that multiple commands + could be issued per daemon session + +- in all the command-line programs: + - if the environment variable VDOMAIN is set, read the virtual domain + from that variable, prompt for a password, and do a server call + +- In vmailmgrd: + ? 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 + +- miscelaneous + - code clean-ups, including internal documentation +